conson-xp 1.11.0__tar.gz → 1.14.0__tar.gz

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 (264) hide show
  1. {conson_xp-1.11.0 → conson_xp-1.14.0}/PKG-INFO +6 -1
  2. {conson_xp-1.11.0 → conson_xp-1.14.0}/README.md +5 -0
  3. {conson_xp-1.11.0 → conson_xp-1.14.0}/pyproject.toml +1 -1
  4. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/__init__.py +1 -1
  5. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/__init__.py +8 -0
  6. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus.py +13 -0
  7. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_linknumber_commands.py +1 -1
  8. conson_xp-1.14.0/src/xp/cli/commands/conbus/conbus_modulenumber_commands.py +104 -0
  9. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/write_config_service.py +1 -0
  10. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/telegram/telegram_datapoint_service.py +12 -0
  11. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/utils/dependencies.py +2 -0
  12. {conson_xp-1.11.0 → conson_xp-1.14.0}/LICENSE +0 -0
  13. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/__init__.py +0 -0
  14. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/__main__.py +0 -0
  15. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/__init__.py +0 -0
  16. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_actiontable_commands.py +0 -0
  17. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_autoreport_commands.py +0 -0
  18. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_blink_commands.py +0 -0
  19. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_config_commands.py +0 -0
  20. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_custom_commands.py +0 -0
  21. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_datapoint_commands.py +0 -0
  22. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_discover_commands.py +0 -0
  23. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_lightlevel_commands.py +0 -0
  24. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_msactiontable_commands.py +0 -0
  25. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_output_commands.py +0 -0
  26. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_raw_commands.py +0 -0
  27. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_receive_commands.py +0 -0
  28. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/conbus/conbus_scan_commands.py +0 -0
  29. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/file_commands.py +0 -0
  30. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/homekit/__init__.py +0 -0
  31. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/homekit/homekit.py +0 -0
  32. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/homekit/homekit_start_commands.py +0 -0
  33. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/module_commands.py +0 -0
  34. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/reverse_proxy_commands.py +0 -0
  35. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/server/__init__.py +0 -0
  36. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/server/server_commands.py +0 -0
  37. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/telegram/__init__.py +0 -0
  38. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/telegram/telegram.py +0 -0
  39. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/telegram/telegram_blink_commands.py +0 -0
  40. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/telegram/telegram_checksum_commands.py +0 -0
  41. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/telegram/telegram_discover_commands.py +0 -0
  42. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/telegram/telegram_linknumber_commands.py +0 -0
  43. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/telegram/telegram_parse_commands.py +0 -0
  44. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/commands/telegram/telegram_version_commands.py +0 -0
  45. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/main.py +0 -0
  46. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/utils/__init__.py +0 -0
  47. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/utils/click_tree.py +0 -0
  48. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/utils/datapoint_type_choice.py +0 -0
  49. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/utils/decorators.py +0 -0
  50. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/utils/error_handlers.py +0 -0
  51. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/utils/formatters.py +0 -0
  52. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/utils/serial_number_type.py +0 -0
  53. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/utils/system_function_choice.py +0 -0
  54. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/cli/utils/xp_module_type.py +0 -0
  55. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/connection/__init__.py +0 -0
  56. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/connection/exceptions.py +0 -0
  57. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/__init__.py +0 -0
  58. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/actiontable/__init__.py +0 -0
  59. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/actiontable/actiontable.py +0 -0
  60. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/actiontable/msactiontable_xp20.py +0 -0
  61. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/actiontable/msactiontable_xp24.py +0 -0
  62. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/actiontable/msactiontable_xp33.py +0 -0
  63. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/__init__.py +0 -0
  64. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus.py +0 -0
  65. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_autoreport.py +0 -0
  66. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_blink.py +0 -0
  67. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_client_config.py +0 -0
  68. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_connection_status.py +0 -0
  69. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_custom.py +0 -0
  70. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_datapoint.py +0 -0
  71. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_discover.py +0 -0
  72. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_lightlevel.py +0 -0
  73. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_linknumber.py +0 -0
  74. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_output.py +0 -0
  75. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_raw.py +0 -0
  76. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_receive.py +0 -0
  77. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/conbus/conbus_writeconfig.py +0 -0
  78. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/homekit/__init__.py +0 -0
  79. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/homekit/homekit_accessory.py +0 -0
  80. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/homekit/homekit_config.py +0 -0
  81. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/homekit/homekit_conson_config.py +0 -0
  82. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/log_entry.py +0 -0
  83. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/protocol/__init__.py +0 -0
  84. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/protocol/conbus_protocol.py +0 -0
  85. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/response.py +0 -0
  86. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/__init__.py +0 -0
  87. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/action_type.py +0 -0
  88. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/datapoint_type.py +0 -0
  89. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/event_telegram.py +0 -0
  90. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/event_type.py +0 -0
  91. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/input_action_type.py +0 -0
  92. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/input_type.py +0 -0
  93. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/module_type.py +0 -0
  94. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/module_type_code.py +0 -0
  95. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/output_telegram.py +0 -0
  96. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/reply_telegram.py +0 -0
  97. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/system_function.py +0 -0
  98. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/system_telegram.py +0 -0
  99. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/telegram.py +0 -0
  100. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/telegram_type.py +0 -0
  101. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/telegram/timeparam_type.py +0 -0
  102. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/models/write_config_type.py +0 -0
  103. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/__init__.py +0 -0
  104. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/actiontable/__init__.py +0 -0
  105. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/actiontable/actiontable_serializer.py +0 -0
  106. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/actiontable/msactiontable_serializer.py +0 -0
  107. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/actiontable/msactiontable_xp20_serializer.py +0 -0
  108. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/actiontable/msactiontable_xp24_serializer.py +0 -0
  109. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/actiontable/msactiontable_xp33_serializer.py +0 -0
  110. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/__init__.py +0 -0
  111. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/actiontable/__init__.py +0 -0
  112. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/actiontable/actiontable_download_service.py +0 -0
  113. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/actiontable/actiontable_list_service.py +0 -0
  114. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/actiontable/actiontable_show_service.py +0 -0
  115. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/actiontable/actiontable_upload_service.py +0 -0
  116. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/actiontable/msactiontable_service.py +0 -0
  117. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/conbus_blink_all_service.py +0 -0
  118. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/conbus_blink_service.py +0 -0
  119. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/conbus_custom_service.py +0 -0
  120. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/conbus_datapoint_queryall_service.py +0 -0
  121. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/conbus_datapoint_service.py +0 -0
  122. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/conbus_discover_service.py +0 -0
  123. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/conbus_output_service.py +0 -0
  124. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/conbus_raw_service.py +0 -0
  125. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/conbus_receive_service.py +0 -0
  126. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/conbus/conbus_scan_service.py +0 -0
  127. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/__init__.py +0 -0
  128. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_cache_service.py +0 -0
  129. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_conbus_service.py +0 -0
  130. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_config_validator.py +0 -0
  131. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_conson_validator.py +0 -0
  132. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_dimminglight.py +0 -0
  133. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_dimminglight_service.py +0 -0
  134. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_hap_service.py +0 -0
  135. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_lightbulb.py +0 -0
  136. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_lightbulb_service.py +0 -0
  137. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_module_service.py +0 -0
  138. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_outlet.py +0 -0
  139. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_outlet_service.py +0 -0
  140. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/homekit/homekit_service.py +0 -0
  141. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/log_file_service.py +0 -0
  142. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/module_type_service.py +0 -0
  143. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/protocol/__init__.py +0 -0
  144. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/protocol/conbus_protocol.py +0 -0
  145. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/protocol/protocol_factory.py +0 -0
  146. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/protocol/telegram_protocol.py +0 -0
  147. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/reverse_proxy_service.py +0 -0
  148. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/server/__init__.py +0 -0
  149. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/server/base_server_service.py +0 -0
  150. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/server/cp20_server_service.py +0 -0
  151. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/server/device_service_factory.py +0 -0
  152. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/server/server_service.py +0 -0
  153. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/server/xp130_server_service.py +0 -0
  154. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/server/xp20_server_service.py +0 -0
  155. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/server/xp230_server_service.py +0 -0
  156. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/server/xp24_server_service.py +0 -0
  157. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/server/xp33_server_service.py +0 -0
  158. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/telegram/__init__.py +0 -0
  159. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/telegram/telegram_blink_service.py +0 -0
  160. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/telegram/telegram_checksum_service.py +0 -0
  161. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/telegram/telegram_discover_service.py +0 -0
  162. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/telegram/telegram_link_number_service.py +0 -0
  163. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/telegram/telegram_output_service.py +0 -0
  164. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/telegram/telegram_service.py +0 -0
  165. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/services/telegram/telegram_version_service.py +0 -0
  166. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/utils/__init__.py +0 -0
  167. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/utils/checksum.py +0 -0
  168. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/utils/event_helper.py +0 -0
  169. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/utils/serialization.py +0 -0
  170. {conson_xp-1.11.0 → conson_xp-1.14.0}/src/xp/utils/time_utils.py +0 -0
  171. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/.coverage +0 -0
  172. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/__init__.py +0 -0
  173. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/conftest.py +0 -0
  174. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/.coverage +0 -0
  175. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/__init__.py +0 -0
  176. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/telegram_test_data.py +0 -0
  177. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_actiontable_integration.py +0 -0
  178. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_api/.coverage +0 -0
  179. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_api/__init__.py +0 -0
  180. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_blink_integration.py +0 -0
  181. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_checksum_integration.py +0 -0
  182. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_conbus_blink_integration.py +0 -0
  183. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_conbus_datapoint_integration.py +0 -0
  184. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_conbus_raw_integration.py +0 -0
  185. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_conbus_receive_integration.py +0 -0
  186. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_discovery_integration.py +0 -0
  187. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_event_telegram_integration.py +0 -0
  188. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_homekit_config_integration.py +0 -0
  189. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_link_number_integration.py +0 -0
  190. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_module_integration.py +0 -0
  191. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_output_integration.py +0 -0
  192. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_reverse_proxy_integration.py +0 -0
  193. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_system_reply_telegram_integration.py +0 -0
  194. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_version_integration.py +0 -0
  195. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_xp20_action_table_integration.py +0 -0
  196. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/integration/test_xp24_action_table_integration.py +0 -0
  197. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/__init__.py +0 -0
  198. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_api/__init__.py +0 -0
  199. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_cli/__init__.py +0 -0
  200. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_cli/test_click_tree.py +0 -0
  201. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_cli/test_conbus_actiontable_commands.py +0 -0
  202. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_cli/test_conbus_blink_commands.py +0 -0
  203. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_cli/test_datapoint_type_choice.py +0 -0
  204. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_cli/test_decorators.py +0 -0
  205. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_cli/test_error_handlers.py +0 -0
  206. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_cli/test_formatters.py +0 -0
  207. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_cli/test_serial_number_type.py +0 -0
  208. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_cli/test_system_function_choice.py +0 -0
  209. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_connection/__init__.py +0 -0
  210. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_connection/test_connection_init.py +0 -0
  211. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_connection/test_exceptions.py +0 -0
  212. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_encoding/__init__.py +0 -0
  213. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_encoding/test_latin1_edge_cases.py +0 -0
  214. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/__init__.py +0 -0
  215. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_conbus.py +0 -0
  216. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_conbus_client_send.py +0 -0
  217. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_conbus_discover.py +0 -0
  218. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_conbus_linknumber.py +0 -0
  219. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_event_telegram.py +0 -0
  220. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_log_entry.py +0 -0
  221. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_module_type.py +0 -0
  222. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_reply_telegram.py +0 -0
  223. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_system_telegram.py +0 -0
  224. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_system_telegram_enhancements.py +0 -0
  225. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_version_telegram.py +0 -0
  226. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_write_config_type.py +0 -0
  227. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_xp20_action_table.py +0 -0
  228. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_xp24_action_table.py +0 -0
  229. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_models/test_xp24_action_telegram.py +0 -0
  230. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/__init__.py +0 -0
  231. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_actiontable_serializer.py +0 -0
  232. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_actiontable_service.py +0 -0
  233. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_actiontable_upload_service.py +0 -0
  234. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_base_server_service.py +0 -0
  235. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_blink_service.py +0 -0
  236. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_checksum_service.py +0 -0
  237. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_conbus_blink_service.py +0 -0
  238. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_conbus_raw_service.py +0 -0
  239. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_conbus_reverse_proxy_service.py +0 -0
  240. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_device_service_factory.py +0 -0
  241. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_discovery_service.py +0 -0
  242. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_homekit_cache_service.py +0 -0
  243. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_homekit_config_validator.py +0 -0
  244. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_homekit_conson_service.py +0 -0
  245. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_homekit_services.py +0 -0
  246. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_log_file_service.py +0 -0
  247. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_module_type_service.py +0 -0
  248. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_protocol.py +0 -0
  249. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_server_service.py +0 -0
  250. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_telegram_input_service.py +0 -0
  251. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_telegram_protocol.py +0 -0
  252. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_telegram_service.py +0 -0
  253. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_version_service.py +0 -0
  254. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_xp20_action_table_serializer.py +0 -0
  255. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_xp24_action_service.py +0 -0
  256. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_xp24_action_table_serializer.py +0 -0
  257. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_xp24_action_table_service.py +0 -0
  258. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_xp33_action_table_serializer.py +0 -0
  259. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_services/test_xp_server_services.py +0 -0
  260. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_utils/__init__.py +0 -0
  261. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_utils/test_checksum.py +0 -0
  262. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_utils/test_event_helper.py +0 -0
  263. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_utils/test_serialization.py +0 -0
  264. {conson_xp-1.11.0 → conson_xp-1.14.0}/tests/unit/test_utils/test_time_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: conson-xp
