Hallo,
ich habe eine Systemair Genius. Das ist eine reversible Wärmepumpe mit Lüftungsfunktion und Warmwasserbereitung.
Auf die Steuerung kann per modbus tcp zugegriffen werden.
In den input registern werden die Temperatursensorwerte nicht als float32 abgelegt sondern als int16. Die Steuerung schreibt nimmt den internen Wert (z.B. 5,54524°C) multipliziert ihn mit 10 und schneidet die Nachkommastellen ab. Der Wert 55 wird in das input register geschrieben.
Wie kann ich auf openHAB Seite den gelesenen Werte wieder in 5,5°C umrechnen so das die abgefragten Werte sowohl im Webinterface als auch in der Persistenz stimmen?
openhab.cfg:
modbus:tcp.geniusInput.connection=1.2.3.4
modbus:tcp.geniusInput.id=1
modbus:tcp.geniusInput.type=input
modbus:tcp.geniusInput.length=10
modbus:tcp.geniusInput.valuetype=int16
items:
Number Temp_Outdoor_Genius "Ansaug Temperatur Genius [%.1f °C]" <temperature> (Aussen, Sensor, Genius) {modbus="geniusInput:0"}
Number Temp_Supply_Genius "Supply Temperatur Genius [%.1f °C]" <temperature> (Genius, Sensor) {modbus="geniusInput:1"}
Number Temp_Extract_Genius "Extract Temperatur Genius [%.1f °C]" <temperature> (Genius, Sensor) {modbus="geniusInput:2"}
Number Temp_HW_Genius "Hot water Temperatur Genius [%.1f °C]" <temperature> (Genius, Sensor) {modbus="geniusInput:3"}
Vielen Dank für eure Hilfe
Thomas
ich habe eine Systemair Genius. Das ist eine reversible Wärmepumpe mit Lüftungsfunktion und Warmwasserbereitung.
Auf die Steuerung kann per modbus tcp zugegriffen werden.
In den input registern werden die Temperatursensorwerte nicht als float32 abgelegt sondern als int16. Die Steuerung schreibt nimmt den internen Wert (z.B. 5,54524°C) multipliziert ihn mit 10 und schneidet die Nachkommastellen ab. Der Wert 55 wird in das input register geschrieben.
Wie kann ich auf openHAB Seite den gelesenen Werte wieder in 5,5°C umrechnen so das die abgefragten Werte sowohl im Webinterface als auch in der Persistenz stimmen?
openhab.cfg:
modbus:tcp.geniusInput.connection=1.2.3.4
modbus:tcp.geniusInput.id=1
modbus:tcp.geniusInput.type=input
modbus:tcp.geniusInput.length=10
modbus:tcp.geniusInput.valuetype=int16
items:
Number Temp_Outdoor_Genius "Ansaug Temperatur Genius [%.1f °C]" <temperature> (Aussen, Sensor, Genius) {modbus="geniusInput:0"}
Number Temp_Supply_Genius "Supply Temperatur Genius [%.1f °C]" <temperature> (Genius, Sensor) {modbus="geniusInput:1"}
Number Temp_Extract_Genius "Extract Temperatur Genius [%.1f °C]" <temperature> (Genius, Sensor) {modbus="geniusInput:2"}
Number Temp_HW_Genius "Hot water Temperatur Genius [%.1f °C]" <temperature> (Genius, Sensor) {modbus="geniusInput:3"}
Vielen Dank für eure Hilfe
Thomas