conson-xp 1.50.1__tar.gz → 1.51.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.
- {conson_xp-1.50.1 → conson_xp-1.51.0}/PKG-INFO +1 -1
- {conson_xp-1.50.1 → conson_xp-1.51.0}/pyproject.toml +1 -1
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/__init__.py +1 -1
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_export_commands.py +8 -2
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/actiontable/actiontable_download_service.py +2 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_export_actiontable_service.py +47 -27
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/utils/dependencies.py +12 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/LICENSE +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/README.md +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/__main__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_actiontable_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_autoreport_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_blink_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_config_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_custom_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_datapoint_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_discover_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_event_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_lightlevel_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_linknumber_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_modulenumber_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_msactiontable_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_output_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_raw_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_receive_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_scan_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/file_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/homekit/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/homekit/homekit.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/homekit/homekit_start_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/module_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/reverse_proxy_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/server/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/server/server_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram_blink_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram_checksum_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram_discover_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram_linknumber_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram_parse_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram_version_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/term/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/term/term.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/term/term_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/main.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/utils/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/utils/click_tree.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/utils/datapoint_type_choice.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/utils/decorators.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/utils/error_handlers.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/utils/formatters.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/utils/module_type_choice.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/utils/serial_number_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/utils/system_function_choice.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/actiontable/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/actiontable/actiontable.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/actiontable/actiontable_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/actiontable/msactiontable_xp20.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/actiontable/msactiontable_xp24.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/actiontable/msactiontable_xp33.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_autoreport.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_blink.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_client_config.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_connection_status.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_custom.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_datapoint.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_discover.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_event_list.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_event_raw.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_export.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_lightlevel.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_linknumber.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_logger_config.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_output.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_raw.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_receive.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/conbus/conbus_writeconfig.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/config/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/config/conson_module_config.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/homekit/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/homekit/homekit_accessory.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/homekit/homekit_config.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/log_entry.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/protocol/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/protocol/conbus_protocol.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/response.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/action_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/datapoint_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/event_telegram.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/event_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/input_action_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/input_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/module_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/module_type_code.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/output_telegram.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/reply_telegram.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/system_function.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/system_telegram.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/telegram.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/telegram_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/telegram/timeparam_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/term/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/term/connection_state.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/term/module_state.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/term/protocol_keys_config.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/term/status_message.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/term/telegram_display.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/models/write_config_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/actiontable/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/actiontable/actiontable_serializer.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/actiontable/download_state_machine.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/actiontable/msactiontable_serializer.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/actiontable/msactiontable_xp20_serializer.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/actiontable/msactiontable_xp24_serializer.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/actiontable/msactiontable_xp33_serializer.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/actiontable/serializer_protocol.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/actiontable/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/actiontable/actiontable_list_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/actiontable/actiontable_show_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/actiontable/actiontable_upload_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_blink_all_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_blink_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_custom_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_datapoint_queryall_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_datapoint_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_discover_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_event_list_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_event_raw_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_export_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_output_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_raw_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_receive_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_scan_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/write_config_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_cache_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_conbus_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_config_validator.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_conson_validator.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_dimminglight.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_dimminglight_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_hap_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_lightbulb.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_lightbulb_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_module_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_outlet.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_outlet_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/homekit/homekit_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/log_file_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/module_type_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/protocol/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/protocol/conbus_event_protocol.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/protocol/protocol_factory.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/protocol/telegram_protocol.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/reverse_proxy_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/server/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/server/base_server_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/server/client_buffer_manager.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/server/cp20_server_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/server/device_service_factory.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/server/server_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/server/xp130_server_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/server/xp20_server_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/server/xp230_server_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/server/xp24_server_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/server/xp33_server_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/telegram/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/telegram/telegram_blink_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/telegram/telegram_checksum_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/telegram/telegram_datapoint_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/telegram/telegram_discover_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/telegram/telegram_link_number_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/telegram/telegram_output_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/telegram/telegram_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/telegram/telegram_version_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/term/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/term/protocol_monitor_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/term/state_monitor_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/term/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/term/protocol.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/term/protocol.tcss +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/term/state.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/term/state.tcss +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/term/widgets/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/term/widgets/help_menu.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/term/widgets/modules_list.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/term/widgets/protocol_log.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/term/widgets/status_footer.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/utils/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/utils/checksum.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/utils/event_helper.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/utils/logging.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/utils/serialization.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/utils/state_machine.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/utils/time_utils.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/.coverage +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/conftest.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/.coverage +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/telegram_test_data.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_actiontable_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_api/.coverage +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_api/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_blink_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_checksum_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_conbus_blink_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_conbus_datapoint_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_conbus_raw_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_conbus_receive_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_discovery_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_event_telegram_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_homekit_config_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_link_number_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_module_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_output_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_reverse_proxy_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_system_reply_telegram_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_term_logging_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_version_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_xp20_action_table_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/integration/test_xp24_action_table_integration.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_api/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_cli/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_cli/test_click_tree.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_cli/test_conbus_actiontable_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_cli/test_conbus_blink_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_cli/test_conbus_msactiontable_upload_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_cli/test_datapoint_type_choice.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_cli/test_decorators.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_cli/test_error_handlers.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_cli/test_formatters.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_cli/test_serial_number_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_cli/test_system_function_choice.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_cli/test_term_commands.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_encoding/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_encoding/test_latin1_edge_cases.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_conbus.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_conbus_client_send.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_conbus_discover.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_conbus_linknumber.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_event_telegram.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_log_entry.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_logger_config.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_module_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_reply_telegram.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_system_telegram.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_system_telegram_enhancements.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_version_telegram.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_write_config_type.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_xp20_action_table.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_xp24_action_table.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_xp24_action_table_short_format.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_models/test_xp24_action_telegram.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_actiontable_download_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_actiontable_serializer.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_actiontable_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_actiontable_upload_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_base_server_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_blink_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_checksum_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_client_buffer_manager.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_conbus_blink_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_conbus_event_list_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_conbus_event_protocol.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_conbus_event_raw_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_conbus_output_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_conbus_raw_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_conbus_receive_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_conbus_reverse_proxy_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_conbus_scan_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_device_service_factory.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_discovery_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_homekit_cache_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_homekit_config_validator.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_homekit_conson_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_homekit_services.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_log_file_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_module_type_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_protocol.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_protocol_monitor_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_server_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_state_monitor_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_telegram_input_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_telegram_output_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_telegram_protocol.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_telegram_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_version_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_xp20_action_table_serializer.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_xp24_action_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_xp24_action_table_serializer.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_xp24_action_table_service.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_xp33_action_table_serializer.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_xp33_short_format.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_services/test_xp_server_services.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_tui/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_tui/test_protocol_log.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_utils/__init__.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_utils/test_checksum.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_utils/test_event_helper.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_utils/test_logging.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_utils/test_serialization.py +0 -0
- {conson_xp-1.50.1 → conson_xp-1.51.0}/tests/unit/test_utils/test_time_utils.py +0 -0
|
@@ -117,16 +117,21 @@ def export_conbus_actiontable(ctx: click.Context) -> None:
|
|
|
117
117
|
xp conbus export actiontable
|
|
118
118
|
"""
|
|
119
119
|
|
|
120
|
-
def on_progress(
|
|
120
|
+
def on_progress(
|
|
121
|
+
serial_number: str, actiontable_type: str, current: int, total: int
|
|
122
|
+
) -> None:
|
|
121
123
|
"""
|
|
122
124
|
Handle progress updates during export.
|
|
123
125
|
|
|
124
126
|
Args:
|
|
125
127
|
serial_number: Serial number of discovered device.
|
|
128
|
+
actiontable_type: Type of action table being exported.
|
|
126
129
|
current: Current device number.
|
|
127
130
|
total: Total devices discovered.
|
|
128
131
|
"""
|
|
129
|
-
click.echo(
|
|
132
|
+
click.echo(
|
|
133
|
+
f"Querying device {current}/{total}: {serial_number} / {actiontable_type}."
|
|
134
|
+
)
|
|
130
135
|
|
|
131
136
|
def on_device_actiontable_exported(
|
|
132
137
|
module: ConsonModuleConfig,
|
|
@@ -176,4 +181,5 @@ def export_conbus_actiontable(ctx: click.Context) -> None:
|
|
|
176
181
|
service.on_device_actiontable_exported.connect(on_device_actiontable_exported)
|
|
177
182
|
service.on_finish.connect(on_finish)
|
|
178
183
|
service.set_timeout(5)
|
|
184
|
+
service.configure()
|
|
179
185
|
service.start_reactor()
|
|
@@ -292,6 +292,8 @@ class ActionTableDownloadService(DownloadStateMachine):
|
|
|
292
292
|
raise RuntimeError("Cannot configure while download in progress")
|
|
293
293
|
self.logger.info("Configuring actiontable download")
|
|
294
294
|
self.serial_number = serial_number
|
|
295
|
+
self.actiontable_data = []
|
|
296
|
+
|
|
295
297
|
if actiontable_type == ActionTableType.ACTIONTABLE:
|
|
296
298
|
self.serializer = self.actiontable_serializer
|
|
297
299
|
elif actiontable_type == ActionTableType.MSACTIONTABLE_XP20:
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_export_actiontable_service.py
RENAMED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import asyncio
|
|
4
4
|
import logging
|
|
5
5
|
from pathlib import Path
|
|
6
|
-
from queue import SimpleQueue
|
|
6
|
+
from queue import Empty, SimpleQueue
|
|
7
7
|
from typing import Any, Optional, Tuple
|
|
8
8
|
|
|
9
9
|
import yaml
|
|
@@ -38,7 +38,7 @@ class ConbusActiontableExportService:
|
|
|
38
38
|
"""
|
|
39
39
|
|
|
40
40
|
# Signals (class attributes)
|
|
41
|
-
on_progress: Signal = Signal(str, int, int) # serial, current, total
|
|
41
|
+
on_progress: Signal = Signal(str, str, int, int) # serial, current, total
|
|
42
42
|
on_device_actiontable_exported: Signal = Signal(
|
|
43
43
|
ConsonModuleConfig, ActionTableType, str
|
|
44
44
|
)
|
|
@@ -64,25 +64,35 @@ class ConbusActiontableExportService:
|
|
|
64
64
|
self.logger = logging.getLogger(__name__)
|
|
65
65
|
self.download_service = download_service
|
|
66
66
|
self._module_list: ConsonModuleListConfig = module_list
|
|
67
|
+
self._module_dic: dict[str, ConsonModuleConfig] = {
|
|
68
|
+
module.serial_number: module for module in module_list.root
|
|
69
|
+
}
|
|
67
70
|
# State management
|
|
68
|
-
self.device_queue: SimpleQueue[Tuple[
|
|
71
|
+
self.device_queue: SimpleQueue[Tuple[str, ActionTableType]] = (
|
|
69
72
|
SimpleQueue()
|
|
70
73
|
) # FIFO
|
|
71
74
|
for module in self._module_list.root:
|
|
72
|
-
self.
|
|
73
|
-
if module.module_type == "xp20":
|
|
74
|
-
self.device_queue.put(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if module.module_type == "
|
|
78
|
-
self.device_queue.put(
|
|
75
|
+
self.logger.info("Export module %s", module)
|
|
76
|
+
if module.module_type.lower() == "xp20":
|
|
77
|
+
self.device_queue.put(
|
|
78
|
+
(module.serial_number, ActionTableType.MSACTIONTABLE_XP20)
|
|
79
|
+
)
|
|
80
|
+
if module.module_type.lower() == "xp24":
|
|
81
|
+
self.device_queue.put(
|
|
82
|
+
(module.serial_number, ActionTableType.MSACTIONTABLE_XP24)
|
|
83
|
+
)
|
|
84
|
+
if module.module_type.lower() == "xp33":
|
|
85
|
+
self.device_queue.put(
|
|
86
|
+
(module.serial_number, ActionTableType.MSACTIONTABLE_XP33)
|
|
87
|
+
)
|
|
88
|
+
self.device_queue.put((module.serial_number, ActionTableType.ACTIONTABLE))
|
|
89
|
+
|
|
90
|
+
self.logger.info("Export module %s", self.device_queue.qsize())
|
|
79
91
|
|
|
80
92
|
self.current_module: Optional[ConsonModuleConfig] = None
|
|
81
|
-
self.
|
|
93
|
+
self.current_actiontable_type: Optional[ActionTableType] = None
|
|
82
94
|
self.export_result = ConbusExportResponse(success=False)
|
|
83
95
|
self.export_status = "OK"
|
|
84
|
-
# Connect protocol signals
|
|
85
|
-
self._connect_signals()
|
|
86
96
|
|
|
87
97
|
def on_module_actiontable_received(
|
|
88
98
|
self, actiontable: Any, short_actiontable: list[str]
|
|
@@ -94,7 +104,7 @@ class ConbusActiontableExportService:
|
|
|
94
104
|
actiontable: Full actiontable data.
|
|
95
105
|
short_actiontable: Short representation of the actiontable.
|
|
96
106
|
"""
|
|
97
|
-
if not self.
|
|
107
|
+
if not self.current_actiontable_type:
|
|
98
108
|
self._fail("Invalid state (curent_actiontable_type)")
|
|
99
109
|
return
|
|
100
110
|
|
|
@@ -102,17 +112,17 @@ class ConbusActiontableExportService:
|
|
|
102
112
|
self._fail("Invalid state (current_module)")
|
|
103
113
|
return
|
|
104
114
|
|
|
105
|
-
if self.
|
|
115
|
+
if self.current_actiontable_type == ActionTableType.ACTIONTABLE:
|
|
106
116
|
self.current_module.action_table = short_actiontable
|
|
107
|
-
elif self.
|
|
117
|
+
elif self.current_actiontable_type == ActionTableType.MSACTIONTABLE_XP20:
|
|
108
118
|
self.current_module.xp20_msaction_table = short_actiontable
|
|
109
|
-
elif self.
|
|
119
|
+
elif self.current_actiontable_type == ActionTableType.MSACTIONTABLE_XP24:
|
|
110
120
|
self.current_module.xp24_msaction_table = short_actiontable
|
|
111
|
-
elif self.
|
|
121
|
+
elif self.current_actiontable_type == ActionTableType.MSACTIONTABLE_XP33:
|
|
112
122
|
self.current_module.xp33_msaction_table = short_actiontable
|
|
113
123
|
|
|
114
124
|
self.on_device_actiontable_exported.emit(
|
|
115
|
-
self.current_module, self.
|
|
125
|
+
self.current_module, self.current_actiontable_type, short_actiontable
|
|
116
126
|
)
|
|
117
127
|
|
|
118
128
|
def on_module_finish(self) -> None:
|
|
@@ -127,10 +137,13 @@ class ConbusActiontableExportService:
|
|
|
127
137
|
serial_number = (
|
|
128
138
|
self.current_module.serial_number if self.current_module else "UNKNOWN"
|
|
129
139
|
)
|
|
140
|
+
current_actiontable_type = self.current_actiontable_type or "UNKNOWN"
|
|
130
141
|
total_modules = len(self._module_list.root)
|
|
131
142
|
current_index = total_modules - self.device_queue.qsize()
|
|
132
143
|
|
|
133
|
-
self.on_progress.emit(
|
|
144
|
+
self.on_progress.emit(
|
|
145
|
+
serial_number, current_actiontable_type, current_index, total_modules
|
|
146
|
+
)
|
|
134
147
|
|
|
135
148
|
def on_module_error(self, error_message: str) -> None:
|
|
136
149
|
"""
|
|
@@ -162,7 +175,6 @@ class ConbusActiontableExportService:
|
|
|
162
175
|
"enabled",
|
|
163
176
|
"conbus_ip",
|
|
164
177
|
"conbus_port",
|
|
165
|
-
"action_table",
|
|
166
178
|
}
|
|
167
179
|
}
|
|
168
180
|
},
|
|
@@ -203,16 +215,24 @@ class ConbusActiontableExportService:
|
|
|
203
215
|
True if there is a module to export, False otherwise.
|
|
204
216
|
"""
|
|
205
217
|
self.download_service.reset()
|
|
206
|
-
|
|
207
|
-
self.
|
|
208
|
-
|
|
209
|
-
|
|
218
|
+
try:
|
|
219
|
+
(current_serial_number, self.current_actiontable_type) = (
|
|
220
|
+
self.device_queue.get_nowait()
|
|
221
|
+
)
|
|
222
|
+
except Empty:
|
|
223
|
+
return False
|
|
224
|
+
|
|
225
|
+
self.current_module = self._module_dic[current_serial_number]
|
|
226
|
+
if not (self.current_module or self.current_actiontable_type):
|
|
210
227
|
self.logger.error("No module to export")
|
|
211
228
|
return False
|
|
212
229
|
|
|
230
|
+
self.logger.info(
|
|
231
|
+
f"Downloading {self.current_module.serial_number} / {self.current_actiontable_type}"
|
|
232
|
+
)
|
|
213
233
|
self.download_service.configure(
|
|
214
234
|
self.current_module.serial_number,
|
|
215
|
-
self.
|
|
235
|
+
self.current_actiontable_type,
|
|
216
236
|
)
|
|
217
237
|
self.download_service.do_connect()
|
|
218
238
|
return True
|
|
@@ -275,7 +295,7 @@ class ConbusActiontableExportService:
|
|
|
275
295
|
|
|
276
296
|
def _disconnect_signals(self) -> None:
|
|
277
297
|
"""Disconnect download service signals from handlers."""
|
|
278
|
-
self.download_service.on_actiontable_received.
|
|
298
|
+
self.download_service.on_actiontable_received.disconnect(
|
|
279
299
|
self.on_module_actiontable_received
|
|
280
300
|
)
|
|
281
301
|
self.download_service.on_finish.disconnect(self.on_module_finish)
|
|
@@ -46,6 +46,9 @@ from xp.services.conbus.conbus_datapoint_service import (
|
|
|
46
46
|
from xp.services.conbus.conbus_discover_service import ConbusDiscoverService
|
|
47
47
|
from xp.services.conbus.conbus_event_list_service import ConbusEventListService
|
|
48
48
|
from xp.services.conbus.conbus_event_raw_service import ConbusEventRawService
|
|
49
|
+
from xp.services.conbus.conbus_export_actiontable_service import (
|
|
50
|
+
ConbusActiontableExportService,
|
|
51
|
+
)
|
|
49
52
|
from xp.services.conbus.conbus_export_service import ConbusExportService
|
|
50
53
|
from xp.services.conbus.conbus_output_service import ConbusOutputService
|
|
51
54
|
from xp.services.conbus.conbus_raw_service import ConbusRawService
|
|
@@ -217,6 +220,15 @@ class ServiceContainer:
|
|
|
217
220
|
scope=punq.Scope.singleton,
|
|
218
221
|
)
|
|
219
222
|
|
|
223
|
+
self.container.register(
|
|
224
|
+
ConbusActiontableExportService,
|
|
225
|
+
factory=lambda: ConbusActiontableExportService(
|
|
226
|
+
download_service=self.container.resolve(ActionTableDownloadService),
|
|
227
|
+
module_list=self.container.resolve(ConsonModuleListConfig),
|
|
228
|
+
),
|
|
229
|
+
scope=punq.Scope.singleton,
|
|
230
|
+
)
|
|
231
|
+
|
|
220
232
|
# Terminal UI
|
|
221
233
|
self.container.register(
|
|
222
234
|
ProtocolMonitorService,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_actiontable_commands.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_autoreport_commands.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_datapoint_commands.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_discover_commands.py
RENAMED
|
File without changes
|
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_lightlevel_commands.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_linknumber_commands.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_modulenumber_commands.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/conbus/conbus_msactiontable_commands.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram_blink_commands.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram_checksum_commands.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram_discover_commands.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram_linknumber_commands.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram_parse_commands.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/cli/commands/telegram/telegram_version_commands.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/actiontable/msactiontable_serializer.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/actiontable/msactiontable_xp20_serializer.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/actiontable/msactiontable_xp24_serializer.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/actiontable/msactiontable_xp33_serializer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/actiontable/actiontable_list_service.py
RENAMED
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/actiontable/actiontable_show_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conson_xp-1.50.1 → conson_xp-1.51.0}/src/xp/services/conbus/conbus_datapoint_queryall_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|