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.
Files changed (143) hide show
  1. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/CHANGELOG.rst +18 -0
  2. {nwp500_python-6.1.0/src/nwp500_python.egg-info → nwp500_python-6.1.1}/PKG-INFO +1 -1
  3. nwp500_python-6.1.1/docs/MQTT_DIAGNOSTICS.rst +1127 -0
  4. nwp500_python-6.1.1/examples/mqtt_diagnostics_example.py +312 -0
  5. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/__init__.py +10 -0
  6. nwp500_python-6.1.1/src/nwp500/mqtt_diagnostics.py +449 -0
  7. {nwp500_python-6.1.0 → nwp500_python-6.1.1/src/nwp500_python.egg-info}/PKG-INFO +1 -1
  8. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500_python.egg-info/SOURCES.txt +3 -0
  9. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.agent/workflows/pre-completion-testing.md +0 -0
  10. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.coveragerc +0 -0
  11. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.github/copilot-instructions.md +0 -0
  12. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.github/workflows/ci.yml +0 -0
  13. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.github/workflows/release.yml +0 -0
  14. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.gitignore +0 -0
  15. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.pre-commit-config.yaml +0 -0
  16. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/.readthedocs.yml +0 -0
  17. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/AUTHORS.rst +0 -0
  18. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/CONTRIBUTING.rst +0 -0
  19. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/LICENSE.txt +0 -0
  20. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/Makefile +0 -0
  21. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/README.rst +0 -0
  22. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/RELEASE.md +0 -0
  23. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/Makefile +0 -0
  24. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/_static/.gitignore +0 -0
  25. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/api/nwp500.rst +0 -0
  26. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/authors.rst +0 -0
  27. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/changelog.rst +0 -0
  28. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/conf.py +0 -0
  29. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/configuration.rst +0 -0
  30. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/development/contributing.rst +0 -0
  31. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/development/history.rst +0 -0
  32. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/advanced_features_explained.rst +0 -0
  33. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/auto_recovery.rst +0 -0
  34. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/command_queue.rst +0 -0
  35. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/energy_monitoring.rst +0 -0
  36. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/event_system.rst +0 -0
  37. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/reservations.rst +0 -0
  38. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/scheduling_features.rst +0 -0
  39. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/guides/time_of_use.rst +0 -0
  40. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/index.rst +0 -0
  41. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/installation.rst +0 -0
  42. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/license.rst +0 -0
  43. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/openapi.yaml +0 -0
  44. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/data_conversions.rst +0 -0
  45. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/device_features.rst +0 -0
  46. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/device_status.rst +0 -0
  47. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/error_codes.rst +0 -0
  48. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/firmware_tracking.rst +0 -0
  49. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/mqtt_protocol.rst +0 -0
  50. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/protocol/rest_api.rst +0 -0
  51. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/api_client.rst +0 -0
  52. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/auth_client.rst +0 -0
  53. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/cli.rst +0 -0
  54. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/constants.rst +0 -0
  55. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/events.rst +0 -0
  56. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/exceptions.rst +0 -0
  57. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/models.rst +0 -0
  58. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/python_api/mqtt_client.rst +0 -0
  59. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/quickstart.rst +0 -0
  60. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/docs/requirements.txt +0 -0
  61. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/.ruff.toml +0 -0
  62. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/README.md +0 -0
  63. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/anti_legionella_example.py +0 -0
  64. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/api_client_example.py +0 -0
  65. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/auth_constructor_example.py +0 -0
  66. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/authenticate.py +0 -0
  67. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/auto_recovery_example.py +0 -0
  68. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/combined_callbacks.py +0 -0
  69. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/command_queue_demo.py +0 -0
  70. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/device_feature_callback.py +0 -0
  71. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/device_status_callback.py +0 -0
  72. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/device_status_callback_debug.py +0 -0
  73. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/energy_usage_example.py +0 -0
  74. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/event_emitter_demo.py +0 -0
  75. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/exception_handling_example.py +0 -0
  76. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/improved_auth_pattern.py +0 -0
  77. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/mask.py +0 -0
  78. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/mqtt_client_example.py +0 -0
  79. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/periodic_device_info.py +0 -0
  80. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/periodic_requests.py +0 -0
  81. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/power_control_example.py +0 -0
  82. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/reconnection_demo.py +0 -0
  83. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/reservation_schedule_example.py +0 -0
  84. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/set_dhw_temperature_example.py +0 -0
  85. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/set_mode_example.py +0 -0
  86. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/simple_auto_recovery.py +0 -0
  87. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/simple_periodic_info.py +0 -0
  88. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/simple_periodic_status.py +0 -0
  89. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/test_api_client.py +0 -0
  90. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/test_mqtt_connection.py +0 -0
  91. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/test_mqtt_messaging.py +0 -0
  92. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/test_periodic_minimal.py +0 -0
  93. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/token_restoration_example.py +0 -0
  94. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/tou_openei_example.py +0 -0
  95. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/examples/tou_schedule_example.py +0 -0
  96. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/pyproject.toml +0 -0
  97. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/README.md +0 -0
  98. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/bump_version.py +0 -0
  99. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/extract_changelog.py +0 -0
  100. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/format.py +0 -0
  101. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/lint.py +0 -0
  102. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/setup-dev.py +0 -0
  103. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/scripts/validate_version.py +0 -0
  104. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/setup.cfg +0 -0
  105. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/setup.py +0 -0
  106. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/api_client.py +0 -0
  107. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/auth.py +0 -0
  108. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/cli/__init__.py +0 -0
  109. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/cli/__main__.py +0 -0
  110. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/cli/commands.py +0 -0
  111. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/cli/monitoring.py +0 -0
  112. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/cli/output_formatters.py +0 -0
  113. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/cli/token_storage.py +0 -0
  114. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/config.py +0 -0
  115. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/constants.py +0 -0
  116. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/encoding.py +0 -0
  117. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/events.py +0 -0
  118. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/exceptions.py +0 -0
  119. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/models.py +0 -0
  120. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_client.py +0 -0
  121. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_command_queue.py +0 -0
  122. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_connection.py +0 -0
  123. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_device_control.py +0 -0
  124. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_periodic.py +0 -0
  125. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_reconnection.py +0 -0
  126. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_subscriptions.py +0 -0
  127. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/mqtt_utils.py +0 -0
  128. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/py.typed +0 -0
  129. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500/utils.py +0 -0
  130. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500_python.egg-info/dependency_links.txt +0 -0
  131. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500_python.egg-info/entry_points.txt +0 -0
  132. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500_python.egg-info/not-zip-safe +0 -0
  133. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500_python.egg-info/requires.txt +0 -0
  134. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/src/nwp500_python.egg-info/top_level.txt +0 -0
  135. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/conftest.py +0 -0
  136. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_api_helpers.py +0 -0
  137. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_auth.py +0 -0
  138. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_command_queue.py +0 -0
  139. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_events.py +0 -0
  140. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_exceptions.py +0 -0
  141. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_models.py +0 -0
  142. {nwp500_python-6.1.0 → nwp500_python-6.1.1}/tests/test_utils.py +0 -0
  143. {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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nwp500-python
3
- Version: 6.1.0
3
+ Version: 6.1.1
4
4
  Summary: A library for controlling Navien NWP500 Water Heaters via NaviLink
5
5
  Home-page: https://github.com/eman/nwp500-python
6
6
  Author: Emmanuel Levijarvi