GĂ„ til innhold
  • Bli medlem
StĂžtt hjemmeautomasjon! đŸ„‡đŸ„ˆđŸ„‰

Anbefalte innlegg

Skrevet

Jeg gjorde nylig en liten endring i et av javascriptene i en funksjonsblokk og plutselig en gang i dÞgnet eller sÄ (ikke bundet til noe fast klokkeslett) gÄr variabelen "kWh_acc += 0.01;" helt bananas. Endret fra "kWh_acc = kWh_acc + 0.01;" og gjorde endringen for Ä strÞmlinjeforme scriptet litt. Opprinnelig funksjon har virket helt supert i et Är mens den nye versjonen feiler ca en gang i dÞgnet. Scriptet kjÞrer ca hvert 2. sekund men selve inkrementeringen skjer bare pÄ visse betingelser.

 

I noderedguide.com stÄr fÞlgende Ä lese:

Sitat

Basic Operators

The built-in numerical operators include the usual: + (addition), – (subtraction), / (division), * (multiplication) and % (modulo).

Listing 5.3 numerical operations in JavaScript

  1. var a = 6;
  2. a = a + 1; // a is 7
  3. b = b % 2; // b is 3
  4. a++; // a is 8
  5. a–; //a is 7
  6. a += 3; // a is 10

...sÄ += operatÞren er gyldig.

 

kWh_acc skrives til kun i 1 funksjonsblokk og verdier som skrives er enten "0" eller "+= 0.01" men likevel blir verdien plutselig f.eks 3870.24000003805. Normalt skal alltid verdien vĂŠre typisk under 5.

 

Noen gode programerere her (ja, jeg vet der er noen...) som har en plausibel teori?

Skrevet

Merksnodige greier... Endret tilbake til "kWh_acc = kWh_acc + 0.01" og det feiler i ny og ne likevel. HĂžyeste verdien jeg har sett er omlag 207132.10569 og den Ăžkningen skjer i lĂžpet av EN gjennomkjĂžring...

 

d=new Date();
var kWh_part = context.get("kWh_part");
var prev_hour =context.get("prev_hour");
var previous_time =context.get("prevtime");
var prev_h_ts =context.get("prev_h_ts");

var kWh_acc =flow.get("kWh_acc");
var kWh_accGet = kWh_acc;	// For DEBUG, lagre lest verdi i annen variabel i tillegg for evt bruk senere

var value=Number(msg.payload);
var d=new Date();
var hours=d.getHours(); //the hour (0-23)
var timeest = 0;
var kWh_est = 0;
var kWh_prev_h = 0;

// Finn antall mS siden forrige melding ble mottatt
var end_time=d.getTime();
var difference=end_time-previous_time;
previous_time=end_time;

//Akkumuler mÄleverdi hver gang den dukker opp
kWh_part += (value * difference);
//node.warn("W x diff: " + (value * difference));

while (kWh_part > 36000000){            // Midlertidig variabel inneholder mer enn 0.01 kWh
                                        //ms til H, W til kW, 2 desimaler 1000*60*60*1000/100 = 36000000
    kWh_acc = kWh_acc + 0.01;                    //inkrementer akkumulert verdi
    kWh_part = kWh_part - 36000000;     //...og trekk fra samme verdi i kWh_part
    node.warn("kWh_acc inc: " + kWh_acc);
}

// DEBUG
if (kWh_acc > 10 || prev_hour != hours){
    node.warn("kWh_accGet:" + kWh_accGet);
    node.warn("kWh_acc:" + kWh_acc);
    node.warn("kWh_part:" + kWh_part);
    node.warn("prev_hour:" + prev_hour);
    node.warn("previous_time:" + previous_time);
    node.warn("prev_h_ts:" + prev_h_ts);
    node.warn("value:" + value);
    node.warn("hours:" + hours);
    node.warn("difference:" + difference);
    
}

// Ta vare pÄ siste akkumulerte timeverdi og nullstill
if (prev_hour != hours){
    kWh_prev_h = kWh_acc;
    kWh_acc = 0;
    prev_h_ts = d.getTime(); //Tidspunkt for start estimering
    prev_hour = hours;
    flow.set("kWh_prev_h", kWh_prev_h);
    }

//Estimer total for denne time
if (kWh_acc >= 0.00){    //*****Vent litt hver time for Ă„ finne nyttige data Ă„ jobbe med
    timeest = d.getTime() - prev_h_ts;
    kWh_est = (kWh_acc/timeest) * (60*60*1000)
    }
