Cereal2nd / velbus-aio

Velbus Asyncio
Apache License 2.0
14 stars 10 forks source link

VMBDALI-20 support #88

Closed dverhelst closed 1 month ago

dverhelst commented 3 months ago

Hi, a new order with Velbus delivered me a newer version of the VMBDALI module : VMBDALI-20 It looks to be the same module albeit with different connecters and apparently a new module_type Upstream seems to be documented already moduleprotocol

DEBUG:velbus-protocol:TX: RawMessage(priority=fb, address=01, rtr=True, command=None, data=b'')
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=255, data=b'ff 5a 56 a3 01 23 25 20')
DEBUG:velbus-packet:Received {"name": "ModuleTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 90, "led_on": [], "led_slow_blinking": [], "led_fast_blinking": [], "serial": 22179, "memory_map_version": 1, "build_year": 37, "build_week": 32}
WARNING:velbus-packet:Module not recognized: 90
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=176, data=b'b0 5a 56 a3 ff ff ff ff')
DEBUG:velbus-packet:Received {"name": "ModuleSubTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 90, "sub_address_1": 255, "sub_address_2": 255, "sub_address_3": 255, "sub_address_4": 255, "serial": 22179, "sub_address_offset": 0}
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=167, data=b'a7 5a 56 a3 ff ff ff ff')
DEBUG:velbus-packet:Received {"name": "ModuleSubTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 90, "sub_address_1": 255, "sub_address_2": 255, "sub_address_3": 255, "sub_address_4": 255, "serial": 22179, "sub_address_offset": 4}
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=166, data=b'a6 5a 56 a3 ff ff ff ff')
DEBUG:velbus-packet:Received {"name": "ModuleSubTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 90, "sub_address_1": 255, "sub_address_2": 255, "sub_address_3": 255, "sub_address_4": 255, "serial": 22179, "sub_address_offset": 8}

My other installation with the 'older' VMBDALI looks like this for reference:

DEBUG:velbus-protocol:TX: RawMessage(priority=fb, address=01, rtr=True, command=None, data=b'')
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=c5, rtr=False, command=237, data=b'ed 70 3f c7 00 00 c1 0a')
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=255, data=b'ff 45 1f 6b 02 22 37 00')
DEBUG:velbus-packet:Received {"name": "ModuleTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 69, "led_on": [], "led_slow_blinking": [], "led_fast_blinking": [], "serial": 8043, "memory_map_version": 2, "build_year": 55, "build_week": 0}
INFO:velbus:Load NEW module: 69 @ 1
INFO:velbus-module:Load Module
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=176, data=b'b0 45 1f 6b 02 03 04 05')
DEBUG:velbus-packet:Received {"name": "ModuleSubTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 69, "sub_address_1": 2, "sub_address_2": 3, "sub_address_3": 4, "sub_address_4": 5, "serial": 8043, "sub_address_offset": 0}
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=167, data=b'a7 45 1f 6b 06 07 08 09')
DEBUG:velbus-packet:Received {"name": "ModuleSubTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 69, "sub_address_1": 6, "sub_address_2": 7, "sub_address_3": 8, "sub_address_4": 9, "serial": 8043, "sub_address_offset": 4}
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=166, data=b'a6 45 1f 6b 0a ff ff ff')
DEBUG:velbus-packet:Received {"name": "ModuleSubTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 69, "sub_address_1": 10, "sub_address_2": 255, "sub_address_3": 255, "sub_address_4": 255, "serial": 8043, "sub_address_offset": 8}

Let me know if anything else is required.

cfr #32

Cereal2nd commented 3 months ago

can you try with latest master branch?

dverhelst commented 3 months ago

Unfortunately the same result.

(venv) root@kast:~/velbus-aio# python examples/load_modules.py
DEBUG:asyncio:Using selector: EpollSelector
INFO:velbus-protocol:Connection established to Velbus
DEBUG:velbus-protocol:Starting Velbus write message from send queue
DEBUG:velbus-protocol:Acquiring write lock
DEBUG:velbus-protocol:TX: RawMessage(priority=fb, address=01, rtr=True, command=None, data=b'')
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=255, data=b'ff 5a 56 a3 01 23 25 20')
DEBUG:velbus-packet:Received {"name": "ModuleTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 90, "led_on": [], "led_slow_blinking": [], "led_fast_blinking": [], "serial": 22179, "memory_map_version": 1, "build_year": 37, "build_week": 32}
WARNING:velbus-packet:Module not recognized: 90
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=176, data=b'b0 5a 56 a3 ff ff ff ff')
DEBUG:velbus-packet:Received {"name": "ModuleSubTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 90, "sub_address_1": 255, "sub_address_2": 255, "sub_address_3": 255, "sub_address_4": 255, "serial": 22179, "sub_address_offset": 0}
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=167, data=b'a7 5a 56 a3 ff ff ff ff')
DEBUG:velbus-packet:Received {"name": "ModuleSubTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 90, "sub_address_1": 255, "sub_address_2": 255, "sub_address_3": 255, "sub_address_4": 255, "serial": 22179, "sub_address_offset": 4}
DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=166, data=b'a6 5a 56 a3 ff ff ff ff')
DEBUG:velbus-packet:Received {"name": "ModuleSubTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 90, "sub_address_1": 255, "sub_address_2": 255, "sub_address_3": 255, "sub_address_4": 255, "serial": 22179, "sub_address_offset": 8}

Coming Saturday the first lights will be attached to the module, let's continue debugging then. Maybe that helps.

dverhelst commented 3 months ago

@Cereal2nd , lights are operational meanwhile through Velbus, but the load_modules.py doesn't communicate with the module.

DEBUG:asyncio:Using selector: EpollSelector INFO:velbus-protocol:Connection established to Velbus DEBUG:velbus-protocol:Starting Velbus write message from send queue DEBUG:velbus-protocol:Acquiring write lock DEBUG:velbus-protocol:TX: RawMessage(priority=fb, address=01, rtr=True, command=None, data=b'') DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=255, data=b'ff 5a 56 a3 01 23 25 20') DEBUG:velbus-packet:Received {"name": "ModuleTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 90, "led_on": [], "led_slow_blinking": [], "led_fast_blinking": [], "serial": 22179, "memory_map_version": 1, "build_year": 37, "build_week": 32} WARNING:velbus-packet:Module not recognized: 90 DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=176, data=b'b0 5a 56 a3 ff ff ff ff') DEBUG:velbus-packet:Received {"name": "ModuleSubTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 90, "sub_address_1": 255, "sub_address_2": 255, "sub_address_3": 255, "sub_address_4": 255, "serial": 22179, "sub_address_offset": 0} DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=167, data=b'a7 5a 56 a3 ff ff ff 02') DEBUG:velbus-packet:Received {"name": "ModuleSubTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 90, "sub_address_1": 255, "sub_address_2": 255, "sub_address_3": 255, "sub_address_4": 2, "serial": 22179, "sub_address_offset": 4} DEBUG:velbus-protocol:RX: RawMessage(priority=fb, address=01, rtr=False, command=166, data=b'a6 5a 56 a3 ff ff ff ff') DEBUG:velbus-packet:Received {"name": "ModuleSubTypeMessage", "priority": 251, "address": 1, "rtr": false, "data": "", "module_type": 90, "sub_address_1": 255, "sub_address_2": 255, "sub_address_3": 255, "sub_address_4": 255, "serial": 22179, "sub_address_offset": 8} DEBUG:velbus-protocol:TX: RawMessage(priority=fb, address=02, rtr=True, command=None, data=b'') DEBUG:velbus-protocol:TX: RawMessage(priority=fb, address=03, rtr=True, command=None, data=b'') DEBUG:velbus-protocol:TX: RawMessage(priority=fb, address=04, rtr=True, command=None, data=b'')

I removed the ~/.velbuscache folder and am on the latest master. Anything else you want me to do?

Cereal2nd commented 3 months ago

i just pushed a big update, can you check now?

dverhelst commented 3 months ago

Thanks for looking into this! Something more is happening, but it's not entirely there yet.

During the load_modules.py there's quite a bit of faulty logging

And eventually it goes into waiting.

Full log attached. loadmods.out.txt

INFO:velbus:Not all modules loaded yet, waiting 15 seconds
WARNING:velbus:Waiting for module 1
WARNING:velbus:Waiting for module 1
WARNING:velbus:Waiting for module 167
WARNING:velbus:Waiting for module 167
WARNING:velbus:Waiting for module 169
WARNING:velbus:Waiting for module 169
INFO:velbus:Not all modules loaded yet, waiting 15 seconds
ERROR:velbus:Not all modules are loaded within a timeout of 600 seconds, continuing with the loaded modules

At the end some description is shown:

VMBDALI-20:

<None: {90} @ {1} loaded:{False} loading:{False} channels{:{1: <class 'velbusaio.channels.Channel'>[_num = 1, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 2: <class 'velbusaio.channels.Channel'>[_num = 2, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 3: <class 'velbusaio.channels.Channel'>[_num = 3, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 4: <class 'velbusaio.channels.Channel'>[_num = 4, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 5: <class 'velbusaio.channels.Channel'>[_num = 5, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 6: <class 'velbusaio.channels.Channel'>[_num = 6, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 7: <class 'velbusaio.channels.Channel'>[_num = 7, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 8: <class 'velbusaio.channels.Channel'>[_num = 8, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 33: <class 'velbusaio.channels.Channel'>[_num = 33, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 34: <class 'velbusaio.channels.Channel'>[_num = 34, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 35: <class 'velbusaio.channels.Channel'>[_num = 35, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 36: <class 'velbusaio.channels.Channel'>[_num = 36, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 37: <class 'velbusaio.channels.Channel'>[_num = 37, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 38: <class 'velbusaio.channels.Channel'>[_num = 38, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 39: <class 'velbusaio.channels.Channel'>[_num = 39, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 40: <class 'velbusaio.channels.Channel'>[_num = 40, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 41: <class 'velbusaio.channels.Channel'>[_num = 41, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 42: <class 'velbusaio.channels.Channel'>[_num = 42, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 43: <class 'velbusaio.channels.Channel'>[_num = 43, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 44: <class 'velbusaio.channels.Channel'>[_num = 44, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 45: <class 'velbusaio.channels.Channel'>[_num = 45, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 46: <class 'velbusaio.channels.Channel'>[_num = 46, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 47: <class 'velbusaio.channels.Channel'>[_num = 47, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 48: <class 'velbusaio.channels.Channel'>[_num = 48, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 49: <class 'velbusaio.channels.Channel'>[_num = 49, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 50: <class 'velbusaio.channels.Channel'>[_num = 50, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 51: <class 'velbusaio.channels.Channel'>[_num = 51, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 52: <class 'velbusaio.channels.Channel'>[_num = 52, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 53: <class 'velbusaio.channels.Channel'>[_num = 53, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 54: <class 'velbusaio.channels.Channel'>[_num = 54, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 55: <class 'velbusaio.channels.Channel'>[_num = 55, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 56: <class 'velbusaio.channels.Channel'>[_num = 56, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 57: <class 'velbusaio.channels.Channel'>[_num = 57, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 58: <class 'velbusaio.channels.Channel'>[_num = 58, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 59: <class 'velbusaio.channels.Channel'>[_num = 59, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 60: <class 'velbusaio.channels.Channel'>[_num = 60, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 61: <class 'velbusaio.channels.Channel'>[_num = 61, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 62: <class 'velbusaio.channels.Channel'>[_num = 62, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 63: <class 'velbusaio.channels.Channel'>[_num = 63, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 64: <class 'velbusaio.channels.Channel'>[_num = 64, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []]}}>

<None: {90} @ {1} loaded:{False} loading:{False} channels{:{1: <class 'velbusaio.channels.Channel'>[_num = 1, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 2: <class 'velbusaio.channels.Channel'>[_num = 2, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 3: <class 'velbusaio.channels.Channel'>[_num = 3, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 4: <class 'velbusaio.channels.Channel'>[_num = 4, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 5: <class 'velbusaio.channels.Channel'>[_num = 5, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 6: <class 'velbusaio.channels.Channel'>[_num = 6, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 7: <class 'velbusaio.channels.Channel'>[_num = 7, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 8: <class 'velbusaio.channels.Channel'>[_num = 8, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 33: <class 'velbusaio.channels.Channel'>[_num = 33, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 34: <class 'velbusaio.channels.Channel'>[_num = 34, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 35: <class 'velbusaio.channels.Channel'>[_num = 35, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 36: <class 'velbusaio.channels.Channel'>[_num = 36, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 37: <class 'velbusaio.channels.Channel'>[_num = 37, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 38: <class 'velbusaio.channels.Channel'>[_num = 38, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 39: <class 'velbusaio.channels.Channel'>[_num = 39, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 40: <class 'velbusaio.channels.Channel'>[_num = 40, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 41: <class 'velbusaio.channels.Channel'>[_num = 41, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 42: <class 'velbusaio.channels.Channel'>[_num = 42, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 43: <class 'velbusaio.channels.Channel'>[_num = 43, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 44: <class 'velbusaio.channels.Channel'>[_num = 44, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 45: <class 'velbusaio.channels.Channel'>[_num = 45, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 46: <class 'velbusaio.channels.Channel'>[_num = 46, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 47: <class 'velbusaio.channels.Channel'>[_num = 47, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 48: <class 'velbusaio.channels.Channel'>[_num = 48, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 49: <class 'velbusaio.channels.Channel'>[_num = 49, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 50: <class 'velbusaio.channels.Channel'>[_num = 50, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 51: <class 'velbusaio.channels.Channel'>[_num = 51, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 52: <class 'velbusaio.channels.Channel'>[_num = 52, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 53: <class 'velbusaio.channels.Channel'>[_num = 53, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 54: <class 'velbusaio.channels.Channel'>[_num = 54, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 55: <class 'velbusaio.channels.Channel'>[_num = 55, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 56: <class 'velbusaio.channels.Channel'>[_num = 56, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 57: <class 'velbusaio.channels.Channel'>[_num = 57, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 58: <class 'velbusaio.channels.Channel'>[_num = 58, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 59: <class 'velbusaio.channels.Channel'>[_num = 59, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 60: <class 'velbusaio.channels.Channel'>[_num = 60, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 61: <class 'velbusaio.channels.Channel'>[_num = 61, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 62: <class 'velbusaio.channels.Channel'>[_num = 62, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 63: <class 'velbusaio.channels.Channel'>[_num = 63, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []], 64: <class 'velbusaio.channels.Channel'>[_num = 64, _name = 'placeholder', _is_loaded = False, _address = 1, _on_status_update = []]}}>

VMBGP4PIR-2

<None: {95} @ {169} loaded:{False} loading:{False} channels{:{1: <class 'velbusaio.channels.Button'>[_num = 1, _name = 'Drukknop 1', _is_loaded = True, _address = 169, _on_status_update = []], 2: <class 'velbusaio.channels.Button'>[_num = 2, _name = 'Drukknop 2', _is_loaded = True, _address = 169, _on_status_update = []], 3: <class 'velbusaio.channels.Button'>[_num = 3, _name = 'Drukknop 4', _is_loaded = True, _address = 169, _on_status_update = []], 4: <class 'velbusaio.channels.Button'>[_num = 4, _name = 'Push button 4', _is_loaded = False, _address = 169, _on_status_update = []], 5: <class 'velbusaio.channels.Sensor'>[_num = 5, _name = 'Dark/Light output', _is_loaded = True, _address = 169, _on_status_update = [], _closed = True], 6: <class 'velbusaio.channels.Sensor'>[_num = 6, _name = 'Motion output', _is_loaded = True, _address = 169, _on_status_update = []], 7: <class 'velbusaio.channels.Sensor'>[_num = 7, _name = 'Light Depending motion', _is_loaded = True, _address = 169, _on_status_update = []], 8: <class 'velbusaio.channels.Sensor'>[_num = 8, _name = 'Absence output', _is_loaded = True, _address = 169, _on_status_update = [], _closed = True], 9: <class 'velbusaio.channels.Temperature'>[_num = 9, _name = 'Temperature', _is_loaded = False, _address = 169, _on_status_update = [], _target = 5.0, _cmode = 'safe', _cstatus = 'run', _cool_mode = False, _cur = 23.0, _cur_precision = 0.5], 11: <class 'velbusaio.channels.Relay'>[_num = 11, _name = 'Output', _is_loaded = True, _address = 169, _on_status_update = []], 99: <class 'velbusaio.channels.LightSensor'>[_num = 99, _name = 'Light value', _is_loaded = True, _address = 169, _on_status_update = []]}}>

Cereal2nd commented 3 months ago

i just pushed some fixes

dverhelst commented 3 months ago

Not quite there yet, see output. load_modules.out-20240329.txt

Cereal2nd commented 3 months ago

another push, lets see what happens now

dverhelst commented 3 months ago

The VMBGP4PIR-2 keep showing up as 'none'

<None: {95} @ {169} loaded:{True} loading:{False} channels{:{1: <class 'velbusaio.channels.Button'>[_num = 1, _name = 'Drukknop 1', _is_loaded = True, _address = 169, _on_status_update = []], 2: <class 'velbusaio.channels.Button'>[_num = 2, _name = 'Drukknop 2', _is_loaded = True, _address = 169, _on_status_update = []], 3: <class 'velbusaio.channels.Button'>[_num = 3, _name = 'Drukknop 3', _is_loaded = True, _address = 169, _on_status_update = []], 4: <class 'velbusaio.channels.Button'>[_num = 4, _name = 'Drukknop 4', _is_loaded = True, _address = 169, _on_status_update = []], 5: <class 'velbusaio.channels.Sensor'>[_num = 5, _name = 'Dark/Light output', _is_loaded = True, _address = 169, _on_status_update = [], _closed = True, _enabled = False], 6: <class 'velbusaio.channels.Sensor'>[_num = 6, _name = 'Motion output', _is_loaded = True, _address = 169, _on_status_update = [], _enabled = False], 7: <class 'velbusaio.channels.Sensor'>[_num = 7, _name = 'Light Depending motion', _is_loaded = True, _address = 169, _on_status_update = [], _enabled = False], 8: <class 'velbusaio.channels.Sensor'>[_num = 8, _name = 'Absence output', _is_loaded = True, _address = 169, _on_status_update = [], _closed = True, _enabled = False], 9: <class 'velbusaio.channels.Temperature'>[_num = 9, _name = 'badkamer', _is_loaded = True, _address = 169, _on_status_update = [], _target = 5.0, _cmode = 'safe', _cstatus = 'run', _cool_mode = False, _cur = 22.0, _cur_precision = 0.5], 11: <class 'velbusaio.channels.Relay'>[_num = 11, _name = 'Output', _is_loaded = True, _address = 169, _on_status_update = []], 96: <class 'velbusaio.channels.SelectedProgram'>[_num = 96, _name = 'SelectedProgram', _is_loaded = True, _address = 169, _on_status_update = [], _selected_program_str = 'summer'], 99: <class 'velbusaio.channels.LightSensor'>[_num = 99, _name = 'Light value', _is_loaded = True, _address = 169, _on_status_update = []]}}>

<None: {95} @ {169} loaded:{True} loading:{False} channels{:{1: <class 'velbusaio.channels.Button'>[_num = 1, _name = 'Drukknop 1', _is_loaded = True, _address = 169, _on_status_update = []], 2: <class 'velbusaio.channels.Button'>[_num = 2, _name = 'Drukknop 2', _is_loaded = True, _address = 169, _on_status_update = []], 3: <class 'velbusaio.channels.Button'>[_num = 3, _name = 'Drukknop 3', _is_loaded = True, _address = 169, _on_status_update = []], 4: <class 'velbusaio.channels.Button'>[_num = 4, _name = 'Drukknop 4', _is_loaded = True, _address = 169, _on_status_update = []], 5: <class 'velbusaio.channels.Sensor'>[_num = 5, _name = 'Dark/Light output', _is_loaded = True, _address = 169, _on_status_update = [], _closed = True, _enabled = False], 6: <class 'velbusaio.channels.Sensor'>[_num = 6, _name = 'Motion output', _is_loaded = True, _address = 169, _on_status_update = [], _enabled = False], 7: <class 'velbusaio.channels.Sensor'>[_num = 7, _name = 'Light Depending motion', _is_loaded = True, _address = 169, _on_status_update = [], _enabled = False], 8: <class 'velbusaio.channels.Sensor'>[_num = 8, _name = 'Absence output', _is_loaded = True, _address = 169, _on_status_update = [], _closed = True, _enabled = False], 9: <class 'velbusaio.channels.Temperature'>[_num = 9, _name = 'badkamer', _is_loaded = True, _address = 169, _on_status_update = [], _target = 5.0, _cmode = 'safe', _cstatus = 'run', _cool_mode = False, _cur = 22.0, _cur_precision = 0.5], 11: <class 'velbusaio.channels.Relay'>[_num = 11, _name = 'Output', _is_loaded = True, _address = 169, _on_status_update = []], 96: <class 'velbusaio.channels.SelectedProgram'>[_num = 96, _name = 'SelectedProgram', _is_loaded = True, _address = 169, _on_status_update = [], _selected_program_str = 'summer'], 99: <class 'velbusaio.channels.LightSensor'>[_num = 99, _name = 'Light value', _is_loaded = True, _address = 169, _on_status_update = []]}}>

I see some progress on the VMBDALI-20 !

<None: {90} @ {1} loaded:{True} loading:{False} channels{:{1: <class 'velbusaio.channels.Dimmer'>[_num = 1, _name = 'spot-l-1', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 2: <class 'velbusaio.channels.Dimmer'>[_num = 2, _name = 'spot-l-2', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 3: <class 'velbusaio.channels.Dimmer'>[_num = 3, _name = 'Channel A2', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 4: <class 'velbusaio.channels.Dimmer'>[_num = 4, _name = 'spot-l-salon', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 5: <class 'velbusaio.channels.Dimmer'>[_num = 5, _name = 'spot-l-3', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 6: <class 'velbusaio.channels.Dimmer'>[_num = 6, _name = 'Channel A5', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 7: <class 'velbusaio.channels.Dimmer'>[_num = 7, _name = 'Channel A6', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 8: <class 'velbusaio.channels.Dimmer'>[_num = 8, _name = 'led aan uit', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254]}}>

<None: {90} @ {1} loaded:{True} loading:{False} channels{:{1: <class 'velbusaio.channels.Dimmer'>[_num = 1, _name = 'spot-l-1', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 2: <class 'velbusaio.channels.Dimmer'>[_num = 2, _name = 'spot-l-2', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 3: <class 'velbusaio.channels.Dimmer'>[_num = 3, _name = 'Channel A2', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 4: <class 'velbusaio.channels.Dimmer'>[_num = 4, _name = 'spot-l-salon', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 5: <class 'velbusaio.channels.Dimmer'>[_num = 5, _name = 'spot-l-3', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 6: <class 'velbusaio.channels.Dimmer'>[_num = 6, _name = 'Channel A5', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 7: <class 'velbusaio.channels.Dimmer'>[_num = 7, _name = 'Channel A6', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 8: <class 'velbusaio.channels.Dimmer'>[_num = 8, _name = 'led aan uit', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254]}}>

load_modules.out-20240330.txt

Cereal2nd commented 3 months ago

accoring to the docu (https://github.com/velbus/moduleprotocol/blob/master/protocol_vmbgp4pir_ed2.pdf) there is no modulename in the memorymap, so we can not load this in velbusaio

ggaljoen commented 3 months ago

image

Cereal2nd commented 3 months ago

Those are the channel names, not the module name

ggaljoen commented 3 months ago

Indeed you are right, again! Simulation shows the module name is starting @ 0x03C0 image

Cereal2nd commented 3 months ago

this is emplemented, si with master this should work

dverhelst commented 3 months ago

Still seeing some wrongfully-parsed entries, unsure whether this is expected.

DEBUG:velbus-packet:Received {"name": "TempSensorStatusMessage", "priority": 251, "address": 224, "rtr": false, "data": "", "local_control": 0, "status_mode": "run", "status_str": "run", "auto_send": 0, "mode": "safe", "mode_str": "safe", "cool_mode": false, "heater": false, "boost": false, "pump": false, "cooler": false, "alarm1": false, "alarm2": false, "alarm3": false, "alarm4": false, "current_temp": 16.5, "target_temp": 5.0, "sleep_timer": 0}
DEBUG:velbus-packet:Received {"name": "Drukkn", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 1}
DEBUG:velbus-packet:Received {"name": "op 1\u00ff\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 1}
DEBUG:velbus-packet:Received {"name": "\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 1}
DEBUG:velbus-packet:Received {"name": "Drukkn", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 2}
DEBUG:velbus-packet:Received {"name": "op 2\u00ff\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 2}
DEBUG:velbus-packet:Received {"name": "\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 2}
DEBUG:velbus-packet:Received {"name": "Drukkn", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 3}
DEBUG:velbus-packet:Received {"name": "op 3\u00ff\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 3}
DEBUG:velbus-packet:Received {"name": "\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 3}
DEBUG:velbus-packet:Received {"name": "Drukkn", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 4}
DEBUG:velbus-packet:Received {"name": "op 4\u00ff\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 4}
DEBUG:velbus-packet:Received {"name": "\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 4}
DEBUG:velbus-packet:Received {"name": "Virtue", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 5}
DEBUG:velbus-packet:Received {"name": "le kno", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 5}
DEBUG:velbus-packet:Received {"name": "p 1\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 5}
DEBUG:velbus-packet:Received {"name": "Virtue", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 6}
DEBUG:velbus-packet:Received {"name": "le kno", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 6}
DEBUG:velbus-packet:Received {"name": "p 2\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 6}
DEBUG:velbus-packet:Received {"name": "Virtue", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 7}
DEBUG:velbus-packet:Received {"name": "le kno", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 7}
DEBUG:velbus-packet:Received {"name": "p 3\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 7}
DEBUG:velbus-packet:Received {"name": "Virtue", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 8}
DEBUG:velbus-packet:Received {"name": "le kno", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 8}
DEBUG:velbus-packet:Received {"name": "p 4\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 8}
DEBUG:velbus-packet:Received {"name": "garage", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 9}
DEBUG:velbus-packet:Received {"name": " ateli", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 9}
DEBUG:velbus-packet:Received {"name": "er\u00ff\u00ff", "priority": 251, "address": 224, "rtr": false, "data": "", "channel": 9}
DEBUG:velbus-packet:Received {"name": "spot-l", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 1}
DEBUG:velbus-packet:Received {"name": "-1\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 1}
DEBUG:velbus-packet:Received {"name": "\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 1}
DEBUG:velbus-packet:Received {"name": "spot-l", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 2}
DEBUG:velbus-packet:Received {"name": "-2\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 2}
DEBUG:velbus-packet:Received {"name": "\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 2}
DEBUG:velbus-packet:Received {"name": "Channe", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 3}
DEBUG:velbus-packet:Received {"name": "l A2\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 3}
DEBUG:velbus-packet:Received {"name": "\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 3}
DEBUG:velbus-packet:Received {"name": "PushButtonStatusMessage", "priority": 248, "address": 169, "rtr": false, "data": "", "closed": [8], "opened": [], "closed_long": []}
DEBUG:velbus-packet:Received {"name": "spot-l", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 4}
DEBUG:velbus-packet:Received {"name": "-salon", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 4}
DEBUG:velbus-packet:Received {"name": "\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 4}
DEBUG:velbus-packet:Received {"name": "spot-l", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 5}
DEBUG:velbus-packet:Received {"name": "-3\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 5}
DEBUG:velbus-packet:Received {"name": "\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 5}
DEBUG:velbus-packet:Received {"name": "Channe", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 6}
DEBUG:velbus-packet:Received {"name": "l A5\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 6}
DEBUG:velbus-packet:Received {"name": "\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 6}
WARNING:velbus:Waiting for module 1
WARNING:velbus:Waiting for module 1
INFO:velbus:Not all modules loaded yet, waiting 15 seconds
DEBUG:velbus-packet:Received {"name": "Channe", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 7}
DEBUG:velbus-packet:Received {"name": "l A6\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 7}
DEBUG:velbus-packet:Received {"name": "\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 7}
DEBUG:velbus-packet:Received {"name": "led aa", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 8}
DEBUG:velbus-packet:Received {"name": "n uit\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 8}
DEBUG:velbus-packet:Received {"name": "\u00ff\u00ff\u00ff\u00ff", "priority": 251, "address": 1, "rtr": false, "data": "", "channel": 8}
INFO:velbus:All modules loaded

Module information:

<None: {90} @ {1} loaded:{True} loading:{False} channels{:{1: <class 'velbusaio.channels.Dimmer'>[_num = 1, _name = 'spot-l-1', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 2: <class 'velbusaio.channels.Dimmer'>[_num = 2, _name = 'spot-l-2', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 3: <class 'velbusaio.channels.Dimmer'>[_num = 3, _name = 'Channel A2', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 4: <class 'velbusaio.channels.Dimmer'>[_num = 4, _name = 'spot-l-salon', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 5: <class 'velbusaio.channels.Dimmer'>[_num = 5, _name = 'spot-l-3', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 6: <class 'velbusaio.channels.Dimmer'>[_num = 6, _name = 'Channel A5', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 7: <class 'velbusaio.channels.Dimmer'>[_num = 7, _name = 'Channel A6', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 8: <class 'velbusaio.channels.Dimmer'>[_num = 8, _name = 'led aan uit', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254]}}>

<None: {90} @ {1} loaded:{True} loading:{False} channels{:{1: <class 'velbusaio.channels.Dimmer'>[_num = 1, _name = 'spot-l-1', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 2: <class 'velbusaio.channels.Dimmer'>[_num = 2, _name = 'spot-l-2', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 3: <class 'velbusaio.channels.Dimmer'>[_num = 3, _name = 'Channel A2', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 4: <class 'velbusaio.channels.Dimmer'>[_num = 4, _name = 'spot-l-salon', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 5: <class 'velbusaio.channels.Dimmer'>[_num = 5, _name = 'spot-l-3', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 6: <class 'velbusaio.channels.Dimmer'>[_num = 6, _name = 'Channel A5', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 7: <class 'velbusaio.channels.Dimmer'>[_num = 7, _name = 'Channel A6', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254], 8: <class 'velbusaio.channels.Dimmer'>[_num = 8, _name = 'led aan uit', _is_loaded = True, _address = 1, _on_status_update = [], slider_scale = 254]}}>
<None: {95} @ {167} loaded:{True} loading:{False} channels{:{1: <class 'velbusaio.channels.Button'>[_num = 1, _name = 'Drukknop 1', _is_loaded = True, _address = 167, _on_status_update = []], 2: <class 'velbusaio.channels.Button'>[_num = 2, _name = 'Drukknop 2', _is_loaded = True, _address = 167, _on_status_update = []], 3: <class 'velbusaio.channels.Button'>[_num = 3, _name = 'Drukknop 3', _is_loaded = True, _address = 167, _on_status_update = []], 4: <class 'velbusaio.channels.Button'>[_num = 4, _name = 'Drukknop 4', _is_loaded = True, _address = 167, _on_status_update = []], 5: <class 'velbusaio.channels.Sensor'>[_num = 5, _name = 'Dark/Light output', _is_loaded = True, _address = 167, _on_status_update = [], _closed = True, _enabled = False], 6: <class 'velbusaio.channels.Sensor'>[_num = 6, _name = 'Motion output', _is_loaded = True, _address = 167, _on_status_update = [], _enabled = False], 7: <class 'velbusaio.channels.Sensor'>[_num = 7, _name = 'Light Depending motion', _is_loaded = True, _address = 167, _on_status_update = [], _enabled = False], 8: <class 'velbusaio.channels.Sensor'>[_num = 8, _name = 'Absence output', _is_loaded = True, _address = 167, _on_status_update = [], _enabled = False], 9: <class 'velbusaio.channels.Temperature'>[_num = 9, _name = 'gang beneden', _is_loaded = True, _address = 167, _on_status_update = [], _target = 5.0, _cmode = 'safe', _cstatus = 'run', _cool_mode = False, _cur = 20.0, _cur_precision = 0.5], 11: <class 'velbusaio.channels.Relay'>[_num = 11, _name = 'Output', _is_loaded = True, _address = 167, _on_status_update = []], 96: <class 'velbusaio.channels.SelectedProgram'>[_num = 96, _name = 'SelectedProgram', _is_loaded = True, _address = 167, _on_status_update = [], _selected_program_str = 'summer'], 99: <class 'velbusaio.channels.LightSensor'>[_num = 99, _name = 'Light value', _is_loaded = True, _address = 167, _on_status_update = []]}}>

<None: {95} @ {167} loaded:{True} loading:{False} channels{:{1: <class 'velbusaio.channels.Button'>[_num = 1, _name = 'Drukknop 1', _is_loaded = True, _address = 167, _on_status_update = []], 2: <class 'velbusaio.channels.Button'>[_num = 2, _name = 'Drukknop 2', _is_loaded = True, _address = 167, _on_status_update = []], 3: <class 'velbusaio.channels.Button'>[_num = 3, _name = 'Drukknop 3', _is_loaded = True, _address = 167, _on_status_update = []], 4: <class 'velbusaio.channels.Button'>[_num = 4, _name = 'Drukknop 4', _is_loaded = True, _address = 167, _on_status_update = []], 5: <class 'velbusaio.channels.Sensor'>[_num = 5, _name = 'Dark/Light output', _is_loaded = True, _address = 167, _on_status_update = [], _closed = True, _enabled = False], 6: <class 'velbusaio.channels.Sensor'>[_num = 6, _name = 'Motion output', _is_loaded = True, _address = 167, _on_status_update = [], _enabled = False], 7: <class 'velbusaio.channels.Sensor'>[_num = 7, _name = 'Light Depending motion', _is_loaded = True, _address = 167, _on_status_update = [], _enabled = False], 8: <class 'velbusaio.channels.Sensor'>[_num = 8, _name = 'Absence output', _is_loaded = True, _address = 167, _on_status_update = [], _enabled = False], 9: <class 'velbusaio.channels.Temperature'>[_num = 9, _name = 'gang beneden', _is_loaded = True, _address = 167, _on_status_update = [], _target = 5.0, _cmode = 'safe', _cstatus = 'run', _cool_mode = False, _cur = 20.0, _cur_precision = 0.5], 11: <class 'velbusaio.channels.Relay'>[_num = 11, _name = 'Output', _is_loaded = True, _address = 167, _on_status_update = []], 96: <class 'velbusaio.channels.SelectedProgram'>[_num = 96, _name = 'SelectedProgram', _is_loaded = True, _address = 167, _on_status_update = [], _selected_program_str = 'summer'], 99: <class 'velbusaio.channels.LightSensor'>[_num = 99, _name = 'Light value', _is_loaded = True, _address = 167, _on_status_update = []]}}>

Output attached!

load_modules.out-20240402.txt

Cereal2nd commented 3 months ago

are you hinting at the "1\u00ff\u00ff\u00ff\u00ff"

the 00ff?

dverhelst commented 3 months ago

Yes, as it seems to continue from the last line. Unless this is expected?

Cereal2nd commented 3 months ago

thats expected, thats how velbus send the memory data, FF is an empty char.

INFO:velbus:All modules loaded <= this is the important line, all seems ok