cereal2nd / velbus-aio

Velbus Asyncio
Apache License 2.0
15 stars 12 forks source link

VMBDALI support missing #32

Closed dverhelst closed 2 years ago

dverhelst commented 2 years ago

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!

cereal2nd commented 2 years ago

The first step is that https://github.com/StefCoene/moduleprotocol

needs to be updated, i asked stef to do this

dverhelst commented 2 years ago

Perfect. Let me know how I can help!

cereal2nd commented 2 years ago

can you send us your velbuslink file?

that would help

dverhelst commented 2 years ago

@Cereal2nd , can I send this to you privately ? Would only the VMBDALI entities suffice?

dverhelst commented 2 years ago

Seems to be there now ! https://github.com/StefCoene/moduleprotocol/commit/1bcdc616bd949e5e9ef79d2b3dfc0dc3df3240dc

cereal2nd commented 2 years ago

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?

dverhelst commented 2 years ago

Unfortunately not, but I would be very willing to run many things for you and provide you with the output.

cereal2nd commented 2 years ago

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?

dverhelst commented 2 years ago

@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"}

read_bus.out.txt load_modules.out.txt

cereal2nd commented 2 years ago

@dverhelst, can you check with the latest dev? niobos did a lot of work on implementing the dali module

dverhelst commented 2 years ago

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!

read_bus.out.txt load_modules.out.txt

niobos commented 2 years ago

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

dverhelst commented 2 years ago

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

niobos commented 2 years ago

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.

cereal2nd commented 2 years ago

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
niobos commented 2 years ago

Based on the previous output, I concluded that the DALI module has address 1, so I ignored this Traceback.

cereal2nd commented 2 years ago

@dverhelst what module is at address=e0?

dverhelst commented 2 years ago

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.

cereal2nd commented 2 years ago

@dverhelst can you run a new load_modules but let it run a lot longer, we do not have all the data in there

dverhelst commented 2 years ago

Here you go! load_modules.out.txt

cereal2nd commented 2 years ago

this looks great

@niobos i'll release a new version so you can make the PR in hass

niobos commented 2 years ago

Will you do the version bump PR?

cereal2nd commented 2 years ago

@niobos you can do it, you did all the work

niobos commented 2 years ago

For reference: https://github.com/home-assistant/core/pull/80510

cereal2nd commented 2 years ago

@ dverhelst today a new RC was released for hass, would you be able to check it out? to see how the vmbdali reacts?

dverhelst commented 2 years ago

@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!

cereal2nd commented 2 years ago

ok, then we close this ticket, if something else pops-up we can alwasy create a new one