else
    {
        kWh_est = kWh_prev_h;
    }

if (kWh_acc > 20){
    kWh_acc = kWh_accGet;
    node.warn("kWh_acc > 20, automatisk satt til kWh_accGet (sikkerhetsfunksjon)"+kWh_accGet);
} 

context.set("kWh_part",kWh_part);
context.set("prevtime", previous_time);
context.set("prev_hour", prev_hour);
context.set("timeest", timeest);
context.set("prev_h_ts", prev_h_ts);

flow.set("kWh_acc",kWh_acc);
flow.set("kWh_est", kWh_est);

return;

 

Har laget et par debug funksjoner, en som dumper alle aktuelle variabler til logg ved feil og en gang i timen "if (kWh_acc > 10 || prev_hour != hours){" og en annen som "sletter" katastrofen og gjĂžr at ting og tang fortsetter "if (kWh_acc > 20){"

Skrevet

Feilrettingsrutinen gjÞr jobben men jeg merker meg at der er et tidspunkt som gÄr igjen, 1m10s over heltimen:

image.thumb.png.cbce5bfa00dd28479194d90ccf2c0118.png

 

SkjĂžnner likevel ikke hva som skjer...

Skrevet

Vet du hvor mange ganger den gÄr gjennom slÞyfen? Hva om kwh_part er "unsigned int" og nÄr du trekker fra 36000000 sÄ kan kwh_part ende opp med Ä fÄ en veldig stor verdi. Kanskje.

Men hvorfor har du en slĂžyfe der i det hele tatt? Kan du ikke bare regne ut kwh_acc og kwh_part?

Skrevet
stigvi skrev (1 minutt siden):

Men hvorfor har du en slĂžyfe der i det hele tatt? Kan du ikke bare regne ut kwh_acc og kwh_part?

Jeg hadde ikke slĂžyfe der i utgangspunktet men mistenkte at kWh_part noen ganger var stĂžrre enn 36000000, normalt skal den ikke kunne bli det. Det er nok bare de gangene scriptet feiler...

 

Vet egentlig ikke hvilken type variabel det er men har sjekket at den i alle fall kan inneholde 100 ganger 36000000.

Skrevet
SveinHa skrev (Akkurat nÄ):

Jeg hadde ikke slĂžyfe der i utgangspunktet men mistenkte at kWh_part noen ganger var stĂžrre enn 36000000, normalt skal den ikke kunne bli det. Det er nok bare de gangene scriptet feiler...

 

Vet egentlig ikke hvilken type variabel det er men har sjekket at den i alle fall kan inneholde 100 ganger 36000000.

Det vesentlig er om den er unsigned. Da feiler det hvis du gjĂžr 23000000 - 36000000

Skrevet (endret)
stigvi skrev (11 minutter siden):

Det vesentlig er om den er unsigned

Sjekker, takker og bukker for tips.

 

Edit:

Et slikt script:

var a = 23000000;
var b = 36000000;
node.warn(a);
node.warn(b);
node.warn(a-b);

resulterer i:

image.png.323d9e1add3f38955fa455c1e112175d.png

Endret av SveinHa
Skrevet

Men her er det context.get("kWh_part") sin returverdi som bestemmer datatypen. 

Javascript har noen merkelig funksjonalitet ang datatyper og jeg er pÄ gyngende grunn her. Kjenner ikke javascript godt nok. Men her mÄ du se pÄ sannsynlige Ärsaker. Javascript roter ikke med noe sÄ enkelt som kWh_acc = kWh_acc + 0.01; Det nekter jeg Ä tro pÄ.

  • Like 1
Skrevet

La inn:

node.warn(kWh_part)
node.warn(kWh_part - 45000000)

helt i slutten av scriptet og resultatet er:

image.png.fc012ebe9c1a1e3027bfc28bfc6d0c7e.png

 

Blir ikke stort klokere...

 

Men den automatiske feilrettingen gjÞr jobben, har ikke fÄtt noen katastrofer siden jeg la inn den og eneste ulempen, bortsett at det er Ä rette feil feil, er at jeg mister 2 sekund energidata en gang og 2 i dÞgnet og det er uvesentlig.

Skrevet

node.warn(kWh_part - 45000000)

