nwp500-python 7.0.0__tar.gz → 7.0.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-7.0.0 → nwp500_python-7.0.1}/CHANGELOG.rst +7 -0
- {nwp500_python-7.0.0/src/nwp500_python.egg-info → nwp500_python-7.0.1}/PKG-INFO +1 -1
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/models.py +20 -8
- {nwp500_python-7.0.0 → nwp500_python-7.0.1/src/nwp500_python.egg-info}/PKG-INFO +1 -1
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/.agent/workflows/pre-completion-testing.md +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/.coveragerc +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/.github/copilot-instructions.md +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/.github/workflows/ci.yml +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/.github/workflows/release.yml +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/.gitignore +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/.pre-commit-config.yaml +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/.readthedocs.yml +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/AUTHORS.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/CONTRIBUTING.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/LICENSE.txt +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/Makefile +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/README.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/RELEASE.md +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/MQTT_DIAGNOSTICS.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/Makefile +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/_static/.gitignore +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/api/nwp500.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/authors.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/changelog.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/conf.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/configuration.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/development/contributing.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/development/history.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/enumerations.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/guides/advanced_features_explained.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/guides/auto_recovery.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/guides/command_queue.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/guides/energy_monitoring.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/guides/event_system.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/guides/reservations.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/guides/scheduling_features.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/guides/time_of_use.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/index.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/installation.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/license.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/openapi.yaml +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/protocol/data_conversions.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/protocol/device_features.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/protocol/device_status.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/protocol/error_codes.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/protocol/firmware_tracking.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/protocol/mqtt_protocol.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/protocol/rest_api.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/python_api/api_client.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/python_api/auth_client.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/python_api/cli.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/python_api/constants.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/python_api/events.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/python_api/exceptions.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/python_api/models.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/python_api/mqtt_client.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/quickstart.rst +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/docs/requirements.txt +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/.ruff.toml +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/README.md +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/anti_legionella_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/api_client_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/auth_constructor_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/authenticate.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/auto_recovery_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/combined_callbacks.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/command_queue_demo.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/device_feature_callback.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/device_status_callback.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/device_status_callback_debug.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/energy_usage_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/error_code_demo.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/event_emitter_demo.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/exception_handling_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/improved_auth_pattern.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/mask.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/mqtt_client_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/mqtt_diagnostics_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/periodic_device_info.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/periodic_requests.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/power_control_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/reconnection_demo.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/reservation_schedule_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/set_dhw_temperature_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/set_mode_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/simple_auto_recovery.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/simple_periodic_info.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/simple_periodic_status.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/test_api_client.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/test_mqtt_connection.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/test_mqtt_messaging.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/test_periodic_minimal.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/token_restoration_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/tou_openei_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/examples/tou_schedule_example.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/pyproject.toml +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/scripts/README.md +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/scripts/bump_version.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/scripts/diagnose_mqtt_connection.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/scripts/extract_changelog.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/scripts/format.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/scripts/lint.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/scripts/setup-dev.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/scripts/validate_version.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/setup.cfg +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/setup.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/__init__.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/api_client.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/auth.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/cli/__init__.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/cli/__main__.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/cli/commands.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/cli/monitoring.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/cli/output_formatters.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/cli/token_storage.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/config.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/constants.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/encoding.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/enums.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/events.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/exceptions.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/mqtt_client.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/mqtt_command_queue.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/mqtt_connection.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/mqtt_device_control.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/mqtt_diagnostics.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/mqtt_periodic.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/mqtt_reconnection.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/mqtt_subscriptions.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/mqtt_utils.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/py.typed +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500/utils.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500_python.egg-info/SOURCES.txt +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500_python.egg-info/dependency_links.txt +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500_python.egg-info/entry_points.txt +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500_python.egg-info/not-zip-safe +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500_python.egg-info/requires.txt +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/src/nwp500_python.egg-info/top_level.txt +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/tests/conftest.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/tests/test_api_helpers.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/tests/test_auth.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/tests/test_cli_basic.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/tests/test_cli_commands.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/tests/test_command_queue.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/tests/test_events.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/tests/test_exceptions.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/tests/test_models.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/tests/test_mqtt_client_init.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/tests/test_utils.py +0 -0
- {nwp500_python-7.0.0 → nwp500_python-7.0.1}/tox.ini +0 -0
|
@@ -16,6 +16,7 @@ from .enums import (
|
|
|
16
16
|
CurrentOperationMode,
|
|
17
17
|
DeviceType,
|
|
18
18
|
DhwOperationSetting,
|
|
19
|
+
DREvent,
|
|
19
20
|
ErrorCode,
|
|
20
21
|
HeatSource,
|
|
21
22
|
TemperatureType,
|
|
@@ -309,7 +310,12 @@ class DeviceStatus(NavienBaseModel):
|
|
|
309
310
|
description="Sub error code providing additional error details"
|
|
310
311
|
)
|
|
311
312
|
smart_diagnostic: int = Field(
|
|
312
|
-
description=
|
|
313
|
+
description=(
|
|
314
|
+
"Smart diagnostic status code for system health monitoring. "
|
|
315
|
+
"0 = no diagnostic conditions. "
|
|
316
|
+
"Non-zero = diagnostic condition detected. "
|
|
317
|
+
"Specific diagnostic codes are device firmware dependent."
|
|
318
|
+
)
|
|
313
319
|
)
|
|
314
320
|
fault_status1: int = Field(description="Fault status register 1")
|
|
315
321
|
fault_status2: int = Field(description="Fault status register 2")
|
|
@@ -330,11 +336,14 @@ class DeviceStatus(NavienBaseModel):
|
|
|
330
336
|
),
|
|
331
337
|
json_schema_extra={"unit_of_measurement": "%"},
|
|
332
338
|
)
|
|
333
|
-
dr_event_status:
|
|
339
|
+
dr_event_status: DREvent = Field(
|
|
340
|
+
default=DREvent.UNKNOWN,
|
|
334
341
|
description=(
|
|
335
|
-
"Demand Response (DR) event status. "
|
|
336
|
-
"
|
|
337
|
-
|
|
342
|
+
"Demand Response (DR) event status from utility (CTA-2045). "
|
|
343
|
+
"0=UNKNOWN (No event), 1=RUN_NORMAL, 2=SHED (reduce power), "
|
|
344
|
+
"3=LOADUP (pre-heat), 4=LOADUP_ADV (advanced pre-heat), "
|
|
345
|
+
"5=CPE (customer peak event/grid emergency)"
|
|
346
|
+
),
|
|
338
347
|
)
|
|
339
348
|
vacation_day_setting: int = Field(
|
|
340
349
|
description="Vacation day setting",
|
|
@@ -414,9 +423,12 @@ class DeviceStatus(NavienBaseModel):
|
|
|
414
423
|
)
|
|
415
424
|
dr_override_status: int = Field(
|
|
416
425
|
description=(
|
|
417
|
-
"Demand Response override status. "
|
|
418
|
-
"
|
|
419
|
-
|
|
426
|
+
"Demand Response override status in hours. "
|
|
427
|
+
"0 = no override active. "
|
|
428
|
+
"Non-zero (1-72) = override active with specified remaining hours. "
|
|
429
|
+
"User can override DR commands for up to 72 hours."
|
|
430
|
+
),
|
|
431
|
+
json_schema_extra={"unit_of_measurement": "hours"},
|
|
420
432
|
)
|
|
421
433
|
tou_override_status: TouOverride = Field(
|
|
422
434
|
description=(
|
|
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
|
|
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
|