velbus-aio 2024.7.6__py3-none-any.whl → 2024.10.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 (96) hide show
  1. {velbus_aio-2024.7.6.dist-info → velbus_aio-2024.10.0.dist-info}/METADATA +8 -4
  2. {velbus_aio-2024.7.6.dist-info → velbus_aio-2024.10.0.dist-info}/RECORD +95 -15
  3. {velbus_aio-2024.7.6.dist-info → velbus_aio-2024.10.0.dist-info}/WHEEL +1 -1
  4. velbusaio/channels.py +2 -2
  5. velbusaio/command_registry.py +6 -5
  6. velbusaio/const.py +1 -1
  7. velbusaio/controller.py +8 -5
  8. velbusaio/handler.py +73 -59
  9. velbusaio/messages/__init__.py +2 -2
  10. velbusaio/messages/edge_set_color.py +1 -0
  11. velbusaio/module.py +45 -26
  12. velbusaio/module_spec/01.json +50 -0
  13. velbusaio/module_spec/02.json +11 -0
  14. velbusaio/module_spec/03.json +18 -0
  15. velbusaio/module_spec/05.json +36 -0
  16. velbusaio/module_spec/06.json +101 -0
  17. velbusaio/module_spec/07.json +11 -0
  18. velbusaio/module_spec/08.json +26 -0
  19. velbusaio/module_spec/09.json +24 -0
  20. velbusaio/module_spec/0A.json +46 -0
  21. velbusaio/module_spec/0B.json +46 -0
  22. velbusaio/module_spec/0C.json +13 -0
  23. velbusaio/module_spec/0E.json +25 -0
  24. velbusaio/module_spec/0F.json +11 -0
  25. velbusaio/module_spec/10.json +100 -0
  26. velbusaio/module_spec/11.json +100 -0
  27. velbusaio/module_spec/12.json +63 -0
  28. velbusaio/module_spec/13.json +4 -0
  29. velbusaio/module_spec/14.json +11 -0
  30. velbusaio/module_spec/15.json +80 -0
  31. velbusaio/module_spec/16.json +119 -0
  32. velbusaio/module_spec/17.json +119 -0
  33. velbusaio/module_spec/18.json +119 -0
  34. velbusaio/module_spec/1A.json +73 -0
  35. velbusaio/module_spec/1B.json +100 -0
  36. velbusaio/module_spec/1D.json +83 -0
  37. velbusaio/module_spec/1E.json +295 -0
  38. velbusaio/module_spec/1F.json +167 -0
  39. velbusaio/module_spec/20.json +167 -0
  40. velbusaio/module_spec/21.json +291 -0
  41. velbusaio/module_spec/22.json +323 -0
  42. velbusaio/module_spec/23.json +129 -0
  43. velbusaio/module_spec/25.json +3 -0
  44. velbusaio/module_spec/28.json +419 -0
  45. velbusaio/module_spec/29.json +228 -0
  46. velbusaio/module_spec/2A.json +239 -0
  47. velbusaio/module_spec/2B.json +239 -0
  48. velbusaio/module_spec/2C.json +257 -0
  49. velbusaio/module_spec/2D.json +295 -0
  50. velbusaio/module_spec/2E.json +212 -0
  51. velbusaio/module_spec/2F.json +208 -0
  52. velbusaio/module_spec/30.json +46 -0
  53. velbusaio/module_spec/31.json +465 -0
  54. velbusaio/module_spec/32.json +357 -0
  55. velbusaio/module_spec/33.json +239 -0
  56. velbusaio/module_spec/34.json +157 -0
  57. velbusaio/module_spec/35.json +157 -0
  58. velbusaio/module_spec/36.json +157 -0
  59. velbusaio/module_spec/37.json +297 -0
  60. velbusaio/module_spec/38.json +102 -0
  61. velbusaio/module_spec/39.json +4 -0
  62. velbusaio/module_spec/3A.json +295 -0
  63. velbusaio/module_spec/3B.json +295 -0
  64. velbusaio/module_spec/3C.json +295 -0
  65. velbusaio/module_spec/3D.json +419 -0
  66. velbusaio/module_spec/3E.json +295 -0
  67. velbusaio/module_spec/3F.json +4 -0
  68. velbusaio/module_spec/40.json +4 -0
  69. velbusaio/module_spec/41.json +233 -0
  70. velbusaio/module_spec/42.json +4 -0
  71. velbusaio/module_spec/43.json +11 -0
  72. velbusaio/module_spec/44.json +26 -0
  73. velbusaio/module_spec/45.json +4 -0
  74. velbusaio/module_spec/48.json +100 -0
  75. velbusaio/module_spec/49.json +100 -0
  76. velbusaio/module_spec/4A.json +4 -0
  77. velbusaio/module_spec/4B.json +118 -0
  78. velbusaio/module_spec/4C.json +119 -0
  79. velbusaio/module_spec/4D.json +108 -0
  80. velbusaio/module_spec/4E.json +443 -0
  81. velbusaio/module_spec/4F.json +89 -0
  82. velbusaio/module_spec/50.json +89 -0
  83. velbusaio/module_spec/51.json +89 -0
  84. velbusaio/module_spec/52.json +189 -0
  85. velbusaio/module_spec/54.json +4 -0
  86. velbusaio/module_spec/55.json +4 -0
  87. velbusaio/module_spec/56.json +4 -0
  88. velbusaio/module_spec/57.json +222 -0
  89. velbusaio/module_spec/5A.json +4 -0
  90. velbusaio/module_spec/5C.json +87 -0
  91. velbusaio/module_spec/5F.json +66 -0
  92. velbusaio/module_spec/broadcast.json +67 -0
  93. velbusaio/protocol.py +1 -1
  94. velbusaio/protocol.json +0 -10194
  95. {velbus_aio-2024.7.6.dist-info → velbus_aio-2024.10.0.dist-info}/LICENSE +0 -0
  96. {velbus_aio-2024.7.6.dist-info → velbus_aio-2024.10.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,87 @@
1
+ {
2
+ "AllChannelStatus": "FF",
3
+ "ChannelNumbers": {
4
+ "Name": {
5
+ "Convert": "hex",
6
+ "Map": {
7
+ "09": "10"
8
+ }
9
+ }
10
+ },
11
+ "Channels": {
12
+ "01": {
13
+ "Name": "Push button 1",
14
+ "Type": "Button"
15
+ },
16
+ "02": {
17
+ "Name": "Push button 2",
18
+ "Type": "Button"
19
+ },
20
+ "03": {
21
+ "Name": "Push button 3",
22
+ "Type": "Button"
23
+ },
24
+ "04": {
25
+ "Name": "Push button 4",
26
+ "Type": "Button"
27
+ },
28
+ "05": {
29
+ "Name": "Dark/Light output",
30
+ "Type": "Sensor"
31
+ },
32
+ "06": {
33
+ "Name": "Motion output",
34
+ "Type": "Sensor"
35
+ },
36
+ "07": {
37
+ "Name": "Light Depending motion",
38
+ "Type": "Sensor"
39
+ },
40
+ "08": {
41
+ "Name": "Absence output",
42
+ "Type": "Sensor"
43
+ },
44
+ "10": {
45
+ "Name": "Temperature",
46
+ "Type": "Temperature"
47
+ },
48
+ "11": {
49
+ "Name": "Heater",
50
+ "Type": "ThermostatChannel"
51
+ },
52
+ "12": {
53
+ "Name": "Boost",
54
+ "Type": "ThermostatChannel"
55
+ },
56
+ "13": {
57
+ "Name": "Pump",
58
+ "Type": "ThermostatChannel"
59
+ },
60
+ "14": {
61
+ "Name": "Cooler",
62
+ "Type": "ThermostatChannel"
63
+ },
64
+ "15": {
65
+ "Name": "Alarm 1",
66
+ "Type": "ThermostatChannel"
67
+ },
68
+ "16": {
69
+ "Name": "Alarm 2",
70
+ "Type": "ThermostatChannel"
71
+ },
72
+ "17": {
73
+ "Name": "Alarm 3",
74
+ "Type": "ThermostatChannel"
75
+ },
76
+ "18": {
77
+ "Name": "Alarm 4",
78
+ "Type": "ThermostatChannel"
79
+ },
80
+ "99": {
81
+ "Name": "Light value",
82
+ "Type": "LightSensor"
83
+ }
84
+ },
85
+ "TemperatureChannel": "10",
86
+ "ThermostatAddr": "0"
87
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "AllChannelStatus": "FF",
3
+ "ChannelNumbers": {
4
+ "Name": {
5
+ "Convert": "hex"
6
+ }
7
+ },
8
+ "Channels": {
9
+ "01": {
10
+ "Editable": "yes",
11
+ "Name": "Push button 1",
12
+ "Type": "Button"
13
+ },
14
+ "02": {
15
+ "Editable": "yes",
16
+ "Name": "Push button 2",
17
+ "Type": "Button"
18
+ },
19
+ "03": {
20
+ "Editable": "yes",
21
+ "Name": "Push button 3",
22
+ "Type": "Button"
23
+ },
24
+ "04": {
25
+ "Editable": "yes",
26
+ "Name": "Push button 4",
27
+ "Type": "Button"
28
+ },
29
+ "05": {
30
+ "Name": "Dark/Light output",
31
+ "Type": "Sensor"
32
+ },
33
+ "06": {
34
+ "Name": "Motion output",
35
+ "Type": "Sensor"
36
+ },
37
+ "07": {
38
+ "Name": "Light Depending motion",
39
+ "Type": "Sensor"
40
+ },
41
+ "08": {
42
+ "Name": "Absence output",
43
+ "Type": "Sensor"
44
+ },
45
+ "9": {
46
+ "Editable": "yes",
47
+ "Name": "Temperature",
48
+ "Type": "Temperature"
49
+ },
50
+ "11": {
51
+ "Name": "Output",
52
+ "Type": "Relay"
53
+ },
54
+ "96": {
55
+ "Name": "SelectedProgram",
56
+ "Type": "SelectedProgram"
57
+ },
58
+ "99": {
59
+ "Name": "Light value",
60
+ "Type": "LightSensor"
61
+ }
62
+ },
63
+ "TemperatureChannel": "9",
64
+ "Info": "Motion detector with four touch buttons module",
65
+ "Type": "VMBGP4PIR-20"
66
+ }
@@ -0,0 +1,67 @@
1
+ {
2
+ "09": {
3
+ "Info": "Transmit Bus Off message",
4
+ "Name": "COMMAND_BUS_OFF",
5
+ "Prio": "High"
6
+ },
7
+ "0B": {
8
+ "Info": "Transmit Buffer Full message",
9
+ "Name": "COMMAND_RX_BUFFER_FULL_STATUS",
10
+ "Prio": "High"
11
+ },
12
+ "0C": {
13
+ "Info": "Transmits Buffer Ready message",
14
+ "Name": "COMMAND_RX_BUFFER_READY_STATUS",
15
+ "Prio": "High"
16
+ },
17
+ "0E": {
18
+ "Info": "Interface status request",
19
+ "Name": "CMD_INTERFACE_STATUS_REQUEST",
20
+ "Prio": "High"
21
+ },
22
+ "AB": {
23
+ "Info": "Power Up message;Power up message received;Power up message received ;Transmits power up message;Transmits power up message ",
24
+ "Name": "COMMAND_POWER_UP",
25
+ "Prio": "Low"
26
+ },
27
+ "AE": {
28
+ "Info": "Enable/disable global sunrise/sunset related actions command received",
29
+ "Name": "COMMAND_ENA_DIS_SUNRISE_SUNSET",
30
+ "Prio": "Low"
31
+ },
32
+ "AF": {
33
+ "Info": "Set daylight savings command received;Transmits the daylight savings status",
34
+ "Name": "COMMAND_DAYLIGHT_SAVING_STATUS;COMMAND_SET_DAYLIGHT_SAVING",
35
+ "Prio": "Low"
36
+ },
37
+ "B7": {
38
+ "Info": "Set date command received;Transmits the date status",
39
+ "Name": "COMMAND_DATE_STATUS;COMMAND_SET_REALTIME_DATE",
40
+ "Prio": "Low"
41
+ },
42
+ "BC": {
43
+ "Info": "Program availability command received;Transmits set sensor program availability",
44
+ "Name": "COMMAND_SENSOR_PROGRAM_AVAILABILITY",
45
+ "Prio": "Low"
46
+ },
47
+ "BF": {
48
+ "Info": "Set sensor program location command received;Transmits set sensor program location",
49
+ "Name": "COMMAND_SET_SENSOR_PROGRAM_LOCATION",
50
+ "Prio": "Low"
51
+ },
52
+ "C3": {
53
+ "Info": "Set global clock alarm command received;Transmit set global clock alarm;Transmits set global clock alarm",
54
+ "Name": "COMMAND_SET_ALARM_CLOCK",
55
+ "Prio": "Low"
56
+ },
57
+ "D7": {
58
+ "Info": "Real time clock status request command received;Real time clock status request received (response after minute rollover);Transmits real time clock status request",
59
+ "Name": "COMMAND_REALTIME_CLOCK_STATUS_REQUEST",
60
+ "Prio": "Low"
61
+ },
62
+ "D8": {
63
+ "Info": "Real time clock status received;Set real time clock command received;Transmit Real time clock status;Transmits the real time clock status",
64
+ "Name": "COMMAND_REALTIME_CLOCK_STATUS",
65
+ "Prio": "Low"
66
+ }
67
+ }
velbusaio/protocol.py CHANGED
@@ -212,7 +212,7 @@ class VelbusProtocol(asyncio.BufferedProtocol):
212
212
  on_backoff=_on_write_backoff,
213
213
  )
214
214
  async def _write_message(self, msg: RawMessage) -> bool:
215
- # self._log.debug(f"TX: {msg}")
215
+ self._log.debug(f"TX: {msg}")
216
216
  if not self.transport.is_closing():
217
217
  self.transport.write(msg.to_bytes())
218
218
  return True