Dette setter jo ikke kWh_part til en ny verdi og du vil derfor ikke se hva som skjer. Her setter du en parameter til funksjonen warn og den har nok en annen datatype enn det kWh_part har. Ta heller Ă„ skriv ut kWh_part i koden din og se hva det er der.

Eller sett kWh_part til en int32 og se om feilen forsvinner

Skrevet
stigvi skrev (7 minutter siden):

Eller sett kWh_part til en int32 og se om feilen forsvinner

Vet ikke om jeg kan gjĂžre det. Har lett litt etter variabeltyper uten Ă„ finne noe...

 

Ny variant:

node.warn(kWh_part);
kWh_part = kWh_part - 45000000;
node.warn(kWh_part);

Samme resultat:

image.png.51cd0605b1e169d6939ab9623b9bca87.png

 

  • 10 mĂ„neder senere...
Skrevet

Denne her har gÄtt litt i glemmeboken for jeg har laget en quick-and-dirty fix som ignorerer operasjonen nÄr den feiler. I dag oppdaget jeg plutselig at data fra AMS-mÄleren ga noen hinsides feil verdier, det som skulle vÊre aktuelt forbruk (som da skulle vÊre mellom 0.0 og 0.1kW) var et tall pÄ noen titalls siffer. Gikk inn i loggen og fant at fixen min hadde slÄtt til akkurat da... Jeg har sett de merkelige tallene noen ganger tidligere men ikke koblet de til denne funksjonen... Da har jeg noe helt konkret Ä lete etter, fortsettelse fÞlger...

Skrevet

Eg og kan huske at eg fekk av og til noen feile verdier fra AMS mĂ„leren sĂ„ eg la inn denne pĂ„ forbruket 🙂
Satt aldri opp noe log pÄ output2 sÄ kan ikkje svare pÄ hvor ofte det skjer da...

image.png.c4426d2700eb21c539789aacdc67f5df.png

  • Like 1
Skrevet

Da fikk jeg allerede fanget opp en:

image.png.9e548dfeb2fdadb84ec3ae5c9488dd2d.png

...og den ble filtrert ut slik at quick-and-dirty fixen min ikke trĂ„dte i kraft  😁

 

Skrevet

Bra det 🙂

Har satt opp logging pÄ min og men har byttet fra Pulse til POW-U ams leser, den har eg ikkje hatt noe problemer med, den gamle Pulsen (v1) fra Tibber mÄtte eg restarte flere ganger i veka...

  • 2 uker senere...
Skrevet
hflatoey skrev (PĂ„ 8.11.2023 den 20.27):

har byttet fra Pulse til POW-U ams leser

Oppdaget i natt at Tibber Pulse ikke bare gir jevnlige feilmeldinger men ogsÄ har lengre perioder der den ikke sender data i det hele tatt og det forklarer hvorfor jeg enkelte ganger overskrider 5 kWh grensen, PID-regulatoren fÄr ikke data Ä jobbe med og klarer da ikke Ä gjÞre jobben sin... Forrige mnd havnet jeg pÄ snitt topp 3 pÄ 5.01 kWh og denne mnd fikk jeg 1 time pÄ 5.29 som pr i dag gir et topp 3 snitt pÄ 4.97 kWh... Pow-U bestilt...

Skrevet

Eg har enda ikkje logget nokon feilmeldinger pĂ„ min Pow-U 🙂

Her er det forskjellige variablene fra pow-u mqtt, du finne det selvfĂžlgelig pĂ„ siden deres men kan spare deg for nokon minutter 🙂

 

