velbus-aio 2023.11.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.

Files changed (99) hide show
  1. {velbus_aio-2023.11.0.dist-info → velbus_aio-2024.4.0.dist-info}/METADATA +3 -1
  2. velbus_aio-2024.4.0.dist-info/RECORD +103 -0
  3. {velbus_aio-2023.11.0.dist-info → velbus_aio-2024.4.0.dist-info}/WHEEL +1 -1
  4. velbusaio/channels.py +20 -0
  5. velbusaio/command_registry.py +18 -0
  6. velbusaio/const.py +1 -0
  7. velbusaio/controller.py +1 -0
  8. velbusaio/handler.py +2 -59
  9. velbusaio/helpers.py +1 -0
  10. velbusaio/message.py +1 -0
  11. velbusaio/messages/__init__.py +2 -1
  12. velbusaio/messages/blind_status.py +1 -0
  13. velbusaio/messages/bus_active.py +1 -0
  14. velbusaio/messages/bus_error_counter_status.py +1 -0
  15. velbusaio/messages/bus_error_counter_status_request.py +1 -0
  16. velbusaio/messages/bus_off.py +1 -0
  17. velbusaio/messages/channel_name_part1.py +15 -0
  18. velbusaio/messages/channel_name_part2.py +14 -0
  19. velbusaio/messages/channel_name_part3.py +14 -0
  20. velbusaio/messages/channel_name_request.py +2 -1
  21. velbusaio/messages/clear_led.py +1 -0
  22. velbusaio/messages/counter_status.py +1 -0
  23. velbusaio/messages/counter_status_request.py +1 -0
  24. velbusaio/messages/cover_down.py +1 -0
  25. velbusaio/messages/cover_off.py +1 -0
  26. velbusaio/messages/cover_position.py +1 -0
  27. velbusaio/messages/cover_up.py +1 -0
  28. velbusaio/messages/dali_device_settings.py +2 -1
  29. velbusaio/messages/dali_device_settings_request.py +2 -1
  30. velbusaio/messages/dali_dim_value_status.py +2 -1
  31. velbusaio/messages/dimmer_channel_status.py +2 -1
  32. velbusaio/messages/dimmer_status.py +2 -1
  33. velbusaio/messages/edge_set_custom_color.py +1 -0
  34. velbusaio/messages/fast_blinking_led.py +1 -0
  35. velbusaio/messages/forced_off.py +1 -0
  36. velbusaio/messages/forced_on.py +1 -0
  37. velbusaio/messages/interface_status_request.py +1 -0
  38. velbusaio/messages/ir_receiver_status.py +1 -0
  39. velbusaio/messages/kwh_status.py +1 -0
  40. velbusaio/messages/light_value_request.py +1 -0
  41. velbusaio/messages/memo_text.py +1 -0
  42. velbusaio/messages/memory_data.py +1 -0
  43. velbusaio/messages/memory_data_block.py +1 -0
  44. velbusaio/messages/memory_dump_request.py +1 -0
  45. velbusaio/messages/module_status.py +12 -0
  46. velbusaio/messages/module_status_request.py +1 -0
  47. velbusaio/messages/module_subtype.py +1 -0
  48. velbusaio/messages/module_type.py +117 -14
  49. velbusaio/messages/module_type_request.py +1 -0
  50. velbusaio/messages/push_button_status.py +1 -0
  51. velbusaio/messages/raw.py +1 -0
  52. velbusaio/messages/read_data_block_from_memory.py +1 -0
  53. velbusaio/messages/read_data_from_memory.py +1 -0
  54. velbusaio/messages/realtime_clock_status_request.py +1 -0
  55. velbusaio/messages/receive_buffer_full.py +1 -0
  56. velbusaio/messages/receive_ready.py +1 -0
  57. velbusaio/messages/relay_status.py +1 -0
  58. velbusaio/messages/restore_dimmer.py +6 -2
  59. velbusaio/messages/select_program.py +1 -0
  60. velbusaio/messages/sensor_settings_request.py +1 -0
  61. velbusaio/messages/sensor_temp_request.py +1 -0
  62. velbusaio/messages/sensor_temperature.py +1 -0
  63. velbusaio/messages/set_date.py +5 -4
  64. velbusaio/messages/set_daylight_saving.py +5 -4
  65. velbusaio/messages/set_dimmer.py +6 -2
  66. velbusaio/messages/set_led.py +1 -0
  67. velbusaio/messages/set_realtime_clock.py +5 -4
  68. velbusaio/messages/set_temperature.py +1 -0
  69. velbusaio/messages/slider_status.py +5 -1
  70. velbusaio/messages/slow_blinking_led.py +1 -0
  71. velbusaio/messages/start_relay_blinking_timer.py +1 -0
  72. velbusaio/messages/start_relay_timer.py +1 -0
  73. velbusaio/messages/switch_relay_off.py +1 -0
  74. velbusaio/messages/switch_relay_on.py +1 -0
  75. velbusaio/messages/switch_to_comfort.py +1 -0
  76. velbusaio/messages/switch_to_day.py +1 -0
  77. velbusaio/messages/switch_to_night.py +1 -0
  78. velbusaio/messages/switch_to_safe.py +1 -0
  79. velbusaio/messages/temp_sensor_settings_part1.py +1 -0
  80. velbusaio/messages/temp_sensor_settings_part2.py +1 -0
  81. velbusaio/messages/temp_sensor_settings_part3.py +1 -0
  82. velbusaio/messages/temp_sensor_settings_part4.py +1 -0
  83. velbusaio/messages/temp_sensor_settings_request.py +1 -0
  84. velbusaio/messages/temp_sensor_status.py +1 -0
  85. velbusaio/messages/temp_set_cooling.py +1 -0
  86. velbusaio/messages/temp_set_heating.py +1 -0
  87. velbusaio/messages/update_led_status.py +1 -0
  88. velbusaio/messages/very_fast_blinking_led.py +1 -0
  89. velbusaio/messages/write_data_to_memory.py +1 -0
  90. velbusaio/messages/write_memory_block.py +1 -0
  91. velbusaio/messages/write_module_address_and_serial_number.py +1 -0
  92. velbusaio/module.py +20 -21
  93. velbusaio/protocol.json +10122 -0
  94. velbusaio/protocol.py +2 -2
  95. velbusaio/raw_message.py +6 -6
  96. velbus_aio-2023.11.0.dist-info/RECORD +0 -103
  97. velbusaio/moduleprotocol/protocol.json +0 -26507
  98. {velbus_aio-2023.11.0.dist-info → velbus_aio-2024.4.0.dist-info}/LICENSE +0 -0
  99. {velbus_aio-2023.11.0.dist-info → velbus_aio-2024.4.0.dist-info}/top_level.txt +0 -0