3
- Version: 1.11.0
3
+ Version: 1.14.0
4
4
  Summary: XP Protocol Communication Tools
5
5
  Author-Email: ldvchosal <ldvchosal@github.com>
6
6
  License: MIT License
@@ -316,6 +316,11 @@ xp conbus linknumber get
316
316
  xp conbus linknumber set
317
317
 
318
318
 
319
+ xp conbus modulenumber
320
+ xp conbus modulenumber get
321
+ xp conbus modulenumber set
322
+
323
+
319
324
  xp conbus msactiontable
320
325
  xp conbus msactiontable download
321
326
 
@@ -265,6 +265,11 @@ xp conbus linknumber get
265
265
  xp conbus linknumber set
266
266
 
267
267
 
268
+ xp conbus modulenumber
269
+ xp conbus modulenumber get
270
+ xp conbus modulenumber set
271
+
272
+
268
273
  xp conbus msactiontable
269
274
  xp conbus msactiontable download
270
275
 
@@ -20,7 +20,7 @@ dependencies = [
20
20
  ]
21
21
  requires-python = ">=3.11"
22
22
  readme = "README.md"
23
- version = "1.11.0"
23
+ version = "1.14.0"
24
24
 
25
25
  [project.license]
26
26
  file = "LICENSE"
@@ -3,7 +3,7 @@
3
3
  conson-xp package.
