Hi Tanya,
hab mir das jetzt nochmal angeschaut.
Die Readings stimmen genau mit den Werten überein, die ich aus deinen Daten herausbekommen:
zB Daten für reading "total_feed":
77 07 01 00 02 08 00 FF -> 62A2 01 621E 52FF 5513F00BEB 01
Leerschritte und "->" habe ich mal eingefügt.
Übersetzt lt. OBIS-Standard heisst das:
77 -> Start eines Eintrags
07 -> (T/L-Feld) Länge 7 Bytes ( =dieses und 6 folgende)
01 00 02 08 00 FF -> Die Obis-Adresse (=1-0:2.8.0*255)
Dann kommt zuerst ein Status-Byte:
62 -> (T/L-Feld) Typ unsigned, Länge 2 Bytes ( =dieses und 1 folgendes)
A2 -> Richtung ("in" oder "out")
Dann kommt ein "Time"-field, das nicht benutzt wird:
01 -> (T/L-Feld) Typ String, Länge 1 Bytes ( =dieses und KEIN folgendes)
Dann kommt die Einheit:
62 -> (T/L-Feld) Typ unsigned, Länge 2 Bytes ( =dieses und 1 folgendes)
1E -> Watt-Stunden
Dann kommt der Scaler, der wird später mit dem Wert multipliziert
52 -> (T/L-Feld) Typ signed Integer, Länge 2 Bytes ( =dieses und 1 folgendes)
FF -> gibt -1, also Richtung "out"
Oh, da hatte ich noch nen Fehler bei der Berechnung vom Scaler, Komma war um eine Stele verschoben.
Jetzt fehlt nur noch der Wert:
55 -> (T/L-Feld) Typ signed Int32, Länge 5 Bytes ( =dieses und 4 folgendes)
13F00BEB -> ergibt umgerechnet 334498795
01 -> Kennzeichnet das Ende des Frames.
334498795 * Scaler von vorhin (255 = -1) gibt dann -334498795 Wh
Der Wert würde soweit also stimmen, wenn ich nicht nen krassen Denkfehler irgendwo habe, oder?
lg, Stefan