@@ -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
@@ -24,7 +25,7 @@ LED_FAST_BLINKING = 1 << 5
24
25
  LED_VERY_FAST_BLINKING = 1 << 4
25
26
 
26
27
 
27
- @register(COMMAND_CODE, ["VMBDME", "VMB1LED"])
28
+ @register(COMMAND_CODE, ["VMB1DM", "VMBDME", "VMB1LED"])
28
29
  class DimmerStatusMessage(Message):
29
30
  """
30
31
  sent by: VMBDME
@@ -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
  from velbusaio.command_registry import register
@@ -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
@@ -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
  from velbusaio.command_registry import register
@@ -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
  from velbusaio.command_registry import register
@@ -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
@@ -1,6 +1,7 @@
1
1
  """
2
2
  :author: David Danssaert <david.danssaert@gmail.com>
3
3
  """
4
+
4
5
  from __future__ import annotations
5
6
 
6
7
  from velbusaio.command_registry import register
@@ -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
  from velbusaio.command_registry import register
@@ -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
  from velbusaio.command_registry import register
@@ -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
  from velbusaio.command_registry import register
@@ -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
@@ -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
@@ -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
@@ -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
@@ -75,6 +76,17 @@ class ModuleStatusMessage(Message):
75
76
  "VMBGPOD-2",
76
77
  "VMBELO",
77
78
  "VMB7IN",
79
+ "VMB6PB-20",
80
+ "VMBEL1-20",
81
+ "VMBEL2-20",
82
+ "VMBEL4-20",
83
+ "VMBELO-20",
84
+ "VMBGP1-20",
85
+ "VMBGP2-20",
86
+ "VMBGP4-20",
87
+ "VMBGPO-20",
88
+ "VMBEL4PIR-20",
89
+ "VMBGP4PIR-20",
78
90
  ],
79
91
  )
80
92
  class ModuleStatusMessage2(Message):
@@ -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
@@ -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
  import struct
@@ -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
  import struct
@@ -25,7 +26,70 @@ MODULES_WITHOUT_SERIAL = {
25
26
  }
26
27
 
27
28
 
28
- @register(COMMAND_CODE)
29
+ @register(
30
+ COMMAND_CODE,
31
+ [
32
+ "VMB1BL",
33
+ "VMB6IN",
34
+ "VMB1DM",
35
+ "VMB4RY",
36
+ "VMB2BL",
37
+ "VMB8IR",
38
+ "VMB4PD",
39
+ "VMB1TS",
40
+ "VMB1TH",
41
+ "VMB1TC",
42
+ "VMB1LED",
43
+ "VMB4RYLD",
44
+ "VMB4RYNO",
45
+ "VMB4DC",
46
+ "VMBLCDWB",
47
+ "VMBDME",
48
+ "VMBDMI",
49
+ "VMB8PBU",
50
+ "VMB6PBN",
51
+ "VMB2PBN",
52
+ "VMB6PBB",
53
+ "VMB4RF",
54
+ "VMB1RYNO",
55
+ "VMB1BLE",
56
+ "VMB2BLE",
57
+ "VMBGP1",
58
+ "VMBGP2",
59
+ "VMBGP4",
60
+ "VMBGPO",
61
+ "VMB7IN",
62
+ "VMBGPOD",
63
+ "VMB1RYNOS",
64
+ "VMBPIRM",
65
+ "VMBPIRC",
66
+ "VMBPIRO",
67
+ "VMBGP4PIR",
68
+ "VMB1BLS",
69
+ "VMBDMI-R",
70
+ "VMBMETEO",
71
+ "VMB4AN",
72
+ "VMBVP01",
73
+ "VMBEL1",
74
+ "VMBEL2",
75
+ "VMBEL4",
76
+ "VMBELO",
77
+ "VMBELPIR",
78
+ "VMBSIG",
79
+ "VMBGP1-2",
80
+ "VMBGP2-2",
81
+ "VMBGP4-2",
82
+ "VMBGPOD-2",
83
+ "VMBGP4PIR-2",
84
+ "VMCM3",
85
+ "VMBUSBIP",
86
+ "VMB1RYS",
87
+ "VMBKP",
88
+ "VMBIN",
89
+ "VMB4PB",
90
+ "VMBDALI",
91
+ ],
92
+ )
29
93
  class ModuleTypeMessage(Message):
30
94
  """
