conson-xp 1.1.0__py3-none-any.whl → 1.3.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.
Files changed (174) hide show
  1. {conson_xp-1.1.0.dist-info → conson_xp-1.3.0.dist-info}/METADATA +1 -5
  2. conson_xp-1.3.0.dist-info/RECORD +164 -0
  3. xp/__init__.py +4 -3
  4. xp/cli/__init__.py +1 -1
  5. xp/cli/commands/__init__.py +1 -2
  6. xp/cli/commands/conbus/conbus.py +9 -37
  7. xp/cli/commands/conbus/conbus_actiontable_commands.py +26 -4
  8. xp/cli/commands/conbus/conbus_autoreport_commands.py +58 -30
  9. xp/cli/commands/conbus/conbus_blink_commands.py +61 -29
  10. xp/cli/commands/conbus/conbus_config_commands.py +10 -5
  11. xp/cli/commands/conbus/conbus_custom_commands.py +16 -5
  12. xp/cli/commands/conbus/conbus_datapoint_commands.py +32 -10
  13. xp/cli/commands/conbus/conbus_discover_commands.py +20 -7
  14. xp/cli/commands/conbus/conbus_lightlevel_commands.py +114 -39
  15. xp/cli/commands/conbus/conbus_linknumber_commands.py +50 -25
  16. xp/cli/commands/conbus/conbus_msactiontable_commands.py +36 -5
  17. xp/cli/commands/conbus/conbus_output_commands.py +52 -14
  18. xp/cli/commands/conbus/conbus_raw_commands.py +17 -6
  19. xp/cli/commands/conbus/conbus_receive_commands.py +20 -10
  20. xp/cli/commands/conbus/conbus_scan_commands.py +17 -4
  21. xp/cli/commands/file_commands.py +35 -18
  22. xp/cli/commands/homekit/homekit.py +14 -8
  23. xp/cli/commands/homekit/homekit_start_commands.py +8 -6
  24. xp/cli/commands/module_commands.py +38 -23
  25. xp/cli/commands/reverse_proxy_commands.py +27 -19
  26. xp/cli/commands/server/server_commands.py +18 -18
  27. xp/cli/commands/telegram/telegram.py +4 -12
  28. xp/cli/commands/telegram/telegram_blink_commands.py +10 -8
  29. xp/cli/commands/telegram/telegram_checksum_commands.py +19 -8
  30. xp/cli/commands/telegram/telegram_discover_commands.py +2 -4
  31. xp/cli/commands/telegram/telegram_linknumber_commands.py +11 -8
  32. xp/cli/commands/telegram/telegram_parse_commands.py +10 -9
  33. xp/cli/commands/telegram/telegram_version_commands.py +8 -4
  34. xp/cli/main.py +5 -3
  35. xp/cli/utils/click_tree.py +23 -3
  36. xp/cli/utils/datapoint_type_choice.py +20 -0
  37. xp/cli/utils/decorators.py +165 -14
  38. xp/cli/utils/error_handlers.py +49 -18
  39. xp/cli/utils/formatters.py +95 -10
  40. xp/cli/utils/serial_number_type.py +18 -0
  41. xp/cli/utils/system_function_choice.py +20 -0
  42. xp/cli/utils/xp_module_type.py +20 -0
  43. xp/connection/__init__.py +1 -1
  44. xp/connection/exceptions.py +5 -5
  45. xp/models/__init__.py +1 -1
  46. xp/models/actiontable/__init__.py +1 -0
  47. xp/models/actiontable/actiontable.py +17 -1
  48. xp/models/actiontable/msactiontable_xp20.py +10 -0
  49. xp/models/actiontable/msactiontable_xp24.py +20 -3
  50. xp/models/actiontable/msactiontable_xp33.py +27 -4
  51. xp/models/conbus/__init__.py +1 -0
  52. xp/models/conbus/conbus.py +34 -4
  53. xp/models/conbus/conbus_autoreport.py +20 -2
  54. xp/models/conbus/conbus_blink.py +22 -2
  55. xp/models/conbus/conbus_client_config.py +22 -1
  56. xp/models/conbus/conbus_connection_status.py +16 -2
  57. xp/models/conbus/conbus_custom.py +21 -2
  58. xp/models/conbus/conbus_datapoint.py +25 -2
  59. xp/models/conbus/conbus_discover.py +18 -2
  60. xp/models/conbus/conbus_lightlevel.py +20 -2
  61. xp/models/conbus/conbus_linknumber.py +20 -2
  62. xp/models/conbus/conbus_output.py +22 -2
  63. xp/models/conbus/conbus_raw.py +17 -2
  64. xp/models/conbus/conbus_receive.py +16 -2
  65. xp/models/conbus/conbus_writeconfig.py +60 -0
  66. xp/models/homekit/__init__.py +1 -0
  67. xp/models/homekit/homekit_accessory.py +15 -1
  68. xp/models/homekit/homekit_config.py +52 -0
  69. xp/models/homekit/homekit_conson_config.py +32 -0
  70. xp/models/log_entry.py +49 -9
  71. xp/models/protocol/__init__.py +1 -0
  72. xp/models/protocol/conbus_protocol.py +130 -21
  73. xp/models/telegram/__init__.py +1 -0
  74. xp/models/telegram/action_type.py +16 -2
  75. xp/models/telegram/datapoint_type.py +36 -2
  76. xp/models/telegram/event_telegram.py +46 -10
  77. xp/models/telegram/event_type.py +8 -1
  78. xp/models/telegram/input_action_type.py +34 -2
  79. xp/models/telegram/input_type.py +9 -1
  80. xp/models/telegram/module_type.py +69 -19
  81. xp/models/telegram/module_type_code.py +43 -1
  82. xp/models/telegram/output_telegram.py +30 -6
  83. xp/models/telegram/reply_telegram.py +56 -11
  84. xp/models/telegram/system_function.py +35 -3
  85. xp/models/telegram/system_telegram.py +18 -4
  86. xp/models/telegram/telegram.py +12 -3
  87. xp/models/telegram/telegram_type.py +8 -1
  88. xp/models/telegram/timeparam_type.py +27 -0
  89. xp/models/write_config_type.py +17 -2
  90. xp/services/__init__.py +1 -1
  91. xp/services/conbus/__init__.py +1 -0
  92. xp/services/conbus/actiontable/__init__.py +1 -0
  93. xp/services/conbus/actiontable/actiontable_service.py +33 -2
  94. xp/services/conbus/actiontable/msactiontable_service.py +40 -3
  95. xp/services/conbus/actiontable/msactiontable_xp24_serializer.py +36 -4
  96. xp/services/conbus/actiontable/msactiontable_xp33_serializer.py +45 -5
  97. xp/services/conbus/conbus_blink_all_service.py +40 -21
  98. xp/services/conbus/conbus_blink_service.py +37 -13
  99. xp/services/conbus/conbus_custom_service.py +29 -13
  100. xp/services/conbus/conbus_datapoint_queryall_service.py +40 -16
  101. xp/services/conbus/conbus_datapoint_service.py +42 -18
  102. xp/services/conbus/conbus_discover_service.py +43 -7
  103. xp/services/conbus/conbus_output_service.py +33 -13
  104. xp/services/conbus/conbus_raw_service.py +36 -16
  105. xp/services/conbus/conbus_receive_service.py +38 -6
  106. xp/services/conbus/conbus_scan_service.py +44 -18
  107. xp/services/conbus/write_config_service.py +193 -0
  108. xp/services/homekit/__init__.py +1 -0
  109. xp/services/homekit/homekit_cache_service.py +31 -6
  110. xp/services/homekit/homekit_conbus_service.py +33 -2
  111. xp/services/homekit/homekit_config_validator.py +97 -15
  112. xp/services/homekit/homekit_conson_validator.py +51 -7
  113. xp/services/homekit/homekit_dimminglight.py +47 -1
  114. xp/services/homekit/homekit_dimminglight_service.py +35 -1
  115. xp/services/homekit/homekit_hap_service.py +71 -18
  116. xp/services/homekit/homekit_lightbulb.py +35 -1
  117. xp/services/homekit/homekit_lightbulb_service.py +30 -2
  118. xp/services/homekit/homekit_module_service.py +23 -1
  119. xp/services/homekit/homekit_outlet.py +47 -1
  120. xp/services/homekit/homekit_outlet_service.py +44 -2
  121. xp/services/homekit/homekit_service.py +113 -19
  122. xp/services/log_file_service.py +37 -41
  123. xp/services/module_type_service.py +26 -5
  124. xp/services/protocol/__init__.py +1 -1
  125. xp/services/protocol/conbus_protocol.py +110 -16
  126. xp/services/protocol/protocol_factory.py +40 -0
  127. xp/services/protocol/telegram_protocol.py +38 -7
  128. xp/services/reverse_proxy_service.py +79 -14
  129. xp/services/server/__init__.py +1 -0
  130. xp/services/server/base_server_service.py +102 -14
  131. xp/services/server/cp20_server_service.py +12 -4
  132. xp/services/server/server_service.py +26 -11
  133. xp/services/server/xp130_server_service.py +11 -3
  134. xp/services/server/xp20_server_service.py +11 -3
  135. xp/services/server/xp230_server_service.py +11 -3
  136. xp/services/server/xp24_server_service.py +33 -6
  137. xp/services/server/xp33_server_service.py +41 -8
  138. xp/services/telegram/__init__.py +1 -0
  139. xp/services/telegram/telegram_blink_service.py +19 -31
  140. xp/services/telegram/telegram_checksum_service.py +10 -10
  141. xp/services/telegram/telegram_datapoint_service.py +70 -0
  142. xp/services/telegram/telegram_discover_service.py +58 -29
  143. xp/services/telegram/telegram_link_number_service.py +27 -40
  144. xp/services/telegram/telegram_output_service.py +46 -49
  145. xp/services/telegram/telegram_service.py +41 -41
  146. xp/services/telegram/telegram_version_service.py +4 -2
  147. xp/utils/__init__.py +1 -1
  148. xp/utils/dependencies.py +4 -47
  149. xp/utils/serialization.py +6 -0
  150. xp/utils/time_utils.py +6 -11
  151. conson_xp-1.1.0.dist-info/RECORD +0 -181
  152. xp/api/__init__.py +0 -1
  153. xp/api/main.py +0 -110
  154. xp/api/models/__init__.py +0 -1
  155. xp/api/models/api.py +0 -20
  156. xp/api/models/discover.py +0 -21
  157. xp/api/routers/__init__.py +0 -17
  158. xp/api/routers/conbus.py +0 -5
  159. xp/api/routers/conbus_blink.py +0 -105
  160. xp/api/routers/conbus_custom.py +0 -63
  161. xp/api/routers/conbus_datapoint.py +0 -67
  162. xp/api/routers/conbus_output.py +0 -147
  163. xp/api/routers/errors.py +0 -37
  164. xp/cli/commands/api.py +0 -16
  165. xp/cli/commands/api_start_commands.py +0 -126
  166. xp/services/conbus/conbus_autoreport_get_service.py +0 -85
  167. xp/services/conbus/conbus_autoreport_set_service.py +0 -128
  168. xp/services/conbus/conbus_lightlevel_get_service.py +0 -101
  169. xp/services/conbus/conbus_lightlevel_set_service.py +0 -205
  170. xp/services/conbus/conbus_linknumber_get_service.py +0 -86
  171. xp/services/conbus/conbus_linknumber_set_service.py +0 -155
  172. {conson_xp-1.1.0.dist-info → conson_xp-1.3.0.dist-info}/WHEEL +0 -0
  173. {conson_xp-1.1.0.dist-info → conson_xp-1.3.0.dist-info}/entry_points.txt +0 -0
  174. {conson_xp-1.1.0.dist-info → conson_xp-1.3.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: conson-xp
3
- Version: 1.1.0
3
+ Version: 1.3.0
4
4
  Summary: XP Protocol Communication Tools
5
5
  Author-Email: ldvchosal <ldvchosal@github.com>
6
6
  License: MIT License
@@ -272,10 +272,6 @@ src/xp/
272
272
 
273
273
  xp
274
274
 
275
- xp api
276
- xp api start
277
-
278
-
279
275
  xp conbus
280
276
 
281
277
  xp conbus actiontable
@@ -0,0 +1,164 @@
1
+ conson_xp-1.3.0.dist-info/METADATA,sha256=vbTIsfypeY2WgsmWOGOeLT0pMaLOtQAh0PGVDTpkUzA,9274
2
+ conson_xp-1.3.0.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
+ conson_xp-1.3.0.dist-info/entry_points.txt,sha256=1OcdIcDM1hz3ljCXgybaPUh1IOFEwkaTgLIW9u9zGeg,50
4
+ conson_xp-1.3.0.dist-info/licenses/LICENSE,sha256=rxj6woMM-r3YCyGq_UHFtbh7kHTAJgrccH6O-33IDE4,1419
5
+ xp/__init__.py,sha256=zgW0EVZ8tN8g8HSuCLDaoFIBrf1aZ7IwB6_185Hu2yk,180
6
+ xp/cli/__init__.py,sha256=QjnKB1KaI2aIyKlzrnvCwfbBuUj8HNgwNMvNJVQofbI,81
7
+ xp/cli/__main__.py,sha256=l2iKwMdat5rTGd3JWs-uGksnYYDDffp_Npz05QdKEeU,117
8
+ xp/cli/commands/__init__.py,sha256=02CbZoKmNX-fn5etX4Hdgg2lUt1MsLFPYx2VkXZyFJ8,4394
9
+ xp/cli/commands/conbus/__init__.py,sha256=gE3K5OEoXkkZX8UOc2v3nreQQzwkOQi7n0VZ-Z2juXA,495
10
+ xp/cli/commands/conbus/conbus.py,sha256=OTebWu-V-_1tOq2nWExPLtDuAeqy7fB7ltUqzHfgcY8,2705
11
+ xp/cli/commands/conbus/conbus_actiontable_commands.py,sha256=H73-iHpsYRiOMl1hDILl2TaBdH3_It770bBZVZUcLyc,1978
12
+ xp/cli/commands/conbus/conbus_autoreport_commands.py,sha256=oZgyUUFNsb4yf2WO81l2w1PrasNwdC__QwxNkJ2jCaU,3794
13
+ xp/cli/commands/conbus/conbus_blink_commands.py,sha256=UK-Ey4K0FvaPQ96U0gyMid236RlBmUhPNRes9y0SlkM,4848
14
+ xp/cli/commands/conbus/conbus_config_commands.py,sha256=BugIbgNX6_s4MySGvI6tWZkwguciajHUX2Xz8XBux7k,716
15
+ xp/cli/commands/conbus/conbus_custom_commands.py,sha256=lICT93ijMdhVRm8KjNMLo7kQ2BLlnOZvMPbR3SxSmZ4,1692
16
+ xp/cli/commands/conbus/conbus_datapoint_commands.py,sha256=r36OuTjREtbGKL-bskAGa0-WLw7x06td6woZn3GYJNA,3630
17
+ xp/cli/commands/conbus/conbus_discover_commands.py,sha256=Jt-OjARc-QXCr453bhKG0zXRqvOMVKZr328zNxSDulY,1373
18
+ xp/cli/commands/conbus/conbus_lightlevel_commands.py,sha256=FpCwogdxa7yFUjlrxM7e8Q2Ut32tKAHabngQQChvtJI,6763
19
+ xp/cli/commands/conbus/conbus_linknumber_commands.py,sha256=pn491Iy_LcwZ5XLtvNTWu8qG_Vdaaxr7le1tTuVK7Qw,3392
20
+ xp/cli/commands/conbus/conbus_msactiontable_commands.py,sha256=kKWX9S0Ip9eX9EyWPwmyKMtt6q-jRXcOaicMAKt84Ls,2652
21
+ xp/cli/commands/conbus/conbus_output_commands.py,sha256=zdRVbHzVhMbZpG2x5WXtujc3wKTsoQUV4IgkVIbJbCc,5019
22
+ xp/cli/commands/conbus/conbus_raw_commands.py,sha256=8BKUarwvHgz-sxML7n99YVsb8B1HJNExjQpRsuY_tQw,1829
23
+ xp/cli/commands/conbus/conbus_receive_commands.py,sha256=WdH7fYcbjweIGxD2uxrTRD8lJzViMSVdsaHTvSDJNCQ,1757
24
+ xp/cli/commands/conbus/conbus_scan_commands.py,sha256=JfXucOwOadvLEKT_fW9fwvqWKHaEODOojLjnO8JV_00,1730
25
+ xp/cli/commands/file_commands.py,sha256=GV102X7FRZDUNKLlzvSsIGcoXAaofOzmjCp3HUpE9lw,5532
26
+ xp/cli/commands/homekit/__init__.py,sha256=qqwY8ulxTx1S74Mzpb6EKjBLT6fWTNdf9PQ3HKuERKY,50
27
+ xp/cli/commands/homekit/homekit.py,sha256=fiPBlE_nSndyO1ftEyTjL6xmgTh44Q3uZJEIcsf6W9I,3594
28
+ xp/cli/commands/homekit/homekit_start_commands.py,sha256=-9vuj7NgcPNc1l6aEdiq1jO94Wa4cYjemnNSa-lMtvE,1120
29
+ xp/cli/commands/module_commands.py,sha256=xjRFsrNqzdSJT-YmRFqxDNJPH0kZgT-za_4vnk8ToXQ,5386
30
+ xp/cli/commands/reverse_proxy_commands.py,sha256=dusGISfuSVW6zdrc1-UKxnMj29dCCcRCHJxe2PRwnP0,5457
31
+ xp/cli/commands/server/__init__.py,sha256=iunDmcaax9U-SHymgGzUlPadGdZLFl9LlhXu2mnyb64,49
32
+ xp/cli/commands/server/server_commands.py,sha256=I7A8qaHL01H4JKMbaw_WTHVUCIurpZJBMR9wVJwaKhM,3877
33
+ xp/cli/commands/telegram/__init__.py,sha256=KPhwoU5uscHe3tFAxWXxgFV5OKi9bISBh_TSREnxBFQ,181
34
+ xp/cli/commands/telegram/telegram.py,sha256=6bF0RGZhWaa9vlkor5vNGvsOlj7J3YpwMowZLauUGHw,960
35
+ xp/cli/commands/telegram/telegram_blink_commands.py,sha256=_WGBRO9cHkuCYMiUbdwpRdvPl-EpOuKvE6LNY2u4fyY,2188
36
+ xp/cli/commands/telegram/telegram_checksum_commands.py,sha256=6Z8EOqzQ49eG1UBJe9x3B5HkbT_d-F6xELnmuAupy7I,3353
37
+ xp/cli/commands/telegram/telegram_discover_commands.py,sha256=0UArJinw1eWFbee5EGMNRILE-wmECMSaJjBcCuc35xc,1114
38
+ xp/cli/commands/telegram/telegram_linknumber_commands.py,sha256=7j0-E5Moqqga4NrKDch82C6glaFDFMQn5_3hMwie7BQ,2511
39
+ xp/cli/commands/telegram/telegram_parse_commands.py,sha256=_OYOso1hS4f_ox96qlkYL2SuFnmimpAvqqdYlLzX9yo,2232
40
+ xp/cli/commands/telegram/telegram_version_commands.py,sha256=WQyx1-B9yJ8V9WrFyBpOvULJ-jq12GoZZDDoRbM7eyw,1553
41
+ xp/cli/main.py,sha256=52nMDP2Pq-W1PP4_BU5ybyTuO6QrStWOeLr44Wl_gB8,2812
42
+ xp/cli/utils/__init__.py,sha256=gTGIj60Uai0iE7sr9_TtEpl04fD7krtTzbbigXUsUVU,46
43
+ xp/cli/utils/click_tree.py,sha256=ilmM2IMa_c-TqUMsv2alrZXuS0BNhvVlrBlSfyN8lzM,1670
44
+ xp/cli/utils/datapoint_type_choice.py,sha256=HcydhlqxZ7YyorEeTjFGkypF2JnYNPvOzkl1rhZ93Fc,1666
45
+ xp/cli/utils/decorators.py,sha256=iAWm75VK_opqjX2h7ATZXlMzPINhF1FeeACzukm7ldQ,10149
46
+ xp/cli/utils/error_handlers.py,sha256=zL4f6996Is0lWl8uITNqiLyPNaeW6uUbkew7BRCFi8Y,6581
47
+ xp/cli/utils/formatters.py,sha256=fl7UmX6yLypqc0_QWevgPO2L6XA2Kd_0d_GSLUV5U30,9776
48
+ xp/cli/utils/serial_number_type.py,sha256=GUs3jtVI6EVulvt6fCDN6H6vxhiJwdMmdIvLjDlGGZ4,1466
49
+ xp/cli/utils/system_function_choice.py,sha256=0J02EMgAQcsrE-9rEkv6YHelBoBkZ73T8VLBSm6YO5k,1623
50
+ xp/cli/utils/xp_module_type.py,sha256=qSFJBRceqPi_cUFPxAWtLUNq37-KwUEjo9ekYOj7kLQ,1471
51
+ xp/connection/__init__.py,sha256=ClJsVWALYZgAGYZK_Jznd3YKLrHDu17kBfwugjuPfu0,209
52
+ xp/connection/exceptions.py,sha256=7CcRUzkyay5zA6Z9-5dIDRzua806v5N7pCcJazP_1dE,365
53
+ xp/models/__init__.py,sha256=wCyJNKBd8J2ziOm0g00eUZH4OeTaLO5vHuoQGd_AJbg,1111
54
+ xp/models/actiontable/__init__.py,sha256=6kVq1rTOlpc24sZxGGVWkY48tqR42YWHLQHqakWqlPc,43
55
+ xp/models/actiontable/actiontable.py,sha256=D24fftW51fYhz03LzTy21KJLoFLE7KaC6bgiiQcjQRY,1255
56
+ xp/models/actiontable/msactiontable_xp20.py,sha256=C_lYYIQagEFap0S5S40_S7AhLO2UZG2EmXjjeem7uw8,1967
57
+ xp/models/actiontable/msactiontable_xp24.py,sha256=hugTkpEfiFwzLNU2xCJgpRtTXglpYG_wC_dRdYCAog4,2093
58
+ xp/models/actiontable/msactiontable_xp33.py,sha256=2IEA0CBPvnatOueBPZiV0DPc7YFzTQIqIMqed8TKXeM,1932
59
+ xp/models/conbus/__init__.py,sha256=VIusMWQdBtlwDgj7oSj06wQkklihTp4oWFShvP_JUgA,35
60
+ xp/models/conbus/conbus.py,sha256=mZQzKPfrdttT-qUnYUSyrEYyc_eHs8z301E5ejeiyvk,2689
61
+ xp/models/conbus/conbus_autoreport.py,sha256=lKotDfxRBb7h2Z1d4qI3KhhLJhFDwKqLbSdG5Makm8Y,2289
62
+ xp/models/conbus/conbus_blink.py,sha256=XEAPtA-O76ulX6Zh1oYzsWF6L4css6xJBuUTwNcDQKc,2911
63
+ xp/models/conbus/conbus_client_config.py,sha256=fWPmHM-OVUzSASKq667JzP7e9_Qp9ZUyYcTaijWkVlY,1484
64
+ xp/models/conbus/conbus_connection_status.py,sha256=iGbmtBaAMwV6UD7XG3H3tnB0fl2MR8rJhpjrLH2KjsE,1097
65
+ xp/models/conbus/conbus_custom.py,sha256=8H2sPR6_LIlksuOvL7-8bPkzAJLR0rpYiiwfYYFVjEo,1965
66
+ xp/models/conbus/conbus_datapoint.py,sha256=4ncR-vB2lRzRBAA30rYn8eguyTxsZoOKrrXtjGmPpWg,3396
67
+ xp/models/conbus/conbus_discover.py,sha256=oYIHLLsXmgSQHrayS-JgcEpEaK_01Q1WTQEQj79h4j4,1642
68
+ xp/models/conbus/conbus_lightlevel.py,sha256=GQGhzrCBEJROosNHInXIzBy6MD2AskEIMoFEGgZ60-0,1695
69
+ xp/models/conbus/conbus_linknumber.py,sha256=uFzKzfB06oIzZEKCb5X2JEI80JjMPFuYglsT1W1k8j4,1815
70
+ xp/models/conbus/conbus_output.py,sha256=q7QKsD_CWT7YOk-V3otKWD1VM7qThrSLIUOunntMrMc,1953
71
+ xp/models/conbus/conbus_raw.py,sha256=xqvYao6IE1SXum7JBgZpSuWXm9x_QZquS9N_3_r0Hjs,1460
72
+ xp/models/conbus/conbus_receive.py,sha256=-1u1qK-texfKCNZV-GYf_9KyLtJdIrx7HuZsKzu26Ow,1322
73
+ xp/models/conbus/conbus_writeconfig.py,sha256=z8fdJeFLyGJW7UMHcHxGrHIMS6gG1D3aXeYUkBuwnEg,2136
74
+ xp/models/homekit/__init__.py,sha256=5HDSOClCu0ArK3IICn3_LDMMLBAzLjBxUUSF73bxSSk,34
75
+ xp/models/homekit/homekit_accessory.py,sha256=NsHFhskuxIdJpF9-MvXHtjkLYvNHmSGFOy0GmQv3PY4,1038
76
+ xp/models/homekit/homekit_config.py,sha256=Y1WwrbISRtJOkKVBnXQULb3vAOzcOdt95hBAI8cM_MU,2771
77
+ xp/models/homekit/homekit_conson_config.py,sha256=S8DbFVV6qL99M8sQlvY4nbb5JC-CeSKdxOJ5WyJ8pnI,1972
78
+ xp/models/log_entry.py,sha256=kPcYuAirCXugfL3YkOK9cQVlkNWxG_8a4AVuhsykHL0,4355
79
+ xp/models/protocol/__init__.py,sha256=TJ_CJKchA-xgQiv5vCo_ndBBZjrcaTmjT74bR0T-5Cw,38
80
+ xp/models/protocol/conbus_protocol.py,sha256=tSnI5pxBTP_f1DUzEM3XbyjK7vsqwm0gpzHIH1gTg8E,8854
81
+ xp/models/response.py,sha256=h6_B1k_v6IrWhgNWBohEGQGRCp5TcVhgQ3RJS8gTkhY,1230
82
+ xp/models/telegram/__init__.py,sha256=-_exhjlRLbBNuPxHC4tLA2SAgf8M0yHJMeyEoQIk9PI,53
83
+ xp/models/telegram/action_type.py,sha256=vkw_chTgmsadksGXvZ9D_qYGpjOwCw-OgbEi8Bml17g,783
84
+ xp/models/telegram/datapoint_type.py,sha256=clmgqCsTNKuHmWN6ol2Hwj_71I10f36Oq-S5D5ZA9a8,2942
85
+ xp/models/telegram/event_telegram.py,sha256=FCCfyZXQEUPB6Uo1m7B9nvFCJ0Ipv2CApmImAZo_Xa4,4689
86
+ xp/models/telegram/event_type.py,sha256=VZhaDpey7KYWnmwN-gstj-r4Vd5hiGdzQuRazUdixB8,333
87
+ xp/models/telegram/input_action_type.py,sha256=jELnLL10CilKp19r1-IUn4v3pHXvIGefChC6ln3nJOM,1874
88
+ xp/models/telegram/input_type.py,sha256=X3AcKKMNHswNZs5xgT_AnxeKQpSx_U7ctGnr6AYqNoU,491
89
+ xp/models/telegram/module_type.py,sha256=TdrcQC3UcdESzyUmS9PaVeJuF5VxH1WUtDWdf4QRA50,5223
90
+ xp/models/telegram/module_type_code.py,sha256=bg8Zi58yKs5DDnEF0bGnZ9vvpqzmIZzd1k9Wu4ufB-Y,8177
91
+ xp/models/telegram/output_telegram.py,sha256=vTSdeAGk7va89pZ8-oh0cna98N3T6if-6UcrstWsN6s,3473
92
+ xp/models/telegram/reply_telegram.py,sha256=oqNwDvaOhFTPuXL0fP9Ca3rbcKepDhRz9kIneKCk6n0,10376
93
+ xp/models/telegram/system_function.py,sha256=Iv9u4sYCPnMcvlpbBrNNxu0NpUOFsi5kPgT2vrelbVw,3266
94
+ xp/models/telegram/system_telegram.py,sha256=oYW9xfY4ldlid0XQ5D5ymk0-a9Jvr5EHD9O4Cb6JOPk,3192
95
+ xp/models/telegram/telegram.py,sha256=IJUxHX6ftLcET9C1pjvLhUO5Db5JO6W7rUItzdEW30I,842
96
+ xp/models/telegram/telegram_type.py,sha256=GhqKP63oNMyh2tIvCPcsC5RFp4s4JjhmEqCLCC-8XMk,423
97
+ xp/models/telegram/timeparam_type.py,sha256=Ar8xvSfPmOAgR2g2Je0FgvP01SL7bPvZn5_HrVDpmJM,1137
98
+ xp/models/write_config_type.py,sha256=T2RaO52RpzoJ4782uMHE-fX7Ymx3CaIQAEwByydXq1M,881
99
+ xp/services/__init__.py,sha256=W9YZyrkh7vm--ZHhAXNQiOYQs5yhhmUHXP5I0Lf1XBg,782
100
+ xp/services/conbus/__init__.py,sha256=Hi35sMKu9o6LpYoi2tQDaQoMb8M5sOt_-LUTxxaCU_0,28
101
+ xp/services/conbus/actiontable/__init__.py,sha256=oD6vRk_Ye-eZ9s_hldAgtRJFu4mfAnODqpkJUGHHszk,40
102
+ xp/services/conbus/actiontable/actiontable_serializer.py,sha256=x45-8d5Ba9l3hX2TFC5nqKv-g_244g-VTWhXvVXL8Jg,5159
103
+ xp/services/conbus/actiontable/actiontable_service.py,sha256=QJwROShPU7uoexB9GxT6if8u8Cfa8yJO3WJqAHNjqMY,5633
104
+ xp/services/conbus/actiontable/msactiontable_service.py,sha256=u64nejKvHzMdmlK9VoM7P3uMGIfjyfo2xp9dXXlgvjc,7451
105
+ xp/services/conbus/actiontable/msactiontable_xp20_serializer.py,sha256=EYspooOdi0Z8oaXGxpazwnUoTmh-d7U9auhu11iBgmU,6527
106
+ xp/services/conbus/actiontable/msactiontable_xp24_serializer.py,sha256=30qsk9UKje1n32PPc4YoGV1lw_ZvgxNqqd8ZDgzMJpg,4504
107
+ xp/services/conbus/actiontable/msactiontable_xp33_serializer.py,sha256=nuWfka4U9W4lpTcS8uD6azXFcryPb0CUO5O7Z28G1k8,8901
108
+ xp/services/conbus/conbus_blink_all_service.py,sha256=OaEg4b8AEiEruHSkZ5jDtaoI81vwwxLq4KWXO7zBdD0,6582
109
+ xp/services/conbus/conbus_blink_service.py,sha256=x9uM-sLnIEV8wSNsvJgo08E042g-Hh2ZF3rXkz-k_9s,5824
110
+ xp/services/conbus/conbus_custom_service.py,sha256=4aneYdPObiZOGxPFYg5Wr70cl_xFxlQIdJBPQSa0enI,5826
111
+ xp/services/conbus/conbus_datapoint_queryall_service.py,sha256=p9R02cVimhdJILHQ6BoeZj8Hog4oRpqBnMo3t4R8ecY,6816
112
+ xp/services/conbus/conbus_datapoint_service.py,sha256=NsqRQfNsZ4_Pbe7kcMQpUqfhVPH7H148JDWH49ExQ1E,6392
113
+ xp/services/conbus/conbus_discover_service.py,sha256=0rdGLZfi-gsjBeuFiUwGz0tUC85hbZUDxJ93ImBmq4U,5239
114
+ xp/services/conbus/conbus_output_service.py,sha256=mHFOAPx2zo0TStZ3pokp6v94AQjIamcwZDeg5YH_-eo,7240
115
+ xp/services/conbus/conbus_raw_service.py,sha256=4yZLLTIAOxpgByUTWZXw1ihGa6Xtl98ckj9T7VfprDI,4335
116
+ xp/services/conbus/conbus_receive_service.py,sha256=frXrS0OyKKvYYQTWdma21Kd0BKw5aSuHn3ZXTTqOaj0,3953
117
+ xp/services/conbus/conbus_scan_service.py,sha256=43Bhj7pVDOjIS2MdlD7iDvNK7Gy5KxX1qB8hiTwY5LQ,5186
118
+ xp/services/conbus/write_config_service.py,sha256=qe5TwQdVnMCcJ4lCeZLADdUeoDpbEaV3XoZ19a3F_qk,7128
119
+ xp/services/homekit/__init__.py,sha256=xAMKmln_AmEFdOOJGKWYi96seRlKDQpKx3-hm7XbdIo,36
120
+ xp/services/homekit/homekit_cache_service.py,sha256=NdijyH5_iyhsTHBb-OyT8Y2xnNDj8F5MP8neoVQ26hY,11010
121
+ xp/services/homekit/homekit_conbus_service.py,sha256=EYhYqGISPxUB6QrMDLWRPOA4S8f9AgJf0D_BKqXlGLA,3482
122
+ xp/services/homekit/homekit_config_validator.py,sha256=1jCUrfMUqthEoNc7wAk4io1PpbptqgsdnCOCzz62Io8,10732
123
+ xp/services/homekit/homekit_conson_validator.py,sha256=V_Otxu0q3LK-3GP3-Zw0nZyV_rb9RjHp4tWcvzYJeGs,3787
124
+ xp/services/homekit/homekit_dimminglight.py,sha256=O5SwnhkrJQHm7BopI9nL9QcfRSokcxn-H4csZMg0B5c,5770
125
+ xp/services/homekit/homekit_dimminglight_service.py,sha256=lxFE2k8a8V9YQwpWPAAmbUvYD3zDlVa337xzDQl6tjM,5231
126
+ xp/services/homekit/homekit_hap_service.py,sha256=YrFe10XPBf6EC2SRnWmcCbjdVkrHjxSNPwYDPVvQiDQ,12527
127
+ xp/services/homekit/homekit_lightbulb.py,sha256=7HGMIPwEcmvSs89ENcDhdb8g0R9WMq7115gYuwcskAs,3661
128
+ xp/services/homekit/homekit_lightbulb_service.py,sha256=pyRyxrNQqTW79rmGagItNpz7AMXTbBQL_l1o5VXTRn8,2652
129
+ xp/services/homekit/homekit_module_service.py,sha256=7lanEinxAfTdn28ZHV-O5YyTqq_3v8FIyP2FI0jsEQM,1526
130
+ xp/services/homekit/homekit_outlet.py,sha256=_Glfytfmvydz9TEn69N6bw3Ux0Y-EMw2eJPgeborkoA,5268
131
+ xp/services/homekit/homekit_outlet_service.py,sha256=mDvSv9_69Z6jGUBHixmBm7giDCVYtLOWtMZqYjBgUdE,3698
132
+ xp/services/homekit/homekit_service.py,sha256=0lW-hg40ETco3gDBEYkR_sX-UIYsLSKCD4NWruLXUM8,14031
133
+ xp/services/log_file_service.py,sha256=fvPcZQj8XOKUA-4ep5R8n0PelvwvRlTLlVxvIWM5KR4,10506
134
+ xp/services/module_type_service.py,sha256=xWhr1EAZMykL5uNWHWdpa5T8yNruGKH43XRTOS8GwZg,7477
135
+ xp/services/protocol/__init__.py,sha256=WuYn2iEcvsOIXnn5HCrU9kD3PjuMX1sIh0ljKISDoJw,720
136
+ xp/services/protocol/conbus_protocol.py,sha256=G39YPMpwhvvhFPYrzNxx6y2Is6DSP2UyCLm4T7RLPVc,10404
137
+ xp/services/protocol/protocol_factory.py,sha256=PmjN9AtW9sxNo3voqUiNgQA-pTvX1RW4XXFlHKfFr5Q,2470
138
+ xp/services/protocol/telegram_protocol.py,sha256=JKYxGbO2h3muIroYPYxS7An_BNfriXKLf3u0gdN_KnQ,9462
139
+ xp/services/reverse_proxy_service.py,sha256=BUOlcLlTU-R5iuC_96rasug21xo19wK9_4fMQXxc0QM,15061
140
+ xp/services/server/__init__.py,sha256=QEcCj-jK0goAukJCe15TKYFQfSAzWsduPT_wW0HxZU8,48
141
+ xp/services/server/base_server_service.py,sha256=HQKx4DW6lJ25dGofjaB_3HHPvEZGbL1XeQ20wU5k_z0,8755
142
+ xp/services/server/cp20_server_service.py,sha256=AQhfHBqXQsVL5emkXfSLdjlKaAIWtXXKqyxYNKNKWpQ,1624
143
+ xp/services/server/server_service.py,sha256=4lhd8feL7eRR5GZIiuag51z5W20KlGRrIGICgvOXwAQ,12459
144
+ xp/services/server/xp130_server_service.py,sha256=QbkOykAdYqSSOeI7uq3g-qy1zlXSB9mjWBfRz1esPis,1764
145
+ xp/services/server/xp20_server_service.py,sha256=w8LF6vl6jNeKKlrUVdv-2Tk1qq9DMfe40PiPps6kq84,1374
146
+ xp/services/server/xp230_server_service.py,sha256=n8eqmyWWVYVuLl-N3gu1zA0-Viifyo5VyMrGXLcvpgc,1388
147
+ xp/services/server/xp24_server_service.py,sha256=ygYym0oCzmHaVwDbl-XAZYyFlLLwyycMAO8g8D1q2iU,3806
148
+ xp/services/server/xp33_server_service.py,sha256=qswOUv3YS5pT6rDoony49EC-MFKJZKPo7DI3fKG74ts,6307
149
+ xp/services/telegram/__init__.py,sha256=kv0JgMg13Fp18WgGQpalNRAWwiWbrz18X4kZAP9xpSQ,48
150
+ xp/services/telegram/telegram_blink_service.py,sha256=Xctc9mCSZiiW1YTh8cA-4jlc8fTioS5OxT6ymhSqiYI,4487
151
+ xp/services/telegram/telegram_checksum_service.py,sha256=rp_C5PlraOOIyqZDp9XjBBNZLUeBLdQNNHVpN6D-1v8,4729
152
+ xp/services/telegram/telegram_datapoint_service.py,sha256=A3ERuFSWc22uJUoymH-2dWkt2_AfUvJcLQ1iy8ZbO0s,2399
153
+ xp/services/telegram/telegram_discover_service.py,sha256=oTpiq-yzP_UmC0xVOMMFeHO-rIlK1pF3aG-Kq4SeiBI,9025
154
+ xp/services/telegram/telegram_link_number_service.py,sha256=1_c-_QCRPTHYn3BmMElrBJqGG6vnoIst8CB-N42hazk,6862
155
+ xp/services/telegram/telegram_output_service.py,sha256=UaUv_14fR8o5K2PxQBXrCzx-Hohnk-gzbev_oLw_Clc,10799
156
+ xp/services/telegram/telegram_service.py,sha256=CQKmwV0Jmlr1WwrshaANyp_e77DjBzXzuFL1U5DRgFI,13092
157
+ xp/services/telegram/telegram_version_service.py,sha256=M5HdOTsLdcwo122FP-jW6R740ktLrtKf2TiMDVz23h8,10528
158
+ xp/utils/__init__.py,sha256=_avMF_UOkfR3tNeDIPqQ5odmbq5raKkaq1rZ9Cn1CJs,332
159
+ xp/utils/checksum.py,sha256=HDpiQxmdIedbCbZ4o_Box0i_Zig417BtCV_46ZyhiTk,1711
160
+ xp/utils/dependencies.py,sha256=4G7r0m1HY9UV4E0zLS8L-axcNiX2mM-N6OOAU8dVHVM,17740
161
+ xp/utils/event_helper.py,sha256=W-A_xmoXlpWZBbJH6qdaN50o3-XrwFsDgvAGMJDiAgo,1001
162
+ xp/utils/serialization.py,sha256=RWHHk86feaB4ZP7rjE4qOWK0900yg2joUBDkP76gfOY,4618
163
+ xp/utils/time_utils.py,sha256=dEyViDlAG9GWU-J3D_YVa-sGma6yiyyMTgN4h2x3PY4,3781
164
+ conson_xp-1.3.0.dist-info/RECORD,,
xp/__init__.py CHANGED
@@ -1,8 +1,9 @@
1
- """XP CLI tool for remote console bus operations"""
1
+ """XP CLI tool for remote console bus operations.
2
2
 
3
- """conson-xp"""
3
+ conson-xp package.
4
+ """
4
5
 
5
- __version__ = "1.1.0"
6
+ __version__ = "1.3.0"
6
7
  __manufacturer__ = "salchichon"
7
8
  __model__ = "xp.cli"
8
9
  __serial__ = "2025.09.23.000"
xp/cli/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- """CLI interface for XP tool"""
1
+ """CLI interface for XP tool."""
2
2
 
3
3
  from xp.cli.main import cli
4
4
 
@@ -1,7 +1,6 @@
1
1
  """Command modules for XP CLI."""
2
2
 
3
3
  # Main command groups
4
- from xp.cli.commands.api_start_commands import start_api_server
5
4
 
6
5
  # Import conbus command groups (but not 'conbus' itself to avoid module shadowing in Python 3.10)
7
6
  from xp.cli.commands.conbus.conbus import (
@@ -38,6 +37,7 @@ from xp.cli.commands.conbus.conbus_datapoint_commands import (
38
37
  )
39
38
  from xp.cli.commands.conbus.conbus_discover_commands import send_discover_telegram
40
39
  from xp.cli.commands.conbus.conbus_lightlevel_commands import (
40
+ xp_lightlevel_get,
41
41
  xp_lightlevel_off,
42
42
  xp_lightlevel_on,
43
43
  xp_lightlevel_set,
@@ -99,7 +99,6 @@ __all__ = [
99
99
  "linknumber",
100
100
  "blink",
101
101
  "checksum",
102
- "start_api_server",
103
102
  "homekit",
104
103
  "homekit_start",
105
104
  # Individual command functions
@@ -8,9 +8,7 @@ from click_help_colors import HelpColorsGroup
8
8
  cls=HelpColorsGroup, help_headers_color="yellow", help_options_color="green"
9
9
  )
10
10
  def conbus() -> None:
11
- """
12
- Conbus client operations for sending telegrams to remote servers
13
- """
11
+ """Perform Conbus client operations for sending telegrams to remote servers."""
14
12
  pass
15
13
 
16
14
 
@@ -21,9 +19,7 @@ def conbus() -> None:
21
19
  help_options_color="green",
22
20
  )
23
21
  def conbus_blink() -> None:
24
- """
25
- Conbus client operations for sending blink telegrams to remote servers
26
- """
22
+ """Perform Conbus client operations for sending blink telegrams to remote servers."""
27
23
  pass
28
24
 
29
25
 
@@ -34,9 +30,7 @@ def conbus_blink() -> None:
34
30
  help_options_color="green",
35
31
  )
36
32
  def conbus_output() -> None:
37
- """
38
- Conbus input operations to remote servers
39
- """
33
+ """Perform Conbus input operations to remote servers."""
40
34
  pass
41
35
 
42
36
 
@@ -47,9 +41,7 @@ def conbus_output() -> None:
47
41
  help_options_color="green",
48
42
  )
