Hallo zusammen,
ich frage die Wirkleistung meines SmartMeters ab, dabei kommt es zu negativen Wirkleistungen:
Leider wird dies nicht im Webfront dargestellt:
Die Variable ist eine Float-Variable!
Hat jemand eine Idee warum das so ist? Bug?
Danke
spooniester
1007
2
Bei mir nicht , Anzeige ist richtig.
Wie sieht den dein Profil fuer die Variable aus ?
Hi,
normal, würde ich sagen:
Komisch, hab keine ahnung was da falsch läuft:confused:
1007
4
Konnte das eben nachstellen.
Wenn ich folgendes ausfuehren hab ich das selbe Ergebniss.
$val = 4294966619;
SetValueFloat(47297,$val);
Wie wird bei dir den die Variable beschrieben?
Ich extrahiere das aus dem SML Protokol:
SetValueFloat(54072 /*[Test\Stromzähler\aktuelle Wirkleistung]*/ ,(hexdec(substr(bin2hex($IPS_VALUE), 596, -196))));
Hier noch ein Screenshot der Hex-Werte:
1007
6
Das vorderste Bit gibt an ob Minus
Auf die Schnelle wuerde ich folgendes machen:
$id = 36908;
$val = hexdec('FFFFFDF0');
if ( $val > hexdec('7FFFFFFF') )
$val = $val - hexdec('100000000');
SetValueFloat($id,$val);
1007
7
Oder statt der Float-Variable eine Integer nehmen.
Manchmal ist die Lösung zu einfach
Danke 1007!