Hallo miteinander,
bei der Auswertung der Werte meiner Wärmepumpe kämpfe ich im Moment mit der Umrechung eines 4Byte-Wertes. Bspw. wird die Laufzeit des Kältekreises als 4Byte-Wert geliefert. In der ETS sieht das so aus:
Dieser Wert muss für die tatsächliche Laufzeit noch durch 3600 dividiert werden, das ist aber erstmal gar nicht das Problem. Wenn ich diesen 4Byte-Wert in openHAB auslese und mir direkt ins Log schreiben lasse, dann ist dieser viel zu klein:
Wenn ich den Wert von 2191.36 durch 3600 dividiere, dann kommen da 0,6h heraus und das kann definitiv nicht stimmen. ;-)
Konkret sieht meine Rule wie folgt aus:
Mit anderen Umrechnungen (2Byte-Werte) klappt das nach diesem Schema wunderbar. Was mach ich noch falsch, dass die 4Byte-Werte nicht korrekt ausgelesen werden?
bei der Auswertung der Werte meiner Wärmepumpe kämpfe ich im Moment mit der Umrechung eines 4Byte-Wertes. Bspw. wird die Laufzeit des Kältekreises als 4Byte-Wert geliefert. In der ETS sieht das so aus:
Code:
Datenpunkttyp: 4Byte Datenpunktwert: 1416360 Rohwert: 49 AC E5 40
Code:
2015-09-27 21:42:21.416 [INFO ] [org.openhab.model.script.FILE ] - RW_Heat_pump_Hours_run_refrigerantcircuit: 2191.36
Konkret sieht meine Rule wie folgt aus:
Code:
//Betriebsstunden Kältekreis rule "RW_Heat_pump_Hours_run_refrigerantcircuit" when System started or Item RW_Heat_pump_Hours_run_refrigerantcircuit changed then var Number counter = (RW_Heat_pump_Hours_run_refrigerantcircuit.state as DecimalType).floatValue() logInfo("FILE", "RW_Heat_pump_Hours_run_refrigerantcircuit: " + RW_Heat_pump_Hours_run_refrigerantcircuit.state) counter = counter / 3600 RW_Heat_pump_Hours_run_refrigerantcircuit__HR.postUpdate(counter) end
Kommentar