nwp500-python 6.1.0__tar.gz → 6.1.1__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.
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/CHANGELOG.rst +18 -0
- {nwp500_python-6.1.0/src/nwp500_python.egg-info → nwp500_python-6.1.1}/PKG-INFO +1 -1
- nwp500_python-6.1.1/docs/MQTT_DIAGNOSTICS.rst +1127 -0
- nwp500_python-6.1.1/examples/mqtt_diagnostics_example.py +312 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/__init__.py +10 -0
- nwp500_python-6.1.1/src/nwp500/mqtt_diagnostics.py +449 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1/src/nwp500_python.egg-info}/PKG-INFO +1 -1
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500_python.egg-info/SOURCES.txt +3 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.agent/workflows/pre-completion-testing.md +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.coveragerc +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.github/copilot-instructions.md +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.github/workflows/ci.yml +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.github/workflows/release.yml +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.gitignore +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.pre-commit-config.yaml +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.readthedocs.yml +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/AUTHORS.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/CONTRIBUTING.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/LICENSE.txt +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/Makefile +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/README.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/RELEASE.md +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/Makefile +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/_static/.gitignore +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/api/nwp500.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/authors.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/changelog.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/conf.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/configuration.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/development/contributing.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/development/history.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/advanced_features_explained.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/auto_recovery.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/command_queue.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/energy_monitoring.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/event_system.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/reservations.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/scheduling_features.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/time_of_use.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/index.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/installation.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/license.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/openapi.yaml +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/data_conversions.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/device_features.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/device_status.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/error_codes.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/firmware_tracking.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/mqtt_protocol.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/rest_api.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/api_client.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/auth_client.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/cli.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/constants.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/events.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/exceptions.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/models.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/mqtt_client.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/quickstart.rst +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/requirements.txt +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/.ruff.toml +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/README.md +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/anti_legionella_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/api_client_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/auth_constructor_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/authenticate.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/auto_recovery_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/combined_callbacks.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/command_queue_demo.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/device_feature_callback.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/device_status_callback.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/device_status_callback_debug.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/energy_usage_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/event_emitter_demo.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/exception_handling_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/improved_auth_pattern.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/mask.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/mqtt_client_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/periodic_device_info.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/periodic_requests.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/power_control_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/reconnection_demo.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/reservation_schedule_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/set_dhw_temperature_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/set_mode_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/simple_auto_recovery.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/simple_periodic_info.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/simple_periodic_status.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/test_api_client.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/test_mqtt_connection.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/test_mqtt_messaging.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/test_periodic_minimal.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/token_restoration_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/tou_openei_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/tou_schedule_example.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/pyproject.toml +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/README.md +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/bump_version.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/extract_changelog.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/format.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/lint.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/setup-dev.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/validate_version.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/setup.cfg +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/setup.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/api_client.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/auth.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/cli/__init__.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/cli/__main__.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/cli/commands.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/cli/monitoring.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/cli/output_formatters.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/cli/token_storage.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/config.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/constants.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/encoding.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/events.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/exceptions.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/models.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_client.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_command_queue.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_connection.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_device_control.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_periodic.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_reconnection.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_subscriptions.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_utils.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/py.typed +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/utils.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500_python.egg-info/dependency_links.txt +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500_python.egg-info/entry_points.txt +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500_python.egg-info/not-zip-safe +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500_python.egg-info/requires.txt +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500_python.egg-info/top_level.txt +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/conftest.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_api_helpers.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_auth.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_command_queue.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_events.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_exceptions.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_models.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_utils.py +0 -0
- {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tox.ini +0 -0
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
Changelog
|
|
3
3
|
=========
|
|
4
4
|
|
|
5
|
+
Version 6.1.1 (2025-12-08)
|
|
6
|
+
==========================
|
|
7
|
+
|
|
8
|
+
Added
|
|
9
|
+
-----
|
|
10
|
+
|
|
11
|
+
- **MQTT Diagnostics Module**: New ``MqttDiagnosticsCollector`` for capturing MQTT message traffic for debugging
|
|
12
|
+
|
|
13
|
+
- Captures all MQTT publish/subscribe activity with timestamps and payloads
|
|
14
|
+
- Configurable message filtering by topic pattern
|
|
15
|
+
- Message deduplication to reduce storage
|
|
16
|
+
- Automatic cleanup of old diagnostics (configurable retention)
|
|
17
|
+
- Export diagnostics to JSON for analysis and debugging
|
|
18
|
+
- Home Assistant integration support for custom components
|
|
19
|
+
- ``examples/mqtt_diagnostics_example.py`` demonstrating usage patterns
|
|
20
|
+
- Comprehensive documentation in ``docs/MQTT_DIAGNOSTICS.rst``
|
|
21
|
+
- Exported from main package: ``from nwp500 import MqttDiagnosticsCollector``
|
|
22
|
+
|
|
5
23
|
Version 6.1.0 (2025-12-03)
|
|
6
24
|
==========================
|
|
7
25
|
|