I recently developed a custom Velbus module for controlling pumps and heating for my pool. I therefore mimic the VMB4AN module so I can transmit alarms and measured temperatures onto the Velbus. This all works fine up to VelbusLink which recognizes the module, reads the channel names and shows correct actual values of the sensors.
Correct channel names and sensor values in VelbusLink
However in Home Assistant integration I encounter following problems:
1e problem: Channel names and channel numbers seems mixed up. The VMB4AN protocol document defines channels 1 to 8 as the alarms, 9 to 12 as the sensors and finally 13 to 16 as analog outputs. I narrowed down a bit the problem to the identification off the channels in the channel name request (0xEF) and response (0xF0) messages. Where in most modules the channel Id is send by a 8-bit bitmask the VMB4AN identifies the channel by its actual number (1 to 16) or 255 for all channels in request message. The reason for this change seems obvious because the 16 channels could not be fitted into a 8 bit mask. Also memory map behaves different for additional channels …
Mixed up channel numbers / names in Home Assistant cache
{
“name”: “VMB4ANPool”,
“channels”: {
“1”: {
“name”: “Analog Out 1”,
“type”: “Sensor”
},
“2”: {
“name”: “Analog Out 2”,
“type”: “Sensor”
},
“3”: {
“name”: “Analog Out 3”,
“type”: “Sensor”
},
“4”: {
“name”: “Analog Out 4”,
“type”: “Sensor”
},
“5”: {
“name”: “ZwemDakAuto”,
“type”: “Sensor”
},
“6”: {
“name”: “ZwemPompen”,
“type”: “Sensor”
},
“7”: {
“name”: “ZwemFilter”,
“type”: “Sensor”
},
“8”: {
“name”: “ZwemDakPomp”,
“type”: “Sensor”
},
“9”: {
“name”: “Sensor 1”,
“type”: “SensorNumber”
},
“10”: {
“name”: “Sensor 2”,
“type”: “SensorNumber”
},
“11”: {
“name”: “Sensor 3”,
“type”: “SensorNumber”
},
“12”: {
“name”: “Sensor 4”,
“type”: “SensorNumber”
},
“96”: {
“name”: “SelectedProgram”,
“type”: “SelectedProgram”
}
}
2e problem: Sensor data is not updated (is handling of raw sensor data message 0xA9 implemented?)
Some pictures of custom module