I have a systemair Genius Heatpump and Aircirculating device.
The controller can be contacted over modbus tcp.
The vendor decided to use int16 registers also for Values that are typically floats like temperatures.
What they do is that they multiply the reading by ten (5.5343°C -> 55.343) and then scrap away everything after the dot.
The 55 is stored in the register.
What I would like to know is how can I decode this on openHAB to a float so that it is displayed correctly in the webfrontend and stored in the persistence layer.
items:
Number Temp_Outdoor_Genius “Ansaug Temperatur Genius [%.1f °C]” (Aussen, Sensor, Genius) {modbus=“geniusInput:0”}
Number Temp_Supply_Genius “Supply Temperatur Genius [%.1f °C]” (Genius, Sensor) {modbus=“geniusInput:1”}
Number Temp_Extract_Genius “Extract Temperatur Genius [%.1f °C]” (Genius, Sensor) {modbus=“geniusInput:2”}
Number Temp_HW_Genius “Hot water Temperatur Genius [%.1f °C]” (Genius, Sensor) {modbus=“geniusInput:3”}