31
95
  send by: VMB6IN, VMB4RYLD
@@ -66,18 +130,57 @@ class ModuleTypeMessage(Message):
66
130
  self.build_year = data[-2]
67
131
  self.build_week = data[-1]
68
132
 
69
- def data_to_binary(self):
133
+
134
+ @register(
135
+ COMMAND_CODE,
136
+ [
137
+ "VMB4RYLD-10",
138
+ "VMB4RYNO-10",
139
+ "VMB2BLE-10",
140
+ "VMB6PB-20",
141
+ "VMBEL1-20",
142
+ "VMBEL2-20",
143
+ "VMBEL4-20",
144
+ "VMBELO-20",
145
+ "VMBGP1-20",
146
+ "VMBGP2-20",
147
+ "VMBGP4-20",
148
+ "VMBGPO-20",
149
+ "VMBEL4PIR-20",
150
+ "VMBGP4PIR-20",
151
+ ],
152
+ )
153
+ class ModuleType2Message(Message):
154
+ def __init__(self, address=None):
155
+ Message.__init__(self)
156
+ self.module_type = 0x00
157
+ self.led_on = []
158
+ self.led_slow_blinking = []
159
+ self.led_fast_blinking = []
160
+ self.serial = 0
161
+ self.memory_map_version = 0
162
+ self.build_year = 0
163
+ self.build_week = 0
164
+ self.term = 0
165
+ self.set_defaults(address)
166
+
167
+ def module_name(self):
70
168
  """
71
- :return: bytes
169
+ :return: str
170
+ """
171
+ return "Unknown"
172
+
173
+ def populate(self, priority, address, rtr, data):
174
+ """
175
+ :return: None
72
176
  """
