VMBPIRO negative temperature issue

Hi,

Looks like I have noticed an issue in the Velbus integration of HomeAssistant.
When the temperature is dropping below zero I assume we have somewhere a incorrect translation.
If you look into the logs from the homeassitant you see that the temperatures are around 0°C, where I believe some of them are going below that and so showing the 127°C (where I believe it’s the high bit that is not being used for the - +)

Below is the log file only showing the temperatures (raw is lower in the topic)
2021-12-03 04:56:32 INFO (velbus-process-reader) [velbus] New message: {“name”: “SensorTemperatureMessage”, “priority”: 251, “address”: 15, “rtr”: false, “cur”: 127.875, “min”: 127.5, “max”: 9.0}

2021-12-03 04:56:40 INFO (velbus-process-reader) [velbus] New message: {“name”: “SensorTemperatureMessage”, “priority”: 251, “address”: 15, “rtr”: false, “cur”: 0.0, “min”: 127.5, “max”: 9.0}

2021-12-03 04:56:42 INFO (velbus-process-reader) [velbus] New message: {“name”: “SensorTemperatureMessage”, “priority”: 251, “address”: 42, “rtr”: false, “cur”: 0.0, “min”: 127.4375, “max”: 19.4375}

2021-12-03 04:56:47 INFO (velbus-process-reader) [velbus] New message: {“name”: “SensorTemperatureMessage”, “priority”: 251, “address”: 15, “rtr”: false, “cur”: 127.9375, “min”: 127.5, “max”: 9.0}

2021-12-03 04:56:59 INFO (velbus-process-reader) [velbus] New message: {“name”: “SensorTemperatureMessage”, “priority”: 251, “address”: 23, “rtr”: false, “cur”: 0.8125, “min”: 127.9375, “max”: 9.875}

2021-12-03 04:56:59 INFO (velbus-process-reader) [velbus] New message: {“name”: “SensorTemperatureMessage”, “priority”: 251, “address”: 17, “rtr”: false, “cur”: 127.75, “min”: 127.375, “max”: 20.3125}

Below is the raw data of the log
**2021-12-03 04:56:**47 DEBUG (velbus-process-reader) [velbus] Valid Header Waiting: True(b’\x0f\xfb\x0f\x02\xe5\x00\x00\x04’)

**2021-12-03 04:56:**47 DEBUG (velbus-process-reader) [velbus] Valid Body Waiting: True (b’\x0f\xfb\x0f\x02\xe5\x00\x00\x04’)

**2021-12-03 04:56:**47 DEBUG (velbus-process-reader) [velbus] Processing message b’\x0f\xfb\x0f\x02\xe5\x00\x00\x04’

**2021-12-03 04:56:**47 WARNING (velbus-process-reader) [velbus] received unrecognized command 229 from module 15 (44)

**2021-12-03 04:56:**47 DEBUG (velbus-process-reader) [velbus] Valid Header Waiting: True(b’\x0f\xfb\x0f\x07\xe6\xff\xe0\xff\x00\x12\x00\n\x04’)

**2021-12-03 04:56:**47 DEBUG (velbus-process-reader) [velbus] Valid Body Waiting: True (b’\x0f\xfb\x0f\x07\xe6\xff\xe0\xff\x00\x12\x00\n\x04’)

**2021-12-03 04:56:**47 DEBUG (velbus-process-reader) [velbus] Processing message b’\x0f\xfb\x0f\x07\xe6\xff\xe0\xff\x00\x12\x00\n\x04’

**2021-12-03 04:56:**47 INFO (velbus-process-reader) [velbus] New message: {“name”: “SensorTemperatureMessage”, “priority”: 251, “address”: 15, “rtr”: false, “cur”: 127.9375, “min”: 127.5, “max”: 9.0}

**2021-12-03 04:56:**50 DEBUG (velbus-process-reader) [velbus] Valid Header Waiting: True(b’\x0f\xfb\x0f\x08\xedA\x03\x88\x00\x00\xc1\n[\x04’)

**2021-12-03 04:56:**50 DEBUG (velbus-process-reader) [velbus] Valid Body Waiting: True (b’\x0f\xfb\x0f\x08\xedA\x03\x88\x00\x00\xc1\n[\x04’)

**2021-12-03 04:56:**50 DEBUG (velbus-process-reader) [velbus] Processing message b’\x0f\xfb\x0f\x08\xedA\x03\x88\x00\x00\xc1\n[\x04’

**2021-12-03 04:56:**50 INFO (velbus-process-reader) [velbus] New message: {“name”: “ModuleStatusPirMessage”, “priority”: 251, “address”: 15, “rtr”: false}

**2021-12-03 04:56:**59 DEBUG (velbus-process-reader) [velbus] Valid Header Waiting: True(b’\x0f\xfb\x17\x07\xe6\x01\xa0\xff\xe0\x13\xc0\x9f\x04’)

**2021-12-03 04:56:**59 DEBUG (velbus-process-reader) [velbus] Valid Body Waiting: True (b’\x0f\xfb\x17\x07\xe6\x01\xa0\xff\xe0\x13\xc0\x9f\x04’)

**2021-12-03 04:56:**59 DEBUG (velbus-process-reader) [velbus] Processing message b’\x0f\xfb\x17\x07\xe6\x01\xa0\xff\xe0\x13\xc0\x9f\x04’

**2021-12-03 04:56:**59 INFO (velbus-process-reader) [velbus] New message: {“name”: “SensorTemperatureMessage”, “priority”: 251, “address”: 23, “rtr”: false, “cur”: 0.8125, “min”: 127.9375, “max”: 9.875}

**2021-12-03 04:56:**59 DEBUG (velbus-process-reader) [velbus] Valid Header Waiting: True(b’\x0f\xfb\x11\x07\xe6\xff\x80\xfe\xc0(\xa0\xf3\x04’)

**2021-12-03 04:56:**59 DEBUG (velbus-process-reader) [velbus] Valid Body Waiting: True (b’\x0f\xfb\x11\x07\xe6\xff\x80\xfe\xc0(\xa0\xf3\x04’)

**2021-12-03 04:56:**59 DEBUG (velbus-process-reader) [velbus] Processing message b’\x0f\xfb\x11\x07\xe6\xff\x80\xfe\xc0(\xa0\xf3\x04’

**2021-12-03 04:56:**59 INFO (velbus-process-reader) [velbus] New message: {“name”: “SensorTemperatureMessage”, “priority”: 251, “address”: 17, “rtr”: false, “cur”: 127.75, “min”: 127.375, “max”: 20.3125}