49
43
  def conbus_datapoint() -> None:
50
- """
51
- Conbus datapoint operations for querying module datapoints
52
- """
44
+ """Perform Conbus datapoint operations for querying module datapoints."""
53
45
  pass
54
46
 
55
47
 
@@ -61,11 +53,7 @@ def conbus_datapoint() -> None:
61
53
  short_help="Link number operations",
62
54
  )
63
55
  def conbus_linknumber() -> None:
64
- """
65
- Link number operations for modules.
66
-
67
- Set or get the link number for specific modules.
68
- """
56
+ """Set or get the link number for specific modules."""
69
57
  pass
70
58
 
71
59
 
@@ -77,11 +65,7 @@ def conbus_linknumber() -> None:
77
65
  short_help="Auto report status operations",
78
66
  )
79
67
  def conbus_autoreport() -> None:
80
- """
81
- Auto report status operations for modules.
82
-
83
- Get or set the auto report status for specific modules.
84
- """
68
+ """Get or set the auto report status for specific modules."""
85
69
  pass
86
70
 
87
71
 
@@ -93,11 +77,7 @@ def conbus_autoreport() -> None:
93
77
  short_help="Light level operations",
94
78
  )
95
79
  def conbus_lightlevel() -> None:
96
- """
97
- Light level operations for modules.
98
-
99
- Control light level (dimming) of outputs on Conbus modules.
100
- """
80
+ """Control light level (dimming) of outputs on Conbus modules."""
101
81
  pass