73
- return bytes(
74
- [
75
- COMMAND_CODE,
76
- self.module_type,
77
- self.channels_to_byte(self.led_on),
78
- self.channels_to_byte(self.led_slow_blinking),
79
- self.channels_to_byte(self.led_fast_blinking),
80
- self.build_year,
81
- self.build_week,
82
- ]
83
- )
177
+ self.needs_low_priority(priority)
178
+ self.needs_no_rtr(rtr)
179
+ self.set_attributes(priority, address, rtr)
180
+ self.module_type = data[0]
181
+ if data[0] not in MODULES_WITHOUT_SERIAL:
182
+ (self.serial,) = struct.unpack(">L", bytes([0, 0, data[1], data[2]]))
183
+ self.memory_map_version = data[3]
184
+ self.build_year = data[-3]
185
+ self.build_week = data[-2]
186
+ self.term = data[-1]
@@ -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.message import Message
@@ -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
velbusaio/messages/raw.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
  from velbusaio.command_registry import register
@@ -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
@@ -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
@@ -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
  from velbusaio.command_registry import register
@@ -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
@@ -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
@@ -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
  import struct
@@ -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
  from velbusaio.command_registry import register
@@ -9,7 +10,10 @@ from velbusaio.message import Message
9
10
  COMMAND_CODE = 0x11
10
11
 
11
12
 
12
- @register(COMMAND_CODE)
13
+ @register(
14
+ COMMAND_CODE,
15
+ ["VMB1DM", "VMBDME", "VMBDMI-R", "VMBDMI", "VMB1LED", "VMB4DC", "VMB8DC-20"],
16
+ )
13
17
  class RestoreDimmerMessage(Message):
14
18
  """
15
19
  send by:
@@ -53,7 +57,7 @@ class RestoreDimmerMessage(Message):
53
57
  ) + self.dimmer_transitiontime.to_bytes(2, byteorder="big", signed=False)
54
58
 
55
59
 
56
- @register(COMMAND_CODE, ["VMBDALI"])
60
+ @register(COMMAND_CODE, ["VMBDALI", "VMBDALI-20"])
57
61
  class RestoreDimmerMessage2(RestoreDimmerMessage):
58
62
  def byte_to_channels(self, byte: int) -> list[int]:
59
63
  return [byte]
@@ -1,6 +1,7 @@
1
1
  """
2
2
  :author: Danny De Gaspari
3
3
  """
4
+
4
5
  from __future__ import annotations
5
6
 
6
7
  from velbusaio.command_registry import register
@@ -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
  from velbusaio.command_registry import register
@@ -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
  from velbusaio.command_registry import register
@@ -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
  from velbusaio.command_registry import register
@@ -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 time
@@ -17,14 +18,14 @@ class SetDate(Message):
17
18
  received by all modules
18
19
  """
19
20
 
20
- def __init__(self, address=0x00):
21
+ def __init__(self, address=0x00) -> None:
21
22
  Message.__init__(self)
22
23
  self._day = None
23
24
  self._mon = None
24
25
  self._year = None
25
26
  self.set_defaults(address)
26
27
 
27
- def set_defaults(self, address):
28
+ def set_defaults(self, address) -> None:
28
29
  if address is not None:
29
30
  self.set_address(address)
30
31
  self.set_low_priority()
@@ -34,7 +35,7 @@ class SetDate(Message):
34
35
  self._mon = lclt[1]
35
36
  self._year = lclt[0]
36
37
 
37
- def populate(self, priority, address, rtr, data):
38
+ def populate(self, priority, address, rtr, data) -> None:
38
39
  """
39
40
  :return: None
40
41
  """
@@ -46,7 +47,7 @@ class SetDate(Message):
46
47
  self._mon = data[1]
47
48
  self._year = (data[2] << 8) + data[3]
48
49
 
49
- def data_to_binary(self):
50
+ def data_to_binary(self) -> bytes:
50
51
  """
51
52
  :return: bytes
52
53
  """
@@ -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 time
@@ -17,12 +18,12 @@ class SetDaylightSaving(Message):
17
18
  received by all modules