[
    {
        "id": "6ccae45488a512f5",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "obis_list_version",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.lv",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 640,
        "y": 5830,
        "wires": [
            []
        ]
    },
    {
        "id": "a7a5a1e9bbb5f9ee",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "meter_ID",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.id",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 610,
        "y": 5870,
        "wires": [
            []
        ]
    },
    {
        "id": "644e5c9b35933f7a",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "meter_model",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.type",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 620,
        "y": 5910,
        "wires": [
            []
        ]
    },
    {
        "id": "a5e9e9299133ba6f",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "active_import",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.P",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 620,
        "y": 5950,
        "wires": [
            []
        ]
    },
    {
        "id": "7bc00ccd14c3a1b4",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "active-export",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.PO",
                "tot": "msg"
            },
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "power_negative",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 620,
        "y": 5990,
        "wires": [
            []
        ]
    },
    {
        "id": "d12ed57ee18ea3f6",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "react_pow_pos",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.Q",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 630,
        "y": 6030,
        "wires": [
            []
        ]
    },
    {
        "id": "a00bb2e453d570e6",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "react_pow_neg",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.QO",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 630,
        "y": 6070,
        "wires": [
            []
        ]
    },
    {
        "id": "508002709318ff6b",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "curr_I1",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.I1",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 610,
        "y": 6110,
        "wires": [
            []
        ]
    },
    {
        "id": "7af48b1247ada151",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "curr_I2",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.I2",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 610,
        "y": 6150,
        "wires": [
            []
        ]
    },
    {
        "id": "7aa5e29086298785",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "curr_I3",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.I3",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 610,
        "y": 6190,
        "wires": [
            []
        ]
    },
    {
        "id": "71ddc234246f06f0",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "volt_U1",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.U1",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 610,
        "y": 6230,
        "wires": [
            []
        ]
    },
    {
        "id": "5c9b85344e1879c6",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "volt_U2",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.U2",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 610,
        "y": 6270,
        "wires": [
            []
        ]
    },
    {
        "id": "e5fd43b38afcea82",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "volt_U3",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.U3",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 610,
        "y": 6310,
        "wires": [
            []
        ]
    },
    {
        "id": "5b30d545dfffc308",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "date_time",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.t",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 610,
        "y": 6350,
        "wires": [
            []
        ]
    },
    {
        "id": "bf0ac4623924b3a1",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "act_energy_pos",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.tPI",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 630,
        "y": 6390,
        "wires": [
            []
        ]
    },
    {
        "id": "e5b4eea0966368ae",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "act_energy_neg",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.tPO",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 630,
        "y": 6430,
        "wires": [
            []
        ]
    },
    {
        "id": "a593d868c2942819",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "react_energy_pos",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.tQI",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 640,
        "y": 6470,
        "wires": [
            []
        ]
    },
    {
        "id": "3b779dbe7c0bbec8",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "react_energy_neg",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.data.tQO",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 640,
        "y": 6510,
        "wires": [
            []
        ]
    },
    {
        "id": "f98b54ec89d424c6",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "power_export_today",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.realtime.de",
                "tot": "msg"
            },
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "power_export_today_kWh",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 650,
        "y": 6550,
        "wires": [
            []
        ]
    },
    {
        "id": "ab727fe1b6875496",
        "type": "change",
        "z": "8772153e519ddf77",
        "name": "power_import_today",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.realtime.d",
                "tot": "msg"
            },
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "power_import_today_kWh",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 650,
        "y": 6590,
        "wires": [
            []
        ]
    },
    {
        "id": "17fce8e6fa731798",
        "type": "junction",
        "z": "8772153e519ddf77",
        "x": 470,
        "y": 5830,
        "wires": [
            [
                "508002709318ff6b",
                "7af48b1247ada151",
                "7aa5e29086298785",
                "71ddc234246f06f0",
                "5c9b85344e1879c6",
                "e5fd43b38afcea82",
                "5b30d545dfffc308",
                "a5e9e9299133ba6f",
                "7bc00ccd14c3a1b4",
                "d12ed57ee18ea3f6",
                "a00bb2e453d570e6",
                "644e5c9b35933f7a",
                "a7a5a1e9bbb5f9ee",
                "6ccae45488a512f5",
                "bf0ac4623924b3a1",
                "e5b4eea0966368ae",
                "a593d868c2942819",
                "3b779dbe7c0bbec8",
                "f98b54ec89d424c6",
                "ab727fe1b6875496"
            ]
        ]
    }
]

 

  • Like 1
  • 2 uker senere...
Skrevet

Da har Tibber Pulse blitt erstattet av en Pow-U. Fikk ikke kontakt med mÄleren med en gang men mail til leverandÞren lÞste det kjapt med en mod av flatkabelen (klipp av 6 av de 8 lederene i kabelen).

 

MÄtte lage en dekoder for Ä plukke ut det jeg hadde bruk for (og litt til...). Alle variabler lagres i context sÄ en lett ser hva som mottas og meldingene som sendes ut fra parser har variabelnavn som topic og verdi som payload.

image.png.fbb4f75959037666600bc30c87de8f1f.png

