nwp500-python 1.1.0__tar.gz → 1.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 (91) hide show
  1. {nwp500_python-1.1.0/src/nwp500_python.egg-info → nwp500_python-1.1.1}/PKG-INFO +1 -1
  2. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/DEVICE_STATUS_FIELDS.rst +25 -22
  3. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/openapi.yaml +2 -0
  4. {nwp500_python-1.1.0 → nwp500_python-1.1.1/src/nwp500_python.egg-info}/PKG-INFO +1 -1
  5. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/.coveragerc +0 -0
  6. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/.github/copilot-instructions.md +0 -0
  7. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/.github/workflows/ci.yml +0 -0
  8. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/.github/workflows/release.yml +0 -0
  9. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/.gitignore +0 -0
  10. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/.pre-commit-config.yaml +0 -0
  11. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/.readthedocs.yml +0 -0
  12. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/AUTHORS.rst +0 -0
  13. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/CHANGELOG.rst +0 -0
  14. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/CONTRIBUTING.rst +0 -0
  15. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/LICENSE.txt +0 -0
  16. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/Makefile +0 -0
  17. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/README.rst +0 -0
  18. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/RELEASE.md +0 -0
  19. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/API_CLIENT.rst +0 -0
  20. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/API_REFERENCE.rst +0 -0
  21. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/AUTHENTICATION.rst +0 -0
  22. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/COMMAND_QUEUE.rst +0 -0
  23. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/DEVELOPMENT.rst +0 -0
  24. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/DEVICE_FEATURE_FIELDS.rst +0 -0
  25. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/ENERGY_MONITORING.rst +0 -0
  26. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/ERROR_CODES.rst +0 -0
  27. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/EVENT_EMITTER.rst +0 -0
  28. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/MQTT_CLIENT.rst +0 -0
  29. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/MQTT_MESSAGES.rst +0 -0
  30. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/Makefile +0 -0
  31. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/_static/.gitignore +0 -0
  32. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/authors.rst +0 -0
  33. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/changelog.rst +0 -0
  34. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/conf.py +0 -0
  35. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/contributing.rst +0 -0
  36. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/index.rst +0 -0
  37. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/license.rst +0 -0
  38. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/readme.rst +0 -0
  39. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/docs/requirements.txt +0 -0
  40. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/.ruff.toml +0 -0
  41. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/README.md +0 -0
  42. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/api_client_example.py +0 -0
  43. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/auth_constructor_example.py +0 -0
  44. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/authenticate.py +0 -0
  45. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/combined_callbacks.py +0 -0
  46. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/command_queue_demo.py +0 -0
  47. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/device_feature_callback.py +0 -0
  48. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/device_status_callback.py +0 -0
  49. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/device_status_callback_debug.py +0 -0
  50. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/energy_usage_example.py +0 -0
  51. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/event_emitter_demo.py +0 -0
  52. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/improved_auth_pattern.py +0 -0
  53. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/mask.py +0 -0
  54. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/mqtt_client_example.py +0 -0
  55. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/periodic_device_info.py +0 -0
  56. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/periodic_requests.py +0 -0
  57. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/power_control_example.py +0 -0
  58. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/reconnection_demo.py +0 -0
  59. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/set_dhw_temperature_example.py +0 -0
  60. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/set_mode_example.py +0 -0
  61. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/simple_periodic_info.py +0 -0
  62. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/simple_periodic_status.py +0 -0
  63. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/test_api_client.py +0 -0
  64. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/test_mqtt_connection.py +0 -0
  65. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/test_mqtt_messaging.py +0 -0
  66. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/examples/test_periodic_minimal.py +0 -0
  67. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/pyproject.toml +0 -0
  68. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/scripts/format.py +0 -0
  69. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/scripts/lint.py +0 -0
  70. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/scripts/setup-dev.py +0 -0
  71. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/setup.cfg +0 -0
  72. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/setup.py +0 -0
  73. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500/__init__.py +0 -0
  74. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500/api_client.py +0 -0
  75. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500/auth.py +0 -0
  76. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500/cli.py +0 -0
  77. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500/config.py +0 -0
  78. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500/constants.py +0 -0
  79. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500/events.py +0 -0
  80. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500/models.py +0 -0
  81. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500/mqtt_client.py +0 -0
  82. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500_python.egg-info/SOURCES.txt +0 -0
  83. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500_python.egg-info/dependency_links.txt +0 -0
  84. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500_python.egg-info/entry_points.txt +0 -0
  85. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500_python.egg-info/not-zip-safe +0 -0
  86. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500_python.egg-info/requires.txt +0 -0
  87. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/src/nwp500_python.egg-info/top_level.txt +0 -0
  88. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/tests/conftest.py +0 -0
  89. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/tests/test_command_queue.py +0 -0
  90. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/tests/test_events.py +0 -0
  91. {nwp500_python-1.1.0 → nwp500_python-1.1.1}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nwp500-python
3
- Version: 1.1.0
3
+ Version: 1.1.1
4
4
  Summary: Add a short description here!
5
5
  Home-page: https://github.com/pyscaffold/pyscaffold/
6
6
  Author: Emmanuel Levijarvi
@@ -449,10 +449,10 @@ This document lists the fields found in the ``status`` object of device status m
449
449
  - Available energy capacity - remaining hot water energy available in Watt-hours.
450
450
  - None
451
451
 
452
- Operation Modes
453
- ---------------
452
+ DHW Operation Setting Modes
453
+ ----------------------------
454
454
 
455
- The ``operationMode`` field is an integer that maps to the following modes. These modes balance energy efficiency and recovery time based on user needs.
455
+ The ``dhwOperationSetting`` field is an integer that maps to the following modes. These modes balance energy efficiency and recovery time based on user needs.
456
456
 
