velbus-aio 2023.12.0__py3-none-any.whl → 2024.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of velbus-aio might be problematic. Click here for more details.
- {velbus_aio-2023.12.0.dist-info → velbus_aio-2024.4.0.dist-info}/METADATA +2 -1
- velbus_aio-2024.4.0.dist-info/RECORD +103 -0
- {velbus_aio-2023.12.0.dist-info → velbus_aio-2024.4.0.dist-info}/WHEEL +1 -1
- velbusaio/channels.py +5 -0
- velbusaio/command_registry.py +3 -0
- velbusaio/const.py +1 -0
- velbusaio/controller.py +1 -0
- velbusaio/handler.py +2 -59
- velbusaio/helpers.py +1 -0
- velbusaio/message.py +1 -0
- velbusaio/messages/__init__.py +1 -0
- velbusaio/messages/blind_status.py +1 -0
- velbusaio/messages/bus_active.py +1 -0
- velbusaio/messages/bus_error_counter_status.py +1 -0
- velbusaio/messages/bus_error_counter_status_request.py +1 -0
- velbusaio/messages/bus_off.py +1 -0
- velbusaio/messages/channel_name_part1.py +15 -0
- velbusaio/messages/channel_name_part2.py +14 -0
- velbusaio/messages/channel_name_part3.py +14 -0
- velbusaio/messages/channel_name_request.py +2 -1
- velbusaio/messages/clear_led.py +1 -0
- velbusaio/messages/counter_status.py +1 -0
- velbusaio/messages/counter_status_request.py +1 -0
- velbusaio/messages/cover_down.py +1 -0
- velbusaio/messages/cover_off.py +1 -0
- velbusaio/messages/cover_position.py +1 -0
- velbusaio/messages/cover_up.py +1 -0
- velbusaio/messages/dali_device_settings.py +2 -1
- velbusaio/messages/dali_device_settings_request.py +2 -1
- velbusaio/messages/dali_dim_value_status.py +2 -1
- velbusaio/messages/dimmer_channel_status.py +2 -1
- velbusaio/messages/dimmer_status.py +1 -0
- velbusaio/messages/edge_set_custom_color.py +1 -0
- velbusaio/messages/fast_blinking_led.py +1 -0
- velbusaio/messages/forced_off.py +1 -0
- velbusaio/messages/forced_on.py +1 -0
- velbusaio/messages/interface_status_request.py +1 -0
- velbusaio/messages/ir_receiver_status.py +1 -0
- velbusaio/messages/kwh_status.py +1 -0
- velbusaio/messages/light_value_request.py +1 -0
- velbusaio/messages/memo_text.py +1 -0
- velbusaio/messages/memory_data.py +1 -0
- velbusaio/messages/memory_data_block.py +1 -0
- velbusaio/messages/memory_dump_request.py +1 -0
- velbusaio/messages/module_status.py +12 -0
- velbusaio/messages/module_status_request.py +1 -0
- velbusaio/messages/module_subtype.py +1 -0
- velbusaio/messages/module_type.py +1 -0
- velbusaio/messages/module_type_request.py +1 -0
- velbusaio/messages/push_button_status.py +1 -0
- velbusaio/messages/raw.py +1 -0
- velbusaio/messages/read_data_block_from_memory.py +1 -0
- velbusaio/messages/read_data_from_memory.py +1 -0
- velbusaio/messages/realtime_clock_status_request.py +1 -0
- velbusaio/messages/receive_buffer_full.py +1 -0
- velbusaio/messages/receive_ready.py +1 -0
- velbusaio/messages/relay_status.py +1 -0
- velbusaio/messages/restore_dimmer.py +6 -2
- velbusaio/messages/select_program.py +1 -0
- velbusaio/messages/sensor_settings_request.py +1 -0
- velbusaio/messages/sensor_temp_request.py +1 -0
- velbusaio/messages/sensor_temperature.py +1 -0
- velbusaio/messages/set_date.py +1 -0
- velbusaio/messages/set_daylight_saving.py +1 -0
- velbusaio/messages/set_dimmer.py +6 -2
- velbusaio/messages/set_led.py +1 -0
- velbusaio/messages/set_realtime_clock.py +1 -0
- velbusaio/messages/set_temperature.py +1 -0
- velbusaio/messages/slider_status.py +5 -1
- velbusaio/messages/slow_blinking_led.py +1 -0
- velbusaio/messages/start_relay_blinking_timer.py +1 -0
- velbusaio/messages/start_relay_timer.py +1 -0
- velbusaio/messages/switch_relay_off.py +1 -0
- velbusaio/messages/switch_relay_on.py +1 -0
- velbusaio/messages/switch_to_comfort.py +1 -0
- velbusaio/messages/switch_to_day.py +1 -0
- velbusaio/messages/switch_to_night.py +1 -0
- velbusaio/messages/switch_to_safe.py +1 -0
- velbusaio/messages/temp_sensor_settings_part1.py +1 -0
- velbusaio/messages/temp_sensor_settings_part2.py +1 -0
- velbusaio/messages/temp_sensor_settings_part3.py +1 -0
- velbusaio/messages/temp_sensor_settings_part4.py +1 -0
- velbusaio/messages/temp_sensor_settings_request.py +1 -0
- velbusaio/messages/temp_sensor_status.py +1 -0
- velbusaio/messages/temp_set_cooling.py +1 -0
- velbusaio/messages/temp_set_heating.py +1 -0
- velbusaio/messages/update_led_status.py +1 -0
- velbusaio/messages/very_fast_blinking_led.py +1 -0
- velbusaio/messages/write_data_to_memory.py +1 -0
- velbusaio/messages/write_memory_block.py +1 -0
- velbusaio/messages/write_module_address_and_serial_number.py +1 -0
- velbusaio/module.py +11 -16
- velbusaio/protocol.json +10122 -0
- velbusaio/protocol.py +2 -2
- velbusaio/raw_message.py +6 -6
- velbus_aio-2023.12.0.dist-info/RECORD +0 -103
- velbusaio/moduleprotocol/protocol.json +0 -26507
- {velbus_aio-2023.12.0.dist-info → velbus_aio-2024.4.0.dist-info}/LICENSE +0 -0
- {velbus_aio-2023.12.0.dist-info → velbus_aio-2024.4.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: velbus-aio
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2024.4.0
|
|
4
4
|
Summary: Open-source home automation platform running on Python 3.
|
|
5
5
|
Author-email: Maikel Punie <maikel.punie@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -30,6 +30,7 @@ Requires-Dist: pyserial-asyncio >=0.5
|
|
|
30
30
|
Requires-Dist: backoff >=1.10.0
|
|
31
31
|
|
|
32
32
|

|
|
33
|
+
[](https://results.pre-commit.ci/latest/github/Cereal2nd/velbus-aio/master)
|
|
33
34
|
|
|
34
35
|
# velbus-aio
|
|
35
36
|
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
velbusaio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
velbusaio/channels.py,sha256=RHX0YdaeyCMgXSV7f3VkN-grSIJu-lGStjC8CzGlU2s,22998
|
|
3
|
+
velbusaio/command_registry.py,sha256=7oFAR6w-exVZJB9AVzQv5pBdvVmaR7tNVfwOsAaB_8Q,4838
|
|
4
|
+
velbusaio/const.py,sha256=tqw1zC4Aq2iKMt4lHf_5h-W0aqDQR-XR3G0oeQLG1Ks,1551
|
|
5
|
+
velbusaio/controller.py,sha256=zqoRPaWsaxZdiLf1jWWZqUmga9Hk3_n0xFZs1WOCxuY,9254
|
|
6
|
+
velbusaio/discovery.py,sha256=Px6qoZl4QhF17aMz6JxstCORBpLzZGWEK9h4Vyvg57o,1649
|
|
7
|
+
velbusaio/exceptions.py,sha256=FHkXaM3dK5Gkk-QGAf9dLE3FPlCU2FRZWUyY-4KRNnA,515
|
|
8
|
+
velbusaio/handler.py,sha256=xqUguhhEeyagSEyCdtZ1IFnZSPd91atfhZ-sYSzygFQ,5907
|
|
9
|
+
velbusaio/helpers.py,sha256=zIHWVIizhvqJXOgbkLB3IromoGyeyk0DYqeVLCbMpkg,2543
|
|
10
|
+
velbusaio/message.py,sha256=7lf2kzI74SDXQubvnQm8weqHS4YGUSTquPm_KvNR3q0,5049
|
|
11
|
+
velbusaio/module.py,sha256=cLkNVWMchUfa_THLf17VRySly8Oe-GXkUJM7juVYxRk,34978
|
|
12
|
+
velbusaio/protocol.json,sha256=KEyfib_UUkntP9WGmCeutUQw1WgH4nT7GkGLB-Grg4E,250285
|
|
13
|
+
velbusaio/protocol.py,sha256=ofDwJfwyrVQDQ40WX2QdH1nTK-y2HibQPTo5dFY7SkQ,8224
|
|
14
|
+
velbusaio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
velbusaio/raw_message.py,sha256=ODoTPVAvyXXQSMXxtQO1U5OxcoQ4W8JJN5fotEDGSTo,4690
|
|
16
|
+
velbusaio/util.py,sha256=eCsGQJ9nuzk_B2skBlv3MsNaMaHDXo1a1qSPjObzXH4,1540
|
|
17
|
+
velbusaio/messages/__init__.py,sha256=hLkLhsJ5hcgRnhaoyFWz1g2vphdnjrXURxgwezkDBwU,5893
|
|
18
|
+
velbusaio/messages/blind_status.py,sha256=yzjoYLBxH85tBjihiGzLqebRg1urz0obBA-3q1pqSCE,3418
|
|
19
|
+
velbusaio/messages/bus_active.py,sha256=AB1mEvbMXRuOaC2CQ7hzKSLmbaJnyFqqXrARi-aSdtg,749
|
|
20
|
+
velbusaio/messages/bus_error_counter_status.py,sha256=x0RIzil6IcXWq6GHEFYDkSAergNF51JQYyetDXjvvzY,1178
|
|
21
|
+
velbusaio/messages/bus_error_counter_status_request.py,sha256=zjX3k8MKgR9FO253a7bIlO-ba6SHmLi2WZT6ayAicrw,703
|
|
22
|
+
velbusaio/messages/bus_off.py,sha256=z0PmNZyTlwee6jXnzgK4zHhFvevAXNboDrEEQvyLLfc,679
|
|
23
|
+
velbusaio/messages/channel_name_part1.py,sha256=_6zpf0niulSVKxr2F1eXXOyfX0159OtOJQyg5HUqQ8I,2883
|
|
24
|
+
velbusaio/messages/channel_name_part2.py,sha256=gPg_wShY-PgIDUm7uLB8_6WoA8-RgbRFNhULvCvj9as,2858
|
|
25
|
+
velbusaio/messages/channel_name_part3.py,sha256=AIc79eefKok7WwVYKZrwBTEHM1hyjTmqzWjpJquOAl8,2859
|
|
26
|
+
velbusaio/messages/channel_name_request.py,sha256=t8Tpx9l4XLgF6cDwUylXk0r8vmNG2QrXJq9F4TwAaBg,2378
|
|
27
|
+
velbusaio/messages/clear_led.py,sha256=AcGRCD0OdlHcFonvHA075nVwvOtZ6KfyjrXeE6A7DZA,912
|
|
28
|
+
velbusaio/messages/counter_status.py,sha256=UgSRw-pipFb8C2DxauHw8Pjem1qTvzUFpiahui73-Is,1240
|
|
29
|
+
velbusaio/messages/counter_status_request.py,sha256=VLFaI7MFnTCH1s8acfKlcAGscJElwxYRC56eT3bbB7Y,919
|
|
30
|
+
velbusaio/messages/cover_down.py,sha256=tdjsRijrEa5oNBZk6uKWUK39k5gIjcWq0kgfOf4f1lQ,2552
|
|
31
|
+
velbusaio/messages/cover_off.py,sha256=Y4dzJL_BKSATmztD444KOWlEnPuoAy3OfQ7CWaYRbMs,2258
|
|
32
|
+
velbusaio/messages/cover_position.py,sha256=3ZcNSMpj-3Y355vb7bu4IiGGgjw_2nENlo4wEseya1Q,1283
|
|
33
|
+
velbusaio/messages/cover_up.py,sha256=P20AZx8qQScbyV0sxtZOlO03Q8pFO8NunpqIr4mZ6Lw,2547
|
|
34
|
+
velbusaio/messages/dali_device_settings.py,sha256=KzJ7OFkFRPuCXSOThuplM48J_kH0I3RE82ZRCpmiqYA,4870
|
|
35
|
+
velbusaio/messages/dali_device_settings_request.py,sha256=InTnrwLD7l9gCHXKlJ69FHMXcejtYMUZBtnffx9nDQU,1476
|
|
36
|
+
velbusaio/messages/dali_dim_value_status.py,sha256=Kgtfb65HCku4OBm6uaxKFpK3VtlYaTemSjMhZqngqkY,1059
|
|
37
|
+
velbusaio/messages/dimmer_channel_status.py,sha256=uk0SqV3EMJcDGZjoJDA_iHEpgk57qaa7xg1CQkSlIvc,2484
|
|
38
|
+
velbusaio/messages/dimmer_status.py,sha256=pWsWXJGWmYGio4FyUktI9aYnIBQkGCQ5ZwaeqnenYsU,2938
|
|
39
|
+
velbusaio/messages/edge_set_color.py,sha256=enwPshhNrleAQQwc3RobPt5foZ1ynE_74SlBEuzd86w,3305
|
|
40
|
+
velbusaio/messages/edge_set_custom_color.py,sha256=Lz-7prBveqPwuDWv2Mn13X9TAXGBEquw8xz2_y9NtTk,1338
|
|
41
|
+
velbusaio/messages/fast_blinking_led.py,sha256=_AaG6NcjzG_cBNARogzu56l7DNpGU11XGrDHIkMuKss,909
|
|
42
|
+
velbusaio/messages/forced_off.py,sha256=RhYRkd7bbq4Nvg2mOp8Vmg3zvhyGeXYeAYJC8iQ_Bzw,591
|
|
43
|
+
velbusaio/messages/forced_on.py,sha256=38ZDMP70wcZ2I0w0w6HUROakhdl8bhVNELGpMCDqo6E,590
|
|
44
|
+
velbusaio/messages/interface_status_request.py,sha256=V0qfK1FM-uTT3ChXPiUOY0FdHJIB5rp4vLbOFjzgZMQ,695
|
|
45
|
+
velbusaio/messages/ir_receiver_status.py,sha256=EfCSaB0FRy1h1ofjRa-kim-oPnwWeHDmaw8XATRpJFE,375
|
|
46
|
+
velbusaio/messages/kwh_status.py,sha256=qUeHfA_66MCGUw3A-Kz9bMaw-WUZYJvc-vEcru51KiY,1414
|
|
47
|
+
velbusaio/messages/light_value_request.py,sha256=ysejBpgiifSCFHh88sKvou7f1BSqchCmTMAT3kjAGX0,599
|
|
48
|
+
velbusaio/messages/memo_text.py,sha256=RwAjm14oths6rmsjC8WFFS7uOD9UHRue1UxTd4AuQHU,1031
|
|
49
|
+
velbusaio/messages/memory_data.py,sha256=kH_jTCZCyivRnD3DJeiWKDTG01Vk91LbdRXVjj8WHBU,1031
|
|
50
|
+
velbusaio/messages/memory_data_block.py,sha256=3QufrOahEkIhJjivWtOXp62YuVaUwx6trA-OQls6ohQ,1045
|
|
51
|
+
velbusaio/messages/memory_dump_request.py,sha256=xrPsdpygD9DUF3lp-BzJacuq1dNkqz2wtHpqu_F1zVM,699
|
|
52
|
+
velbusaio/messages/module_status.py,sha256=83UrRFXgRRngcF36fogyw8G5XPFlyaoZoW7XlxwvnQE,6637
|
|
53
|
+
velbusaio/messages/module_status_request.py,sha256=s3h8F6Dpmjcb4hqDQKIzdOgocW1F_st40cctcW7WmQ4,961
|
|
54
|
+
velbusaio/messages/module_subtype.py,sha256=VQXQ-c_yFbj9_64SjfiM-PLk1hV7xUWIcQ1DZYTpKhI,1464
|
|
55
|
+
velbusaio/messages/module_type.py,sha256=toHlsLoek61cQ9JXG3alJyAuQtny1RSY7K6cM4hfNOk,4116
|
|
56
|
+
velbusaio/messages/module_type_request.py,sha256=fntMYCF1WVwSseCy3zRoZQH6JeGz8JDfTkwHC3AvcB4,754
|
|
57
|
+
velbusaio/messages/push_button_status.py,sha256=SRFLvNC00FdKDTSb4kNVSHeXI1i5Ey5ENxpsB3B8FuU,1554
|
|
58
|
+
velbusaio/messages/raw.py,sha256=pepZSUVY-ro5jv3ZyO6BI3ap5RZ2g_Bd9dlbaICFldQ,1964
|
|
59
|
+
velbusaio/messages/read_data_block_from_memory.py,sha256=GQwnO71rwPTFgu4YyB4FNQs4_G4dAOGuAsBqwBzmpXs,975
|
|
60
|
+
velbusaio/messages/read_data_from_memory.py,sha256=0Sy9x-7HmkazohpUqFT-647EUmCL8swIgcCpb93a-Fg,978
|
|
61
|
+
velbusaio/messages/realtime_clock_status_request.py,sha256=cDhA8lkCfvHtYwKIQ-bewCfg6xS6Uo4Ruj8KF6aGvDs,608
|
|
62
|
+
velbusaio/messages/receive_buffer_full.py,sha256=Xg4zy6rM-3Zxp3wjRRpVXA3UsFIiUZA0l-vU8c_Y33Q,858
|
|
63
|
+
velbusaio/messages/receive_ready.py,sha256=BjIu-zWlrBGV2BF1BdKF6jUbfzNLAUblq3SRTtF_0rg,687
|
|
64
|
+
velbusaio/messages/relay_status.py,sha256=du16mnJXIzbDSsaIJnoN5KkdqsloOgNkfoFuu3x_F5Y,2837
|
|
65
|
+
velbusaio/messages/restore_dimmer.py,sha256=YQsR7NF1pC40KaegxQhqcmL2mL57aPHsgzdA3YHrLxQ,1822
|
|
66
|
+
velbusaio/messages/select_program.py,sha256=9jLhsCuYGQsw-FMxpmNljPZifGeE_oJ6A5bgCRI2JJ0,835
|
|
67
|
+
velbusaio/messages/sensor_settings_request.py,sha256=Uwywf0JGwBwc_2ZlfxVJicm3oUlWBNEcclcHA2_Mv5I,819
|
|
68
|
+
velbusaio/messages/sensor_temp_request.py,sha256=bTChj9udOjIww9vJ2SWmMtbry_8jLDvbWSAy_ZPmrb4,599
|
|
69
|
+
velbusaio/messages/sensor_temperature.py,sha256=ThA_4FFhQutCSt8147yCy7ocUFfizWaUV2JHoNzesNc,1558
|
|
70
|
+
velbusaio/messages/set_date.py,sha256=SH11ufAZgcGDd0Fwf9Lm2UoIsL_02ZkUfsWZxl5hej4,1460
|
|
71
|
+
velbusaio/messages/set_daylight_saving.py,sha256=A3sEEVi1Wnj9AaWbNyuW_Itp7pfKNYjjMBrMTQe_QHY,1118
|
|
72
|
+
velbusaio/messages/set_dimmer.py,sha256=f2XWLbxoo0Tbj8_DUu28XSiib32VLUDtw8QRzRZBDdA,1975
|
|
73
|
+
velbusaio/messages/set_led.py,sha256=X8tIDzJgtf5EsH92rjoUyrECNFW-ECgAQoQ9TnvJEQk,900
|
|
74
|
+
velbusaio/messages/set_realtime_clock.py,sha256=c52JLvULnf-WgKfju1sYHZRGZ4PjP3v1GS8fbxYxIBc,1309
|
|
75
|
+
velbusaio/messages/set_temperature.py,sha256=78LfGOBZo2bw7eF38uyXOjUcJrsSvQPDW2qbXLOYd0o,959
|
|
76
|
+
velbusaio/messages/slider_status.py,sha256=AlBI1DJPLUwxOFfPIKYv15bFOnVXm__Tym7AW4xGMxo,1418
|
|
77
|
+
velbusaio/messages/slow_blinking_led.py,sha256=UktzpRtyM4mR7_KQuNjqenPEeM3P1vgTyMW8dnVwylQ,909
|
|
78
|
+
velbusaio/messages/start_relay_blinking_timer.py,sha256=AUqeXzQlxoW-jxG0YR7Lqt8QfDC1qX3u_MVSMkI783E,1298
|
|
79
|
+
velbusaio/messages/start_relay_timer.py,sha256=FZP4hL3t0rNF_b8GluAM_IymBRkp86epx2rJ29LXpyQ,1290
|
|
80
|
+
velbusaio/messages/switch_relay_off.py,sha256=zmFQP2M0dNKDIljAba0jswKCXsML1psBjfrQtmHuzPM,1099
|
|
81
|
+
velbusaio/messages/switch_relay_on.py,sha256=gMXV8F2rdFQMLKu3Rd1QXHqpb8RWsgcVqwnTt3C28y8,1098
|
|
82
|
+
velbusaio/messages/switch_to_comfort.py,sha256=_avZVz-OkEYe05syirB2N0d8IdgfxElRncNajRWMg_Y,791
|
|
83
|
+
velbusaio/messages/switch_to_day.py,sha256=c9ZQIfE6_tCSUksj1V_M8Pbo48-H7rbPriEtDmX6Shk,787
|
|
84
|
+
velbusaio/messages/switch_to_night.py,sha256=K-_19ZnnlJCOZJkEqWJ3antwHlHEjE7L5BA_H4vd99I,789
|
|
85
|
+
velbusaio/messages/switch_to_safe.py,sha256=5G6ZYdmi_-9W9KB-_SofUfco6ppWb802cChXHq4O6Gg,788
|
|
86
|
+
velbusaio/messages/temp_sensor_settings_part1.py,sha256=QBIzzfj7tB_9LQRlY92ac5IMGnEcgsvQPsyv9CHms9E,605
|
|
87
|
+
velbusaio/messages/temp_sensor_settings_part2.py,sha256=H7JxqsfBmIk05iTtpWfDidvyf-kGMj1YEJ-VouvAHnE,584
|
|
88
|
+
velbusaio/messages/temp_sensor_settings_part3.py,sha256=e9YUkcn11sRwcmvCCOzm87irJ5pdt81S3I1qGZBcTe0,584
|
|
89
|
+
velbusaio/messages/temp_sensor_settings_part4.py,sha256=b9s2-tj-q-ct0--_uvDOJx7JQtZ3hPShRyD5_oFGmGY,584
|
|
90
|
+
velbusaio/messages/temp_sensor_settings_request.py,sha256=kZG3QeHQdA-QEvp3newPGvNW8qhIrJAVcqTY1sZqtvQ,607
|
|
91
|
+
velbusaio/messages/temp_sensor_status.py,sha256=FnY5qFKli2P9xnpVKgysN_nOE_vx86G77Ql93vyTPEY,3828
|
|
92
|
+
velbusaio/messages/temp_set_cooling.py,sha256=_KzrPPdQNYLF6V8-KNehk6D82IQXNCe2obkct_QxX_c,724
|
|
93
|
+
velbusaio/messages/temp_set_heating.py,sha256=Au6b3Y3vpwwdfCJzO5DLOPPVJ98DBrO5_hxMtc165Ho,724
|
|
94
|
+
velbusaio/messages/update_led_status.py,sha256=77wRc3sQl_wXrGvGw9r9-KY17NE5mxTJYgvHWQ5DrRU,1301
|
|
95
|
+
velbusaio/messages/very_fast_blinking_led.py,sha256=vlMEern8PoOvtO5JaAk9erMR4IKJoWUeHJcD69S3B14,913
|
|
96
|
+
velbusaio/messages/write_data_to_memory.py,sha256=gr6bi4SzK8Mw8fnp8yV-STq5jts7NoeV7zZgdptH5Vs,1039
|
|
97
|
+
velbusaio/messages/write_memory_block.py,sha256=zGnNxx_M66HpBQ8S7kagtNw8_qSRHsOLk1MuiS0uygM,1032
|
|
98
|
+
velbusaio/messages/write_module_address_and_serial_number.py,sha256=6y57j-md3btNtQddX5CUREtSs1Dzgkd953sQPZ3Pioo,1597
|
|
99
|
+
velbus_aio-2024.4.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
100
|
+
velbus_aio-2024.4.0.dist-info/METADATA,sha256=3PZCfpL0kS3j7hbvvbv7DwzkZe4kiUgemAP3jnrhNjo,3253
|
|
101
|
+
velbus_aio-2024.4.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
102
|
+
velbus_aio-2024.4.0.dist-info/top_level.txt,sha256=W0-lSOwD23mm8FqaIe9vY20fKicBMIdUVjF-zmfxRnY,15
|
|
103
|
+
velbus_aio-2024.4.0.dist-info/RECORD,,
|
velbusaio/channels.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
author: Maikel Punie <maikel.punie@gmail.com>
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
from __future__ import annotations
|
|
5
6
|
|
|
6
7
|
import asyncio
|
|
@@ -276,6 +277,10 @@ class Blind(Channel):
|
|
|
276
277
|
|
|
277
278
|
async def set_position(self, position: int) -> None:
|
|
278
279
|
# may not be supported by the module
|
|
280
|
+
if position == 100:
|
|
281
|
+
# at least VMB1BLS ignores command 0x1C with position 0x64
|
|
282
|
+
await self.close()
|
|
283
|
+
return
|
|
279
284
|
cls = commandRegistry.get_command(0x1C, self._module.get_type())
|
|
280
285
|
msg = cls(self._address)
|
|
281
286
|
msg.channel = self._num
|
velbusaio/command_registry.py
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"""
|
|
2
2
|
:author: Maikel Punie <maikel.punie@gmail.com> and Thomas Delaet <thomas@delaet.org>
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
from __future__ import annotations
|
|
5
6
|
|
|
6
7
|
MODULE_DIRECTORY = {
|
|
7
8
|
0x01: "VMB8PB",
|
|
8
9
|
0x02: "VMB1RY",
|
|
9
10
|
0x03: "VMB1BL",
|
|
11
|
+
0x04: "VMB4LEDPWM-20",
|
|
10
12
|
0x05: "VMB6IN",
|
|
11
13
|
0x07: "VMB1DM",
|
|
12
14
|
0x08: "VMB4RY",
|
|
@@ -68,6 +70,7 @@ MODULE_DIRECTORY = {
|
|
|
68
70
|
0x48: "VMB4RYLD-10",
|
|
69
71
|
0x49: "VMB4RYNO-10",
|
|
70
72
|
0x4A: "VMB2BLE-10",
|
|
73
|
+
0x4B: "VMB8DC-20",
|
|
71
74
|
0x4C: "VMB6PB-20",
|
|
72
75
|
0x4F: "VMBEL1-20",
|
|
73
76
|
0x50: "VMBEL2-20",
|
velbusaio/const.py
CHANGED
velbusaio/controller.py
CHANGED
velbusaio/handler.py
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Velbus packet handler
|
|
3
3
|
:Author maikel punie <maikel.punie@gmail.com>
|
|
4
4
|
"""
|
|
5
|
+
|
|
5
6
|
from __future__ import annotations
|
|
6
7
|
|
|
7
8
|
import asyncio
|
|
@@ -9,7 +10,6 @@ import json
|
|
|
9
10
|
import logging
|
|
10
11
|
import re
|
|
11
12
|
from typing import TYPE_CHECKING, Awaitable, Callable
|
|
12
|
-
|
|
13
13
|
import pkg_resources
|
|
14
14
|
|
|
15
15
|
from velbusaio.command_registry import commandRegistry
|
|
@@ -39,7 +39,7 @@ class PacketHandler:
|
|
|
39
39
|
self._scan_complete = False
|
|
40
40
|
self._scan_complete_event = asyncio.Event()
|
|
41
41
|
with open(
|
|
42
|
-
pkg_resources.resource_filename(__name__, "
|
|
42
|
+
pkg_resources.resource_filename(__name__, "protocol.json")
|
|
43
43
|
) as protocol_file:
|
|
44
44
|
self.pdata = json.load(protocol_file)
|
|
45
45
|
|
|
@@ -118,63 +118,6 @@ class PacketHandler:
|
|
|
118
118
|
)
|
|
119
119
|
)
|
|
120
120
|
|
|
121
|
-
# def _handle_message(self, rawMsg: RawMessage) -> None:
|
|
122
|
-
# module_type = self._velbus.get_module(rawMsg.address).get_type()
|
|
123
|
-
# this_msg = keys_exists(
|
|
124
|
-
# self.pdata, "ModuleTypes", h2(module_type), "Messages", h2(rawMsg.command), "Data"
|
|
125
|
-
# )
|
|
126
|
-
# if this_msg and "PerByte" in this_msg:
|
|
127
|
-
# self._per_byte(this_msg["PerByte"], rawMsg)
|
|
128
|
-
|
|
129
|
-
# def _per_byte(self, cmsg, rawMsg: RawMessage) -> dict:
|
|
130
|
-
# result = {}
|
|
131
|
-
# byte_index = 0
|
|
132
|
-
# for byte in rawMsg.data:
|
|
133
|
-
# num = str(byte_index)
|
|
134
|
-
# # only do something if its defined
|
|
135
|
-
# if num not in cmsg:
|
|
136
|
-
# continue
|
|
137
|
-
# # check if we can do a binary match
|
|
138
|
-
# for mat in cmsg[num]["Match"]:
|
|
139
|
-
# if (
|
|
140
|
-
# (mat.startswith("%") and re.match(mat[1:], f"{byte:08b}"))
|
|
141
|
-
# or mat == f"{byte:08b}"
|
|
142
|
-
# or mat == f"{byte:02x}"
|
|
143
|
-
# ):
|
|
144
|
-
# result = self._per_byte_handle(
|
|
145
|
-
# result, cmsg[num]["Match"][mat], byte
|
|
146
|
-
# )
|
|
147
|
-
# byte_index += 1
|
|
148
|
-
# return result
|
|
149
|
-
|
|
150
|
-
# def _per_byte_handle(self, result: dict, todo: dict, byte: int) -> dict:
|
|
151
|
-
# if "Channel" in todo:
|
|
152
|
-
# result["Channel"] = todo["Channel"]
|
|
153
|
-
# if "Value" in todo:
|
|
154
|
-
# result["Value"] = todo["Value"]
|
|
155
|
-
# if "Convert" in todo:
|
|
156
|
-
# result["ValueList"] = []
|
|
157
|
-
# if todo["Convert"] == "Decimal":
|
|
158
|
-
# result["ValueList"].append(int(byte))
|
|
159
|
-
# elif todo["Convert"] == "Counter":
|
|
160
|
-
# result["ValueList"].append(f"{byte:02x}")
|
|
161
|
-
# elif todo["Convert"] == "Temperature":
|
|
162
|
-
# print("CONVERT temperature")
|
|
163
|
-
# elif todo["Convert"] == "Divider":
|
|
164
|
-
# bin_str = f"{byte:08b}"
|
|
165
|
-
# chan = bin_str[6:]
|
|
166
|
-
# val = bin_str[:5]
|
|
167
|
-
# print(f"CONVERT Divider {chan} {val}")
|
|
168
|
-
# elif todo["Convert"] == "Channel":
|
|
169
|
-
# print("CONVERT Channel")
|
|
170
|
-
# elif todo["Convert"] == "ChannelBit":
|
|
171
|
-
# print("CONVERT ChannelBit")
|
|
172
|
-
# elif todo["Convert"].startswith("ChannelBitStatus"):
|
|
173
|
-
# print("CONVERT ChannelBitStatus")
|
|
174
|
-
# else:
|
|
175
|
-
# self._log.error("UNKNOWN convert requested: {}".format(todo["Convert"]))
|
|
176
|
-
# return result
|
|
177
|
-
|
|
178
121
|
async def _handle_module_type(self, msg: Message) -> None:
|
|
179
122
|
"""
|
|
180
123
|
load the module data
|
velbusaio/helpers.py
CHANGED
velbusaio/message.py
CHANGED
velbusaio/messages/__init__.py
CHANGED
velbusaio/messages/bus_active.py
CHANGED
velbusaio/messages/bus_off.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
:author: Thomas Delaet <thomas@delaet.org>
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
from __future__ import annotations
|
|
5
6
|
|
|
6
7
|
from velbusaio.command_registry import register
|
|
@@ -69,6 +70,20 @@ class ChannelNamePart1Message(Message):
|
|
|
69
70
|
"VMBELPIR",
|
|
70
71
|
"VMBDALI",
|
|
71
72
|
"VMB4AN",
|
|
73
|
+
"VMB6PB-20",
|
|
74
|
+
"VMBEL1-20",
|
|
75
|
+
"VMBEL2-20",
|
|
76
|
+
"VMBEL4-20",
|
|
77
|
+
"VMBELO-20",
|
|
78
|
+
"VMBGP1-20",
|
|
79
|
+
"VMBGP2-20",
|
|
80
|
+
"VMBGP4-20",
|
|
81
|
+
"VMBGPO-20",
|
|
82
|
+
"VMBDALI-20",
|
|
83
|
+
"VMBEL4PIR-20",
|
|
84
|
+
"VMBGP4PIR-20",
|
|
85
|
+
"VMB4LEDPWM-20",
|
|
86
|
+
"VMB8DC-20",
|
|
72
87
|
],
|
|
73
88
|
)
|
|
74
89
|
class ChannelNamePart1Message2(ChannelNamePart1Message):
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
:author: Thomas Delaet <thomas@delaet.org>
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
from __future__ import annotations
|
|
5
6
|
|
|
6
7
|
from velbusaio.command_registry import register
|
|
@@ -69,6 +70,19 @@ class ChannelNamePart2Message(Message):
|
|
|
69
70
|
"VMBELPIR",
|
|
70
71
|
"VMBDALI",
|
|
71
72
|
"VMB4AN",
|
|
73
|
+
"VMB6PB-20",
|
|
74
|
+
"VMBEL1-20",
|
|
75
|
+
"VMBEL2-20",
|
|
76
|
+
"VMBEL4-20",
|
|
77
|
+
"VMBELO-20",
|
|
78
|
+
"VMBGP1-20",
|
|
79
|
+
"VMBGP2-20",
|
|
80
|
+
"VMBGP4-20",
|
|
81
|
+
"VMBGPO-20",
|
|
82
|
+
"VMBDALI-20",
|
|
83
|
+
"VMBEL4PIR-20",
|
|
84
|
+
"VMBGP4PIR-20",
|
|
85
|
+
"VMB8DC-20",
|
|
72
86
|
],
|
|
73
87
|
)
|
|
74
88
|
class ChannelNamePart2Message2(ChannelNamePart2Message):
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
:author: Thomas Delaet <thomas@delaet.org>
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
from __future__ import annotations
|
|
5
6
|
|
|
6
7
|
from velbusaio.command_registry import register
|
|
@@ -69,6 +70,19 @@ class ChannelNamePart3Message(Message):
|
|
|
69
70
|
"VMBELPIR",
|
|
70
71
|
"VMBDALI",
|
|
71
72
|
"VMB4AN",
|
|
73
|
+
"VMB6PB-20",
|
|
74
|
+
"VMBEL1-20",
|
|
75
|
+
"VMBEL2-20",
|
|
76
|
+
"VMBEL4-20",
|
|
77
|
+
"VMBELO-20",
|
|
78
|
+
"VMBGP1-20",
|
|
79
|
+
"VMBGP2-20",
|
|
80
|
+
"VMBGP4-20",
|
|
81
|
+
"VMBGPO-20",
|
|
82
|
+
"VMBDALI-20",
|
|
83
|
+
"VMBEL4PIR-20",
|
|
84
|
+
"VMBGP4PIR-20",
|
|
85
|
+
"VMB8DC-20",
|
|
72
86
|
],
|
|
73
87
|
)
|
|
74
88
|
class ChannelNamePart3Message2(ChannelNamePart3Message):
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
:author: Thomas Delaet <thomas@delaet.org> and Maikel Punie <maikel.punie@gmail.com>
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
from __future__ import annotations
|
|
5
6
|
|
|
6
7
|
from velbusaio.command_registry import register
|
|
@@ -70,7 +71,7 @@ class ChannelNameRequestMessage2(ChannelNameRequestMessage):
|
|
|
70
71
|
return bytes([COMMAND_CODE, tmp])
|
|
71
72
|
|
|
72
73
|
|
|
73
|
-
@register(COMMAND_CODE, ["VMBDALI"])
|
|
74
|
+
@register(COMMAND_CODE, ["VMBDALI", "VMBDALI-20"])
|
|
74
75
|
class ChannelNameRequestMessage3(ChannelNameRequestMessage):
|
|
75
76
|
"""
|
|
76
77
|
send by:
|
velbusaio/messages/clear_led.py
CHANGED
velbusaio/messages/cover_down.py
CHANGED
velbusaio/messages/cover_off.py
CHANGED
velbusaio/messages/cover_up.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
:author: Niels Laukens
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
from __future__ import annotations
|
|
5
6
|
|
|
6
7
|
import dataclasses
|
|
@@ -12,7 +13,7 @@ from velbusaio.message import Message
|
|
|
12
13
|
COMMAND_CODE = 0xE8
|
|
13
14
|
|
|
14
15
|
|
|
15
|
-
@register(COMMAND_CODE, ["VMBDALI"])
|
|
16
|
+
@register(COMMAND_CODE, ["VMBDALI", "VMBDALI-20"])
|
|
16
17
|
class DaliDeviceSettingMsg(Message):
|
|
17
18
|
"""
|
|
18
19
|
send by: VMBDALI
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
:author: Niels Laukens
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
from __future__ import annotations
|
|
5
6
|
|
|
6
7
|
import enum
|
|
@@ -17,7 +18,7 @@ class DataSource(enum.Enum):
|
|
|
17
18
|
FromDaliDevice = 1
|
|
18
19
|
|
|
19
20
|
|
|
20
|
-
@register(COMMAND_CODE, ["VMBDALI"])
|
|
21
|
+
@register(COMMAND_CODE, ["VMBDALI", "VMBDALI-20"])
|
|
21
22
|
class DaliDeviceSettingsRequest(Message):
|
|
22
23
|
"""
|
|
23
24
|
send by:
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
:author: Niels Laukens
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
from __future__ import annotations
|
|
5
6
|
|
|
6
7
|
from velbusaio.command_registry import register
|
|
@@ -9,7 +10,7 @@ from velbusaio.message import Message
|
|
|
9
10
|
COMMAND_CODE = 0xA5
|
|
10
11
|
|
|
11
12
|
|
|
12
|
-
@register(COMMAND_CODE, ["VMBDALI"])
|
|
13
|
+
@register(COMMAND_CODE, ["VMBDALI", "VMBDALI-20"])
|
|
13
14
|
class DimValueStatus(Message):
|
|
14
15
|
"""
|
|
15
16
|
send by: VMBDALI
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
:author: Frank van Breugel
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
from __future__ import annotations
|
|
5
6
|
|
|
6
7
|
import struct
|
|
@@ -21,7 +22,7 @@ LED_FAST_BLINKING = 1 << 5
|
|
|
21
22
|
LED_VERY_FAST_BLINKING = 1 << 4
|
|
22
23
|
|
|
23
24
|
|
|
24
|
-
@register(COMMAND_CODE, ["VMB4DC", "VMBDMI", "VMBDMI-R"])
|
|
25
|
+
@register(COMMAND_CODE, ["VMB4DC", "VMBDMI", "VMBDMI-R", "VMB8DC-20"])
|
|
25
26
|
class DimmerChannelStatusMessage(Message):
|
|
26
27
|
"""
|
|
27
28
|
sent by: VMB4DC
|
velbusaio/messages/forced_off.py
CHANGED
velbusaio/messages/forced_on.py
CHANGED