Closed dverhelst closed 2 years ago
The first step is that https://github.com/StefCoene/moduleprotocol
needs to be updated, i asked stef to do this
Perfect. Let me know how I can help!
can you send us your velbuslink file?
that would help
@Cereal2nd , can I send this to you privately ? Would only the VMBDALI entities suffice?
Seems to be there now ! https://github.com/StefCoene/moduleprotocol/commit/1bcdc616bd949e5e9ef79d2b3dfc0dc3df3240dc
yes it is, but now we need to implement/test is there a way we can login onto your bus so we can run some scans/debug info?
Unfortunately not, but I would be very willing to run many things for you and provide you with the output.
can you clone the master branch of this repo? setup the package and run the examples/read_bus.py tool and provide me the output?
@Cereal2nd , attached you can find the output of read_bus.py and load_modules.py.
Relevant output from switching a Dali light on+off :
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a0, rtr=False, command=234, data=b'ea 08 00 00 33 0a 00 00')
DEBUG:velbus-packet:Received {"name": "TempSensorStatusMessage", "priority": 251, "address": 160, "rtr": false, "data": "", "local_control": 0, "status_mode": "run", "status_str": "run", "auto_send": 8, "mode": "safe", "mode_str": "safe", "cool": 0, "heater": 0, "boost": 0, "pump": 0, "alarm1": 0, "alarm2": 0, "alarm3": 0, "alarm4": 0, "current_temp": 25.5, "target_temp": 5.0, "sleep_timer": 0, "_status_str": "run"}
DEBUG:velbus-protocol:RX: RawMessage(priority=f8, address=a6, rtr=False, command=0, data=b'00 01 00 00')
DEBUG:velbus-packet:Received {"name": "PushButtonStatusMessage", "priority": 248, "address": 166, "rtr": false, "data": "", "closed": [1], "opened": [], "closed_long": []}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ff8a604000001004e04' becomes b'0ff8a604000001004e04'
DEBUG:velbus-protocol:RX: RawMessage(priority=f8, address=a6, rtr=False, command=0, data=b'00 00 01 00')
DEBUG:velbus-packet:Received {"name": "PushButtonStatusMessage", "priority": 248, "address": 166, "rtr": false, "data": "", "closed": [], "opened": [1], "closed_long": []}
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=245, data=b'f5 01')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [1]}
DEBUG:root:Trimming leading garbage from buffer content: b'0000000000000ffba602f5085104' becomes b'0ffba602f5085104'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=245, data=b'f5 08')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [4]}
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=245, data=b'f5 10')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [5]}
DEBUG:root:Trimming leading garbage from buffer content: b'0000000000000ff8020400060000' becomes b'0ff8020400060000'
DEBUG:velbus-protocol:RX: RawMessage(priority=f8, address=02, rtr=False, command=0, data=b'00 06 00 00')
DEBUG:velbus-packet:Received {"name": "PushButtonStatusMessage", "priority": 248, "address": 2, "rtr": false, "data": "", "closed": [2, 3], "opened": [], "closed_long": []}
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-203' coro=<VelbusProtocol._process_message() done, defined at /home/dieter/GIT/velbus-aio/velbusaio/protocol.py:167> exception=KeyError('Channels')>
Traceback (most recent call last):
File "/home/dieter/GIT/velbus-aio/velbusaio/protocol.py", line 169, in _process_message
await self._message_received_callback(msg)
File "/home/dieter/GIT/velbus-aio/velbusaio/controller.py", line 55, in _on_message_received
await self._handler.handle(msg)
File "/home/dieter/GIT/velbus-aio/velbusaio/handler.py", line 86, in handle
await (self._velbus.get_module(msg.address)).on_message(msg)
File "/home/dieter/GIT/velbus-aio/velbusaio/module.py", line 262, in on_message
for channel_types in self._data["Channels"]:
KeyError: 'Channels'
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ff8090400010000eb04' becomes b'0ff8090400010000eb04'
DEBUG:velbus-protocol:RX: RawMessage(priority=f8, address=09, rtr=False, command=0, data=b'00 01 00 00')
WARNING:velbus-packet:UNKNOWN module, you should initialize a full new velbus scan: packet=01:00:00, address=9, modules=dict_keys([1, 2, 3, 4, 5, 16, 17, 18, 19, 20, 21, 32, 33, 34, 35, 36, 37, 144, 160, 176, 161, 177, 163, 179, 164, 180, 165, 181, 166, 182, 167, 183, 168, 169, 192, 193, 184, 194, 210, 195, 211, 196, 212, 197, 213, 198, 214, 199, 215, 200, 216, 201, 217, 224, 240, 250])
DEBUG:velbus-protocol:RX: RawMessage(priority=f8, address=0a, rtr=False, command=0, data=b'00 08 00 00')
WARNING:velbus-packet:UNKNOWN module, you should initialize a full new velbus scan: packet=08:00:00, address=10, modules=dict_keys([1, 2, 3, 4, 5, 16, 17, 18, 19, 20, 21, 32, 33, 34, 35, 36, 37, 144, 160, 176, 161, 177, 163, 179, 164, 180, 165, 181, 166, 182, 167, 183, 168, 169, 192, 193, 184, 194, 210, 195, 211, 196, 212, 197, 213, 198, 214, 199, 215, 200, 216, 201, 217, 224, 240, 250])
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffbc102f540fe040000' becomes b'0ffbc102f540fe040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c1, rtr=False, command=245, data=b'f5 40')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 193, "rtr": false, "data": "", "leds": [7]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffbc102f580be0400000000' becomes b'0ffbc102f580be0400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c1, rtr=False, command=245, data=b'f5 80')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 193, "rtr": false, "data": "", "leds": [8]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffbc802f50136040000' becomes b'0ffbc802f50136040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c8, rtr=False, command=245, data=b'f5 01')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 200, "rtr": false, "data": "", "leds": [1]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffbc802f502350400000000' becomes b'0ffbc802f502350400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c8, rtr=False, command=245, data=b'f5 02')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 200, "rtr": false, "data": "", "leds": [2]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffbc502f50139040000' becomes b'0ffbc502f50139040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c5, rtr=False, command=245, data=b'f5 01')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 197, "rtr": false, "data": "", "leds": [1]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffba802f501560400000000' becomes b'0ffba802f501560400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a8, rtr=False, command=245, data=b'f5 01')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 168, "rtr": false, "data": "", "leds": [1]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffba802f50156040000' becomes b'0ffba802f50156040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a8, rtr=False, command=245, data=b'f5 01')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 168, "rtr": false, "data": "", "leds": [1]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffba102f608550400000000' becomes b'0ffba102f608550400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a1, rtr=False, command=246, data=b'f6 08')
DEBUG:velbus-packet:Received {"name": "SetLedMessage", "priority": 251, "address": 161, "rtr": false, "data": "", "leds": [4]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffba002f60856040000' becomes b'0ffba002f60856040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a0, rtr=False, command=246, data=b'f6 08')
DEBUG:velbus-packet:Received {"name": "SetLedMessage", "priority": 251, "address": 160, "rtr": false, "data": "", "leds": [4]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffba602f601570400000000' becomes b'0ffba602f601570400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=246, data=b'f6 01')
DEBUG:velbus-packet:Received {"name": "SetLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [1]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffba602f60850040000' becomes b'0ffba602f60850040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=246, data=b'f6 08')
DEBUG:velbus-packet:Received {"name": "SetLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [4]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffba602f610480400000000' becomes b'0ffba602f610480400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=246, data=b'f6 10')
DEBUG:velbus-packet:Received {"name": "SetLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [5]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffba602f680d8040000' becomes b'0ffba602f680d8040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=246, data=b'f6 80')
DEBUG:velbus-packet:Received {"name": "SetLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [8]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffb0103a54cfe0304000000' becomes b'0ffb0103a54cfe0304000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=165, data=b'a5 4c fe')
WARNING:velbus-packet:NOT FOUND IN command_registry: addr=1 cmd=165 packet=4c:fe
DEBUG:root:Trimming leading garbage from buffer content: b'0000000ffbe008ed903fff0000c1' becomes b'0ffbe008ed903fff0000c1'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=e0, rtr=False, command=237, data=b'ed 90 3f ff 00 00 c1 0a')
DEBUG:velbus-packet:Received {"name": "ModuleStatusMessage", "priority": 251, "address": 224, "rtr": false, "data": "", "closed": [5, 8], "led_on": [1, 2, 3, 4, 5, 6], "led_slow_blinking": [1, 2, 3, 4, 5, 6, 7, 8], "led_fast_blinking": []}
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=e0, rtr=False, command=234, data=b'ea 08 00 00 35 0e 00 00')
DEBUG:velbus-packet:Received {"name": "TempSensorStatusMessage", "priority": 251, "address": 224, "rtr": false, "data": "", "local_control": 0, "status_mode": "run", "status_str": "run", "auto_send": 8, "mode": "safe", "mode_str": "safe", "cool": 0, "heater": 0, "boost": 0, "pump": 0, "alarm1": 0, "alarm2": 0, "alarm3": 0, "alarm4": 0, "current_temp": 26.5, "target_temp": 7.0, "sleep_timer": 0, "_status_str": "run"}
DEBUG:velbus-protocol:RX: RawMessage(priority=f8, address=a6, rtr=False, command=0, data=b'00 01 00 00')
DEBUG:velbus-packet:Received {"name": "PushButtonStatusMessage", "priority": 248, "address": 166, "rtr": false, "data": "", "closed": [1], "opened": [], "closed_long": []}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffbc508ed903f810000' becomes b'0ffbc508ed903f810000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c5, rtr=False, command=237, data=b'ed 90 3f 81 00 00 c1 0a')
DEBUG:velbus-packet:Received {"name": "ModuleStatusMessage", "priority": 251, "address": 197, "rtr": false, "data": "", "closed": [5, 8], "led_on": [1, 2, 3, 4, 5, 6], "led_slow_blinking": [1, 8], "led_fast_blinking": []}
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c5, rtr=False, command=234, data=b'ea 08 00 00 33 0a 00 00')
DEBUG:velbus-packet:Received {"name": "TempSensorStatusMessage", "priority": 251, "address": 197, "rtr": false, "data": "", "local_control": 0, "status_mode": "run", "status_str": "run", "auto_send": 8, "mode": "safe", "mode_str": "safe", "cool": 0, "heater": 0, "boost": 0, "pump": 0, "alarm1": 0, "alarm2": 0, "alarm3": 0, "alarm4": 0, "current_temp": 25.5, "target_temp": 5.0, "sleep_timer": 0, "_status_str": "run"}
DEBUG:velbus-protocol:RX: RawMessage(priority=f8, address=a6, rtr=False, command=0, data=b'00 00 01 00')
DEBUG:velbus-packet:Received {"name": "PushButtonStatusMessage", "priority": 248, "address": 166, "rtr": false, "data": "", "closed": [], "opened": [1], "closed_long": []}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffba602f60157040000' becomes b'0ffba602f60157040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=246, data=b'f6 01')
DEBUG:velbus-packet:Received {"name": "SetLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [1]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffba602f608500400000000' becomes b'0ffba602f608500400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=246, data=b'f6 08')
DEBUG:velbus-packet:Received {"name": "SetLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [4]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffba602f61048040000' becomes b'0ffba602f61048040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=246, data=b'f6 10')
DEBUG:velbus-packet:Received {"name": "SetLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [5]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ff8020400000600ed040000' becomes b'0ff8020400000600ed040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=f8, address=02, rtr=False, command=0, data=b'00 00 06 00')
DEBUG:velbus-packet:Received {"name": "PushButtonStatusMessage", "priority": 248, "address": 2, "rtr": false, "data": "", "closed": [], "opened": [2, 3], "closed_long": []}
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-229' coro=<VelbusProtocol._process_message() done, defined at /home/dieter/GIT/velbus-aio/velbusaio/protocol.py:167> exception=KeyError('Channels')>
Traceback (most recent call last):
File "/home/dieter/GIT/velbus-aio/velbusaio/protocol.py", line 169, in _process_message
await self._message_received_callback(msg)
File "/home/dieter/GIT/velbus-aio/velbusaio/controller.py", line 55, in _on_message_received
await self._handler.handle(msg)
File "/home/dieter/GIT/velbus-aio/velbusaio/handler.py", line 86, in handle
await (self._velbus.get_module(msg.address)).on_message(msg)
File "/home/dieter/GIT/velbus-aio/velbusaio/module.py", line 262, in on_message
for channel_types in self._data["Channels"]:
KeyError: 'Channels'
DEBUG:root:Trimming leading garbage from buffer content: b'00000ff8090400000100eb040000' becomes b'0ff8090400000100eb040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=f8, address=09, rtr=False, command=0, data=b'00 00 01 00')
WARNING:velbus-packet:UNKNOWN module, you should initialize a full new velbus scan: packet=00:01:00, address=9, modules=dict_keys([1, 2, 3, 4, 5, 16, 17, 18, 19, 20, 21, 32, 33, 34, 35, 36, 37, 144, 160, 176, 161, 177, 163, 179, 164, 180, 165, 181, 166, 182, 167, 183, 168, 169, 192, 193, 184, 194, 210, 195, 211, 196, 212, 197, 213, 198, 214, 199, 215, 200, 216, 201, 217, 224, 240, 250])
DEBUG:root:Trimming leading garbage from buffer content: b'00000ff80a0400000800e3040000' becomes b'0ff80a0400000800e3040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=f8, address=0a, rtr=False, command=0, data=b'00 00 08 00')
WARNING:velbus-packet:UNKNOWN module, you should initialize a full new velbus scan: packet=00:08:00, address=10, modules=dict_keys([1, 2, 3, 4, 5, 16, 17, 18, 19, 20, 21, 32, 33, 34, 35, 36, 37, 144, 160, 176, 161, 177, 163, 179, 164, 180, 165, 181, 166, 182, 167, 183, 168, 169, 192, 193, 184, 194, 210, 195, 211, 196, 212, 197, 213, 198, 214, 199, 215, 200, 216, 201, 217, 224, 240, 250])
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffbc102f540fe0400000000' becomes b'0ffbc102f540fe0400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c1, rtr=False, command=245, data=b'f5 40')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 193, "rtr": false, "data": "", "leds": [7]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffbc102f580be040000' becomes b'0ffbc102f580be040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c1, rtr=False, command=245, data=b'f5 80')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 193, "rtr": false, "data": "", "leds": [8]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffbc802f501360400000000' becomes b'0ffbc802f501360400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c8, rtr=False, command=245, data=b'f5 01')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 200, "rtr": false, "data": "", "leds": [1]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffbc802f50235040000' becomes b'0ffbc802f50235040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c8, rtr=False, command=245, data=b'f5 02')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 200, "rtr": false, "data": "", "leds": [2]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffbc502f501390400000000' becomes b'0ffbc502f501390400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c5, rtr=False, command=245, data=b'f5 01')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 197, "rtr": false, "data": "", "leds": [1]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffba802f50156040000' becomes b'0ffba802f50156040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a8, rtr=False, command=245, data=b'f5 01')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 168, "rtr": false, "data": "", "leds": [1]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffba802f501560400000000' becomes b'0ffba802f501560400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a8, rtr=False, command=245, data=b'f5 01')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 168, "rtr": false, "data": "", "leds": [1]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffba102f50856040000' becomes b'0ffba102f50856040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a1, rtr=False, command=245, data=b'f5 08')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 161, "rtr": false, "data": "", "leds": [4]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffba002f508570400000000' becomes b'0ffba002f508570400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a0, rtr=False, command=245, data=b'f5 08')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 160, "rtr": false, "data": "", "leds": [4]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffba602f50158040000' becomes b'0ffba602f50158040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=245, data=b'f5 01')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [1]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffba602f508510400000000' becomes b'0ffba602f508510400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=245, data=b'f5 08')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [4]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffba602f51049040000' becomes b'0ffba602f51049040000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=245, data=b'f5 10')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [5]}
DEBUG:root:Trimming leading garbage from buffer content: b'00000ffba602f580d90400000000' becomes b'0ffba602f580d90400000000'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a6, rtr=False, command=245, data=b'f5 80')
DEBUG:velbus-packet:Received {"name": "ClearLedMessage", "priority": 251, "address": 166, "rtr": false, "data": "", "leds": [8]}
DEBUG:root:Trimming leading garbage from buffer content: b'000000000ffb0103a55100fc0400' becomes b'0ffb0103a55100fc0400'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=165, data=b'a5 51 00')
WARNING:velbus-packet:NOT FOUND IN command_registry: addr=1 cmd=165 packet=51:00
DEBUG:root:Trimming leading garbage from buffer content: b'000ffba008ed902fd40000c10a03' becomes b'0ffba008ed902fd40000c10a03'
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a0, rtr=False, command=237, data=b'ed 90 2f d4 00 00 c1 0a')
DEBUG:velbus-packet:Received {"name": "ModuleStatusMessage", "priority": 251, "address": 160, "rtr": false, "data": "", "closed": [5, 8], "led_on": [1, 2, 3, 4, 6], "led_slow_blinking": [3, 5, 7, 8], "led_fast_blinking": []}
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=a0, rtr=False, command=234, data=b'ea 08 00 00 33 0a 00 00')
DEBUG:velbus-packet:Received {"name": "TempSensorStatusMessage", "priority": 251, "address": 160, "rtr": false, "data": "", "local_control": 0, "status_mode": "run", "status_str": "run", "auto_send": 8, "mode": "safe", "mode_str": "safe", "cool": 0, "heater": 0, "boost": 0, "pump": 0, "alarm1": 0, "alarm2": 0, "alarm3": 0, "alarm4": 0, "current_temp": 25.5, "target_temp": 5.0, "sleep_timer": 0, "_status_str": "run"}
@dverhelst, can you check with the latest dev? niobos did a lot of work on implementing the dali module
Awesome @Cereal2nd and @niobos !
Attached you can find outputs of read_bus.py
and load_modules.py
. I switched a few lights on/off during the read_bus run. Hope this helps!
You will need to remove the cached memory of the DALI module, and re-run the read_bus/load_module commands. The location depends on your setup, but it will probably be /home/dieter/.velbuscache/1.p
Oops, didn't know, but will forever take it into account. Here you go, 2 fresh files with a lot of DALI movement. read_bus.out.txt load_modules.out.txt
The output looks good. To get this into Home Assistant, this repo needs a release, and the Home Assistant a version bump to use that release.
This is seen in one of the files need to investigate if this is related to the PR. the load_modules.py is not finishing, we will need to increase the timeout for your install, so we can not confirm yet that it worked
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=e0, rtr=False, command=242, data=b'f2 09 ff ff ff ff')
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-1501' coro=<VelbusProtocol._process_message() done, defined at /home/dieter/GIT/velbus-aio/velbusaio/protocol.py:167> exception=ParserError('ChannelNamePart3Message needs exactly one bit set in channel byte')>
Traceback (most recent call last):
File "/home/dieter/GIT/velbus-aio/velbusaio/protocol.py", line 169, in _process_message
await self._message_received_callback(msg)
File "/home/dieter/GIT/velbus-aio/velbusaio/controller.py", line 55, in _on_message_received
await self._handler.handle(msg)
File "/home/dieter/GIT/velbus-aio/velbusaio/handler.py", line 93, in handle
msg.populate(priority, address, rtr, data)
File "/home/dieter/GIT/velbus-aio/velbusaio/messages/channel_name_part3.py", line 35, in populate
self.needs_one_channel(channels)
File "/home/dieter/GIT/velbus-aio/velbusaio/message.py", line 235, in needs_one_channel
self.parser_error("needs exactly one bit set in channel byte")
File "/home/dieter/GIT/velbus-aio/velbusaio/message.py", line 134, in parser_error
raise ParserError(self.__class__.__name__ + " " + message)
velbusaio.message.ParserError: ChannelNamePart3Message needs exactly one bit set in channel byte
Based on the previous output, I concluded that the DALI module has address 1, so I ignored this Traceback.
@dverhelst what module is at address=e0?
That would be a VMBGP2-2 but with outdated firmware which I'm updating right now ( it's the latest addition to the bus ). Same as C8 which has been updated to the latest firmware already.
@dverhelst can you run a new load_modules but let it run a lot longer, we do not have all the data in there
Here you go! load_modules.out.txt
this looks great
@niobos i'll release a new version so you can make the PR in hass
Will you do the version bump PR?
@niobos you can do it, you did all the work
For reference: https://github.com/home-assistant/core/pull/80510
@ dverhelst today a new RC was released for hass, would you be able to check it out? to see how the vmbdali reacts?
@Cereal2nd , I ran a quick test from the dev-branch last Friday and all looked quite ok ! There was 'something' with the status of the lights sometimes not being reflected back, but I plan to test some more over the weekend. I was very happy to see all the lights functioning well!
ok, then we close this ticket, if something else pops-up we can alwasy create a new one
Hi,
Is it possible to support the VMBDALI module introduced through the original repository ? It is the only thing missing for me at this point to fully use HA for my entire home. The lights are to be supported as dimmers. My coding skills are absent, but I would be happy to support through testing vigorously!