457
457
  .. list-table::
458
458
  :header-rows: 1
@@ -464,36 +464,41 @@ The ``operationMode`` field is an integer that maps to the following modes. Thes
464
464
  - Energy Efficiency
465
465
  - Description
466
466
  * - 1
467
- - Heat Pump
467
+ - HEAT_PUMP
468
468
  - Very Slow
469
469
  - High
470
470
  - Most energy-efficient mode, using only the heat pump. Recovery time varies with ambient temperature and humidity. Higher ambient temperature and humidity improve efficiency and reduce recovery time.
471
471
  * - 2
472
- - Electric
472
+ - ELECTRIC
473
473
  - Fast
474
474
  - Very Low
475
475
  - Uses only upper and lower electric heaters (not simultaneously). Least energy-efficient with shortest recovery time. Can operate continuously for up to 72 hours before automatically reverting to previous mode.
476
476
  * - 3
477
- - Energy Saver (Hybrid: Efficiency)
477
+ - ENERGY_SAVER
478
478
  - Fast
479
479
  - Very High
480
480
  - Default mode. Combines the heat pump and electric heater for balanced efficiency and recovery time. Heat pump is primarily used with electric heater for backup. Applied during initial shipment and factory reset.
481
481
  * - 4
482
- - High Demand (Hybrid: Boost)
482
+ - HIGH_DEMAND
483
483
  - Very Fast
484
484
  - Low
485
485
  - Combines heat pump and electric heater with more frequent use of electric heater for faster recovery. Suitable when higher hot water supply is needed.
486
486
  * - 5
487
- - Vacation
487
+ - VACATION
488
488
  - None
489
489
  - Very High
490
490
  - Suspends heating to save energy during absences (0-99 days). Only minimal operations like freeze protection and anti-seize are performed. Heating resumes 9 hours before the vacation period ends.
491
+ * - 6
492
+ - POWER_OFF
493
+ - None
494
+ - None
495
+ - Device is powered off. This value appears in ``dhwOperationSetting`` when the device has been powered off via the power-off command.
491
496
 
492
497
 
493
- Operation Modes
494
- --------------------------------------------------------
498
+ Operation Mode Status Values
499
+ -----------------------------
495
500
 
496
- The following ``operationMode`` values in status messages from the device. These values appear to correspond to the commanded modes as follows:
501
+ The following ``operationMode`` values appear in status messages from the device. These values reflect the device's actual operational state (what it's doing right now):
497
502
 
498
503
  .. list-table::
499
504
  :header-rows: 1
@@ -503,19 +508,17 @@ The following ``operationMode`` values in status messages from the device. These
503
508
  - Mode
504
509
  - Notes
505
510
  * - 0
506
- - Standby / Vacation
507
- - Corresponds to commanded modes ``STANDBY`` (0) and ``VACATION`` (5).
511
+ - STANDBY
512
+ - Device is idle, not actively heating. Can occur when device is powered off OR when it's on but not heating. Check ``dhwOperationSetting`` for value 6 (``POWER_OFF``) to distinguish between these states.
508
513
  * - 32
509
- - Heat Pump
510
- - Corresponds to commanded mode ``HEAT_PUMP`` (1).
514
+ - HEAT_PUMP_MODE
515
+ - Heat pump is actively running to heat water.
511
516
  * - 64
512
- - Energy Saver (Hybrid: Efficiency)
513
- - Corresponds to commanded mode ``ENERGY_SAVER`` (3).
517
+ - HYBRID_EFFICIENCY_MODE
518
+ - Device is actively heating in Energy Saver mode (hybrid efficiency).
514
519
  * - 96
515
- - High Demand (Hybrid: Boost)
516
- - Corresponds to commanded mode ``HIGH_DEMAND`` (4).
517
-
518
- The commanded mode ``ELECTRIC`` (2) has been observed to result in ``operationMode`` values of both 64 and 96 at different times.
520
+ - HYBRID_BOOST_MODE
521
+ - Device is actively heating in High Demand mode (hybrid boost).
519
522
 
520
523
  Understanding operationMode vs dhwOperationSetting
521
524
  ---------------------------------------------------
@@ -541,7 +544,7 @@ Field Definitions
541
544
  * Set by: User via app, CLI, or MQTT command
542
545
  * Changes: Only when user explicitly changes the mode or powers device off/on
543
546
  * Meaning: "When heating is needed, use this mode" OR "I'm powered off" (if value is 6)
544
- * **Critical**: Value 6 (``POWER_OFF``) indicates the device was powered off via the power-off command. This is how to distinguish between "powered off" and "on but idle".
547
+ * Value 6 (``POWER_OFF``) indicates the device was powered off via the power-off command. This is how to distinguish between "powered off" and "on but idle".
545
548
 
546
549
  **operationMode** (OperationMode enum with status values 0, 32, 64, 96)
547
550
  The device's **current actual operational state** - what the device is doing RIGHT NOW. This reflects real-time operation and changes automatically based on whether the device is idle or actively heating.
@@ -410,6 +410,8 @@ paths:
410
410
  schema:
411
411
  type: string
412
412
  responses:
413
+ '200':
414
+ description: Time of Use information
413
415
  content:
414
416
  application/json:
415
417
  schema:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nwp500-python
3
- Version: 1.1.0
3
+ Version: 1.1.1
4
4
  Summary: Add a short description here!
5
5
  Home-page: https://github.com/pyscaffold/pyscaffold/
6
6
  Author: Emmanuel Levijarvi
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