18
19
  """
19
20
 
20
- def __init__(self, address=0x00):
21
+ def __init__(self, address=0x00) -> None:
21
22
  Message.__init__(self)
22
23
  self._ds = None
23
24
  self.set_defaults(address)
24
25
 
25
- def set_defaults(self, address):
26
+ def set_defaults(self, address) -> None:
26
27
  if address is not None:
27
28
  self.set_address(address)
28
29
  self.set_low_priority()
@@ -30,7 +31,7 @@ class SetDaylightSaving(Message):
30
31
  lclt = time.localtime()
31
32
  self._ds = not lclt[8]
32
33
 
33
- def populate(self, priority, address, rtr, data):
34
+ def populate(self, priority, address, rtr, data) -> None:
34
35
  """
35
36
  :return: None
36
37
  """
@@ -40,7 +41,7 @@ class SetDaylightSaving(Message):
40
41
  self.set_attributes(priority, address, rtr)
41
42
  self._ds = data[0]
42
43
 
43
- def data_to_binary(self):
44
+ def data_to_binary(self) -> bytes:
44
45
  """
45
46
  :return: bytes
46
47
  """
@@ -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
  from velbusaio.command_registry import register
@@ -9,7 +10,10 @@ from velbusaio.message import Message
9
10
  COMMAND_CODE = 0x07
10
11
 
11
12
 
12
- @register(COMMAND_CODE, ["VMBDME", "VMB4DC", "VMBDMI", "VMBDMI-R", "VMB1LED"])
13
+ @register(
14
+ COMMAND_CODE,
15
+ ["VMB1DM", "VMBDME", "VMB4DC", "VMBDMI", "VMBDMI-R", "VMB1LED", "VMB8DC-20"],
16
+ )
13
17
  class SetDimmerMessage(Message):
14
18
  """
15
19
  send by:
@@ -56,7 +60,7 @@ class SetDimmerMessage(Message):
56
60
  ) + self.dimmer_transitiontime.to_bytes(2, byteorder="big", signed=False)
57
61
 
58
62
 
59
- @register(COMMAND_CODE, ["VMBDALI"])
63
+ @register(COMMAND_CODE, ["VMBDALI", "VMBDALI-20"])
60
64
  class SetDimmerMessage2(SetDimmerMessage):
61
65
  """
62
66
  send by:
@@ -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
@@ -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 time
@@ -17,14 +18,14 @@ class SetRealtimeClock(Message):
17
18
  received by all modules
18
19
  """
19
20
 
20
- def __init__(self, address=0x00):
21
+ def __init__(self, address=0x00) -> None:
21
22
  Message.__init__(self)
22
23
  self._wday = None
23
24
  self._hour = None
24
25
  self._min = None
25
26
  self.set_defaults(address)
26
27
 
27
- def set_defaults(self, address):
28
+ def set_defaults(self, address) -> None:
28
29
  if address is not None:
29
30
  self.set_address(address)
30
31
  self.set_low_priority()
@@ -34,7 +35,7 @@ class SetRealtimeClock(Message):
34
35
  self._hour = lclt[3]
35
36
  self._min = lclt[4]
36
37
 
37
- def populate(self, priority, address, rtr, data):
38
+ def populate(self, priority, address, rtr, data) -> None:
38
39
  """
39
40
  :return: None
40
41
  """
@@ -46,7 +47,7 @@ class SetRealtimeClock(Message):
46
47
  self._hour = data[1]
47
48
  self._min = data[2]
48
49
 
49
- def data_to_binary(self):
50
+ def data_to_binary(self) -> bytes:
50
51
  """
51
52
  :return: bytes
52
53
  """
@@ -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
  from velbusaio.command_registry import register
@@ -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
  from velbusaio.command_registry import register
@@ -9,7 +10,10 @@ from velbusaio.message import Message
9
10
  COMMAND_CODE = 0x0F
10
11
 
11
12
 
12
- @register(COMMAND_CODE, ["VMBDME", "VMB4DC", "VMBDMI", "VMBDMI-R", "VMB1LED"])
13
+ @register(
14
+ COMMAND_CODE,
15
+ ["VMB1DM", "VMBDME", "VMB4DC", "VMBDMI", "VMBDMI-R", "VMB1LED", "VMB8DC-20"],
16
+ )
13
17
  class SliderStatusMessage(Message):
14
18
  """
15
19
  sent by: VMBDME
@@ -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