[{"id":"65ea1e7bb98daffa","type":"mqtt in","z":"d49bfe3335c3f7c9","g":"dbfdc3187c26119e","name":"","topic":"AMS2444","qos":"2","datatype":"json","broker":"6db118ed1b0c56de","nl":false,"rap":true,"rh":0,"inputs":0,"x":510,"y":230,"wires":[["f397b4d289507a40"]]},{"id":"e1079fb657039456","type":"switch","z":"d49bfe3335c3f7c9","g":"dbfdc3187c26119e","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"lv","vt":"str"},{"t":"eq","v":"id","vt":"str"},{"t":"eq","v":"type","vt":"str"},{"t":"eq","v":"P","vt":"str"},{"t":"eq","v":"PO","vt":"str"},{"t":"eq","v":"Q","vt":"str"},{"t":"eq","v":"QO","vt":"str"},{"t":"eq","v":"I1","vt":"str"},{"t":"eq","v":"I2","vt":"str"},{"t":"eq","v":"I3","vt":"str"},{"t":"eq","v":"U1","vt":"str"},{"t":"eq","v":"U2","vt":"str"},{"t":"eq","v":"U3","vt":"str"},{"t":"eq","v":"t","vt":"str"},{"t":"eq","v":"tPI","vt":"str"},{"t":"eq","v":"tPO","vt":"str"},{"t":"eq","v":"tQI","vt":"str"},{"t":"eq","v":"tQO","vt":"str"},{"t":"eq","v":"de","vt":"str"},{"t":"eq","v":"d","vt":"str"}],"checkall":"true","repair":false,"outputs":20,"x":710,"y":290,"wires":[["28da6720644d498d"],["77bb37dba05492c8"],["02e52739b1778564"],["601ad97359338ee8","0d448e2eda93e3f5"],["cb5c07e95696c22f"],["f478071c8e5cb5f8"],["6415c3d212573f40"],["e17a590eaf38c069"],["ab769ab7a73d2f1b"],["b92108f128318400"],["c7bd2bc1e2d979ec"],["a068057361d32681"],["9fa94094cca4661e"],["e00a5ecf722b1935"],["306b9dbcfdc44198","d73316cd8666bfbe"],["88bb36685a27ac4e","53099fc91fe8e897"],["bc3892361a9d5c08"],["cfd7fc377135778d"],["d45b7fff6ee76fa5"],["dc19fb1fcb2b42d0"]]},{"id":"f397b4d289507a40","type":"function","z":"d49bfe3335c3f7c9","g":"dbfdc3187c26119e","name":"Pow-U AMS parser","func":"var tmp = msg.payload.data;\nvar msg2 = {}\nvar index = 0;\nfor (const key in tmp) {\n  if (tmp.hasOwnProperty(key)) {\n        //node.warn(`Index: ${index}, ${key}: ${tmp[key]}`);\n        msg2.topic = key;\n        msg2.payload = tmp[key];\n        context.set(msg2.topic,msg2.payload);\n        node.send(msg2);\n        index++;\n    }\n}\ntmp = msg.payload;\nindex = 0;\nfor (const key in tmp) {\n  if (tmp.hasOwnProperty(key)) {\n        //node.warn(`Index: ${index}, ${key}: ${tmp[key]}`);\n        msg2.topic = key;\n        msg2.payload = tmp[key];\n        context.set(msg2.topic,msg2.payload);\n        node.send(msg2);\n        index++;\n    }\n}\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":290,"wires":[["e1079fb657039456"]]},{"id":"6db118ed1b0c56de","type":"mqtt-broker","name":"DaleMQTT","broker":"172.16.0.94","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"5","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]

 

En mer kompakt liste over variabler enn den som @hflatoey postet:

Sitat

obis_list_version: lv
meter_ID: id
meter_model: type
active_import: P
active-export: PO
react_pow_pos: Q
react_pow_neg: QO
curr_I1: I1
curr_I2: I2
curr_I3: I3
volt_U1: U1
volt_U2: U2
volt_U3: U3
date_time: t
act_energy_pos: tPI
act_energy_neg: tPO
react_energy_pos: tQI
react_energy_neg: tQO
power_export_today: de
power_import_today: d

Ser ut til Ä funke supert sÄ langt.

Bli med i samtalen

Du kan publisere innhold nÄ og registrere deg senere. Hvis du har en konto, logg inn nÄ for Ä poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn pĂ„ siden automatisk.   Vis som en ordinĂŠr lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   TĂžm tekstverktĂžy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies pÄ din enhet for Ä gjÞre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.