...oder auch an die, die nur einen Fatz mehr Ahnung haben als ich - und das sollten schon recht viele sein ;-)
Es geht um das Auslesen eines Registers eines Wechselrichters und die Umwandlung des Wertes in eine Variable für FHEM (ich hoffe ich beschreibe das richtig)
Die Doku der Wechselrichters/des Protokolls sagt:
Battery_1_Max_Discharge_Continues_Power
Adresse: E146 (F546), Länge: 2, Typ: Float32
Im Modul von pejonp (https://github.com/pejonp/FHEM---SolarEdge) wird dieser Wert in den folgenden 5 Zeilen ausgelesen:
Line 573-577:
"h57670" => { # E146 (F546) 2R Battery 1 Max Discharge Continues Power Float32 W
'len' => '2',
'reading' => 'Battery_1_Max_Discharge_Continues_Power_W',
'unpack' => 'L>',
},
sollte für diesen Parameter entweder 5000 oder 7000 (Specs des Batterie) lesen - es kommen aber für
'unpack' => 'L>': 1073759644
'unpack' => 'f>': 2.00424861907959
ohne unpack: 16384
heraus.
Kommt jemand auf den Fehler?
Danke im Voraus!
BJ
offenbar sollten folgende drei Operationen den Wert richtig auslesen:
unpack "f<", pack "vv", unpack "nn",
wie würde man dies im code-Beispiel oben abbilden?