4
4
  """
5
5
 
6
- __version__ = "1.11.0"
6
+ __version__ = "1.14.0"
7
7
  __manufacturer__ = "salchichon"
8
8
  __model__ = "xp.cli"
9
9
  __serial__ = "2025.09.23.000"
@@ -10,6 +10,7 @@ from xp.cli.commands.conbus.conbus import (
10
10
  conbus_datapoint,
11
11
  conbus_lightlevel,
12
12
  conbus_linknumber,
13
+ conbus_modulenumber,
13
14
  conbus_msactiontable,
14
15
  conbus_output,
15
16
  )
@@ -46,6 +47,10 @@ from xp.cli.commands.conbus.conbus_linknumber_commands import (
46
47
  get_linknumber_command,
47
48
  set_linknumber_command,
48
49
  )
50
+ from xp.cli.commands.conbus.conbus_modulenumber_commands import (
51
+ get_modulenumber_command,
52
+ set_modulenumber_command,
53
+ )
49
54
  from xp.cli.commands.conbus.conbus_msactiontable_commands import (
50
55
  conbus_download_msactiontable,
51
56
  )
@@ -87,6 +92,7 @@ __all__ = [
87
92
  "conbus_output",
88
93
  "conbus_datapoint",
89
94
  "conbus_linknumber",
95
+ "conbus_modulenumber",
90
96
  "conbus_autoreport",
91
97
  "conbus_lightlevel",
92
98
  "conbus_msactiontable",
@@ -123,6 +129,8 @@ __all__ = [
123
129
  "receive_telegrams",
124
130
  "set_linknumber_command",
125
131
  "get_linknumber_command",
132
+ "set_modulenumber_command",
133
+ "get_modulenumber_command",
126
134
  "get_autoreport_command",
127
135
  "set_autoreport_command",
128
136
  "xp_lightlevel_set",
@@ -57,6 +57,18 @@ def conbus_linknumber() -> None:
57
57
  pass
58
58
 
59
59
 
60
+ @click.group(
61
+ "modulenumber",
62
+ cls=HelpColorsGroup,
63
+ help_headers_color="yellow",
64
+ help_options_color="green",
65
+ short_help="Module number operations",
66
+ )
67
+ def conbus_modulenumber() -> None:
68
+ """Set or get the module number for specific modules."""
69
+ pass
70
+
71
+
60
72
  @click.group(
61
73
  "autoreport",
62
74
  cls=HelpColorsGroup,
@@ -109,6 +121,7 @@ conbus.add_command(conbus_blink)
109
121
  conbus.add_command(conbus_output)
110
122
  conbus.add_command(conbus_datapoint)
111
123
  conbus.add_command(conbus_linknumber)
124
+ conbus.add_command(conbus_modulenumber)
112
125
  conbus.add_command(conbus_autoreport)
113
126
  conbus.add_command(conbus_lightlevel)
114
127
  conbus.add_command(conbus_msactiontable)
@@ -49,7 +49,7 @@ def set_linknumber_command(
49
49
  ctx.obj.get("container").get_container().resolve(WriteConfigService)
50
50
  )
51
51
 
52
- data_value = f"{link_number: 02d}"
52
+ data_value = f"{link_number:02d}"
53
53
  with service:
54
54
  service.write_config(
55
55
  serial_number=serial_number,
@@ -0,0 +1,104 @@
1
+ """Conbus module number CLI commands."""
2
+
3
+ import json
4
+
5
+ import click
6
+
7
+ from xp.cli.commands.conbus.conbus import conbus_modulenumber
8
+ from xp.cli.utils.decorators import (
9
+ connection_command,
10
+ )
11
+ from xp.cli.utils.serial_number_type import SERIAL
12
+ from xp.models import ConbusDatapointResponse
13
+ from xp.models.conbus.conbus_writeconfig import ConbusWriteConfigResponse
14
+ from xp.models.telegram.datapoint_type import DataPointType
15
+ from xp.services.conbus.conbus_datapoint_service import ConbusDatapointService
16
+ from xp.services.conbus.write_config_service import WriteConfigService
17
+ from xp.services.telegram.telegram_datapoint_service import TelegramDatapointService
18
+
19
+
20
+ @conbus_modulenumber.command("set", short_help="Set module number for a module")
21
+ @click.argument("serial_number", type=SERIAL)
22
+ @click.argument("module_number", type=click.IntRange(0, 99))
23
+ @click.pass_context
24
+ @connection_command()
25
+ def set_modulenumber_command(
26
+ ctx: click.Context, serial_number: str, module_number: int
27
+ ) -> None:
28
+ r"""Set the module number for a specific module.
29
+
30
+ Args:
31
+ ctx: Click context object.
32
+ serial_number: 10-digit module serial number.
33
+ module_number: Module number to set (0-99).
34
+
35
+ Examples:
36
+ \b
37
+ xp conbus modulenumber set 0123450001 25
38
+ """
39
+
40
+ def on_finish(response: "ConbusWriteConfigResponse") -> None:
41
+ """Handle successful completion of light level on command.
42
+
43
+ Args:
44
+ response: Light level response object.
45
+ """
46
+ click.echo(json.dumps(response.to_dict(), indent=2))
47
+
48
+ service: WriteConfigService = (
49
+ ctx.obj.get("container").get_container().resolve(WriteConfigService)
50
+ )
51
+
52
+ data_value = f"{module_number:02d}"
53
+ with service:
54
+ service.write_config(
55
+ serial_number=serial_number,
56
+ datapoint_type=DataPointType.MODULE_NUMBER,
57
+ data_value=data_value,
58
+ finish_callback=on_finish,
59
+ timeout_seconds=0.5,
60
+ )
61
+
62
+
63
+ @conbus_modulenumber.command("get", short_help="Get module number for a module")
64
+ @click.argument("serial_number", type=SERIAL)
65
+ @click.pass_context
66
+ @connection_command()
67
+ def get_modulenumber_command(ctx: click.Context, serial_number: str) -> None:
68
+ r"""Get the current module number for a specific module.
69
+
70
+ Args:
71
+ ctx: Click context object.
72
+ serial_number: 10-digit module serial number.
73
+
74
+ Examples:
75
+ \b
76
+ xp conbus modulenumber get 0123450001
77
+ """
78
+ service: ConbusDatapointService = (
79
+ ctx.obj.get("container").get_container().resolve(ConbusDatapointService)
80
+ )
81
+ telegram_service: TelegramDatapointService = (
82
+ ctx.obj.get("container").get_container().resolve(TelegramDatapointService)
83
+ )
84
+
85
+ def on_finish(service_response: ConbusDatapointResponse) -> None:
86
+ """Handle successful completion of module number get command.
87
+
88
+ Args:
89
+ service_response: Module number response object.
90
+ """
91
+ modulenumber_value = telegram_service.get_modulenumber(
92
+ service_response.data_value
93
+ )
94
+ result = service_response.to_dict()
95
+ result["modulenumber_value"] = modulenumber_value
96
+ click.echo(json.dumps(result, indent=2))
97
+
98
+ with service:
99
+ service.query_datapoint(
100
+ serial_number=serial_number,
101
+ datapoint_type=DataPointType.MODULE_NUMBER,
102
+ finish_callback=on_finish,
103
+ timeout_seconds=0.5,
104
+ )
@@ -165,6 +165,7 @@ class WriteConfigService(ConbusProtocol):
165
165
  self.write_config_response.data_value = self.data_value
166
166
  if self.write_config_finished_callback:
167
167
  self.write_config_finished_callback(self.write_config_response)
168
+ self._stop_reactor()
168
169
 
169
170
  def write_config(
170
171
  self,
@@ -68,3 +68,15 @@ class TelegramDatapointService:
68
68
  """