102
82
 
103
83
 
@@ -109,11 +89,7 @@ def conbus_lightlevel() -> None:
109
89
  short_help="MSActionTable operations",
110
90
  )
111
91
  def conbus_msactiontable() -> None:
112
- """
113
- msactiontable operations for modules.
114
-
115
- Download msactiontable on Conbus modules.
116
- """
92
+ """Download msactiontable on Conbus modules."""
117
93
  pass
118
94
 
119
95
 
@@ -125,11 +101,7 @@ def conbus_msactiontable() -> None:
125
101
  short_help="ActionTable operations",
126
102
  )
127
103
  def conbus_actiontable() -> None:
128
- """
129
- ActionTable operations for modules.
130
-
131
- Download ActionTable from Conbus modules.
132
- """
104
+ """Download ActionTable from Conbus modules."""
133
105
  pass
134
106
 
135
107
 
@@ -22,13 +22,30 @@ from xp.services.conbus.actiontable.actiontable_service import (
22
22
  @click.pass_context
23
23
  @connection_command()
24
24
  def conbus_download_actiontable(ctx: Context, serial_number: str) -> None:
25
- """Download action table from XP module"""
26
- service = ctx.obj.get("container").get_container().resolve(ActionTableService)
25
+ """Download action table from XP module.
26
+
27
+ Args:
28
+ ctx: Click context object.
29
+ serial_number: 10-digit module serial number.
30
+ """
31
+ service: ActionTableService = (
32
+ ctx.obj.get("container").get_container().resolve(ActionTableService)
33
+ )
27
34
 
28
35
  def progress_callback(progress: str) -> None:
36
+ """Handle progress updates during action table download.
37
+
38
+ Args:
39
+ progress: Progress message string.
40
+ """
29
41
  click.echo(progress)
30
42
 
31
- def finish_callback(actiontable: ActionTable) -> None:
43
+ def on_finish(actiontable: ActionTable) -> None:
44
+ """Handle successful completion of action table download.
45
+
46
+ Args:
47
+ actiontable: Downloaded action table object.
48
+ """
32
49
  output = {
33
50
  "serial_number": serial_number,
34
51
  "actiontable": asdict(actiontable),
@@ -36,12 +53,17 @@ def conbus_download_actiontable(ctx: Context, serial_number: str) -> None:
36
53
  click.echo(json.dumps(output, indent=2, default=str))
37
54
 
38
55
  def error_callback(error: str) -> None:
56
+ """Handle errors during action table download.
57
+
58
+ Args:
59
+ error: Error message string.
60
+ """
39
61
  click.echo(error)
40
62
 
41
63
  with service:
42
64
  service.start(
43
65
  serial_number=serial_number,
44
66
  progress_callback=progress_callback,
45
- finish_callback=finish_callback,
67
+ finish_callback=on_finish,
46
68
  error_callback=error_callback,
47
69
  )
@@ -10,11 +10,12 @@ from xp.cli.utils.decorators import (
10
10
  connection_command,
11
11
  )
12
12
  from xp.cli.utils.serial_number_type import SERIAL
13
- from xp.models.conbus.conbus_autoreport import ConbusAutoreportResponse
14
- from xp.services.conbus.conbus_autoreport_get_service import (
15
- ConbusAutoreportGetService,
16
- )
17
- from xp.services.conbus.conbus_autoreport_set_service import ConbusAutoreportSetService
13
+ from xp.models import ConbusDatapointResponse
14
+ from xp.models.conbus.conbus_writeconfig import ConbusWriteConfigResponse
15
+ from xp.models.telegram.datapoint_type import DataPointType
16
+ from xp.services.conbus.conbus_datapoint_service import ConbusDatapointService
17
+ from xp.services.conbus.write_config_service import WriteConfigService
18
+ from xp.services.telegram.telegram_datapoint_service import TelegramDatapointService
18
19
 
19
20
 
20
21
  @conbus_autoreport.command("get", short_help="Get auto report status for a module")
@@ -22,27 +23,41 @@ from xp.services.conbus.conbus_autoreport_set_service import ConbusAutoreportSet
22
23
  @connection_command()
23
24
  @click.pass_context
24
25
  def get_autoreport_command(ctx: Context, serial_number: str) -> None:
25
- """
26
- Get the current auto report status for a specific module.
26
+ r"""Get the current auto report status for a specific module.
27
27
 
28
- SERIAL_NUMBER: 10-digit module serial number
28
+ Args:
29
+ ctx: Click context object.
30
+ serial_number: 10-digit module serial number.
29
31
 
30
32
  Examples:
31
-
32
- \b
33
+ \b
33
34
  xp conbus autoreport get 0123450001
34
35
  """
35
36
  # Get service from container
36
- service = (
37
- ctx.obj.get("container").get_container().resolve(ConbusAutoreportGetService)
37
+ service: ConbusDatapointService = (
38
+ ctx.obj.get("container").get_container().resolve(ConbusDatapointService)
39
+ )
40
+ telegram_service: TelegramDatapointService = (
41
+ ctx.obj.get("container").get_container().resolve(TelegramDatapointService)
38
42
  )
39
43
 
40
- def on_finish(service_response: ConbusAutoreportResponse) -> None:
41
- click.echo(json.dumps(service_response.to_dict(), indent=2))
44
+ def on_finish(service_response: ConbusDatapointResponse) -> None:
45
+ """Handle successful completion of auto report status retrieval.
46
+
47
+ Args:
48
+ service_response: Auto report response object.
49
+ """
50
+ auto_report_status = telegram_service.get_autoreport_status(
51
+ service_response.data_value
52
+ )
53
+ result = service_response.to_dict()
54
+ result["auto_report_status"] = auto_report_status
55
+ click.echo(json.dumps(result, indent=2))
42
56
 
43
57
  with service:
44
- service.get_autoreport_status(
58
+ service.query_datapoint(
45
59
  serial_number=serial_number,
60
+ datapoint_type=DataPointType.AUTO_REPORT_STATUS,
46
61
  finish_callback=on_finish,
47
62
  )
48
63
 
@@ -53,28 +68,41 @@ def get_autoreport_command(ctx: Context, serial_number: str) -> None:
53
68
  @connection_command()
54
69
  @click.pass_context
55
70
  def set_autoreport_command(ctx: Context, serial_number: str, status: str) -> None:
56
- """
57
- Set the auto report status for a specific module.
71
+ r"""Set the auto report status for a specific module.
58
72
 
59
- SERIAL_NUMBER: 10-digit module serial number
60
- STATUS: Auto report status - either 'on' or 'off'
73
+ Args:
74
+ ctx: Click context object.
75
+ serial_number: 10-digit module serial number.
76
+ status: Auto report status - either 'on' or 'off'.
61
77
 
62
78
  Examples:
63
-
64
- \b
79
+ \b
65
80
  xp conbus autoreport set 0123450001 on
66
81
  xp conbus autoreport set 0123450001 off
67
82
  """
68
- # Get service from container
69
- service = (
70
- ctx.obj.get("container").get_container().resolve(ConbusAutoreportSetService)
71
- )
72
- status_bool = status.lower() == "on"
73
83
 
74
- def on_finish(service_response: ConbusAutoreportResponse) -> None:
75
- click.echo(json.dumps(service_response.to_dict(), indent=2))
84
+ def on_finish(response: "ConbusWriteConfigResponse") -> None:
85
+ """Handle successful completion of light level on command.
86
+
87
+ Args:
88
+ response: Light level response object.
89
+ """
90
+ click.echo(json.dumps(response.to_dict(), indent=2))
91
+
92
+ service: WriteConfigService = (
93
+ ctx.obj.get("container").get_container().resolve(WriteConfigService)
94
+ )
95
+ telegram_service: TelegramDatapointService = (
96
+ ctx.obj.get("container").get_container().resolve(TelegramDatapointService)
97
+ )
98
+ status_value = True if status == "on" else False
99
+ data_value = telegram_service.get_autoreport_status_data_value(status_value)
76
100
 
77
101
  with service:
78
- service.set_autoreport_status(
79
- serial_number=serial_number, status=status_bool, status_callback=on_finish
102
+ service.write_config(
103
+ serial_number=serial_number,
104
+ datapoint_type=DataPointType.AUTO_REPORT_STATUS,
105
+ data_value=data_value,
106
+ finish_callback=on_finish,
107
+ timeout_seconds=0.5,
80
108
  )