69
69
  link_number_value = int(data_value)
70
70
  return link_number_value
71
+
72
+ def get_modulenumber(self, data_value: str) -> int:
73
+ """Parse and return the module number value.
74
+
75
+ Args:
76
+ data_value: The raw module number data value as a string.
77
+
78
+ Returns:
79
+ The module number as an integer.
80
+ """
81
+ module_number_value = int(data_value)
82
+ return module_number_value
@@ -64,6 +64,7 @@ from xp.services.reverse_proxy_service import ReverseProxyService
64
64
  from xp.services.server.device_service_factory import DeviceServiceFactory
65
65
  from xp.services.server.server_service import ServerService
66
66
  from xp.services.telegram.telegram_blink_service import TelegramBlinkService
67
+ from xp.services.telegram.telegram_datapoint_service import TelegramDatapointService
67
68
  from xp.services.telegram.telegram_discover_service import TelegramDiscoverService
68
69
  from xp.services.telegram.telegram_link_number_service import LinkNumberService
69
70
  from xp.services.telegram.telegram_output_service import TelegramOutputService
@@ -128,6 +129,7 @@ class ServiceContainer:
128
129
  )
129
130
  self.container.register(TelegramDiscoverService, scope=punq.Scope.singleton)
130
131
  self.container.register(TelegramBlinkService, scope=punq.Scope.singleton)
132
+ self.container.register(TelegramDatapointService, scope=punq.Scope.singleton)
131
133
  self.container.register(LinkNumberService, scope=punq.Scope.singleton)
132
134
 
133
135
  # Conbus services layer
File without changes