diff --git a/docs/protocol/data_conversions.rst b/docs/protocol/data_conversions.rst index 9888942..f83421d 100644 --- a/docs/protocol/data_conversions.rst +++ b/docs/protocol/data_conversions.rst @@ -195,7 +195,7 @@ Electric heating elements are controlled via thermostat ranges. Two sensors (upp * - ``heatMinOpTemperature`` - add_20 - °F - - **Minimum operating temperature** for heating elements. Safety threshold - elements won't activate if inlet water is below this (prevents pump cavitation). + - **Minimum heat pump operation temperature**. Lowest tank temperature setpoint allowed in the current operating mode. Range: 95-113°F. Default: 95°F. When set, the user can only set the target tank temperature at or above this threshold, ensuring minimum system operating conditions. Heat Pump Control Temperatures ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -261,15 +261,15 @@ Freeze Protection Temperatures * - ``freezeProtectionTemperature`` - add_20 - °F - - **Freeze protection temperature setpoint**. Default 43°F (6°C). If any tank sensor drops below this, electric heating activates. + - **Freeze protection temperature setpoint**. Range: 43-50°F (6-10°C). Default: 43°F (6°C). When tank temperature drops below this, electric heating activates automatically to prevent freezing. * - ``freezeProtectionTempMin`` - add_20 - °F - - **Minimum freeze protection temperature limit**. + - **Minimum freeze protection temperature limit** (lower boundary). Fixed at 43°F (6°C). * - ``freezeProtectionTempMax`` - add_20 - °F - - **Maximum freeze protection temperature limit**. + - **Maximum freeze protection temperature limit** (upper boundary). Fixed at 50°F (10°C). Recirculation System Temperatures ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -414,15 +414,15 @@ Safety and Diagnostic Fields * - ``airFilterAlarmUse`` - device_bool - Boolean - - **Air filter maintenance reminder enabled flag**. True when air filter alarm feature is active. + - **Air filter maintenance reminder enabled flag**. When enabled (True), triggers maintenance alert based on operating hours. Default: On. * - ``airFilterAlarmPeriod`` - None (direct value) - hours - - **Air filter service interval**. Default 1000 hours. Maintenance reminder triggers after this interval. + - **Air filter maintenance cycle interval**. Range: Off or 1,000-10,000 hours. Default: 1,000 hours. Maintenance reminder triggers after this operating time elapsed. * - ``airFilterAlarmElapsed`` - None (direct value) - hours - - **Hours since last air filter service reset**. Resets to 0 when maintenance is performed. + - **Hours elapsed since last air filter maintenance reset**. Resets to 0 when maintenance is performed. Track this to schedule preventative replacement. * - ``cumulatedOpTimeEvaFan`` - None (direct value) - hours @@ -442,15 +442,15 @@ Safety and Diagnostic Fields * - ``antiLegionellaUse`` - device_bool - Boolean - - **Anti-legionella function enabled flag**. True when feature is active. + - **Anti-legionella function enabled flag**. When enabled (True), device periodically heats tank to high temperature to prevent Legionella bacteria growth. Default: Off. Enable recommended for systems not regularly flushed. * - ``antiLegionellaOperationBusy`` - device_bool - Boolean - - **Anti-legionella cycle in progress flag**. True during periodic high-temperature disinfection cycle. + - **Anti-legionella cycle in progress flag**. True during active high-temperature disinfection cycle. * - ``antiLegionellaPeriod`` - None (direct value) - days - - **Anti-legionella execution interval**. Period between automatic disinfection cycles. + - **Anti-legionella execution cycle interval**. Range: 1-30 days. Default: 7 days. Sets how often the device performs the disinfection cycle. Vacation and Scheduling Fields ------------------------------ diff --git a/docs/protocol/device_status.rst b/docs/protocol/device_status.rst index 22228fc..b60f298 100644 --- a/docs/protocol/device_status.rst +++ b/docs/protocol/device_status.rst @@ -206,22 +206,22 @@ This document lists the fields found in the ``status`` object of device status m * - ``freezeProtectionTemperature`` - integer - °F - - Freeze protection temperature setting. + - Freeze protection temperature setpoint. Range: 43-50°F (6-10°C), Default: 43°F. When tank temperature drops below this, electric heating activates automatically to prevent freezing. - ``raw + 20`` * - ``antiLegionellaUse`` - bool - None - - Whether anti-legionella function is enabled. + - Whether anti-legionella function is enabled. When enabled, device periodically heats tank to prevent Legionella bacteria growth. Default: Off. - Converted from integer (1=OFF, 2=ON) to bool * - ``antiLegionellaPeriod`` - integer - days - - Anti-legionella function period. + - Anti-legionella cycle interval. Range: 1-30 days, Default: 7 days. Sets frequency of automatic high-temperature disinfection cycles. - None * - ``antiLegionellaOperationBusy`` - bool - None - - Whether the anti-legionella function is busy. + - Whether the anti-legionella disinfection cycle is currently running. - Converted from integer (1=OFF, 2=ON) to bool * - ``programReservationType`` - integer @@ -321,17 +321,17 @@ This document lists the fields found in the ``status`` object of device status m * - ``airFilterAlarmUse`` - bool - None - - Air filter alarm usage - indicates if air filter maintenance reminder is enabled. + - Air filter maintenance reminder enabled flag. When enabled, triggers alerts based on operating hours. Default: On. - Converted from integer (1=OFF, 2=ON) to bool * - ``airFilterAlarmPeriod`` - integer - hours - - Air filter alarm period setting. Default: 1,000 hours of operation. + - Air filter maintenance cycle interval. Range: Off or 1,000-10,000 hours, Default: 1,000 hours. Sets maintenance reminder frequency. - None * - ``airFilterAlarmElapsed`` - integer - hours - - Elapsed operation time since last air filter maintenance reset. + - Operating hours elapsed since last air filter maintenance reset. Track this to schedule preventative replacement. - None * - ``cumulatedOpTimeEvaFan`` - integer @@ -431,7 +431,7 @@ This document lists the fields found in the ``status`` object of device status m * - ``heatMinOpTemperature`` - float - °F - - Minimum operating temperature for the heating element. This sets the lower threshold at which the heating element can operate. + - Minimum heat pump operation temperature. Lowest tank temperature setpoint allowed in the current operating mode (95-113°F, default 95°F). When set, users can only set the target tank temperature at or above this threshold. - ``raw + 20`` * - ``drOverrideStatus`` - integer diff --git a/docs/protocol/firmware_tracking.rst b/docs/protocol/firmware_tracking.rst index afdf35d..28cc422 100644 --- a/docs/protocol/firmware_tracking.rst +++ b/docs/protocol/firmware_tracking.rst @@ -40,7 +40,7 @@ The following table tracks known fields that have been introduced in firmware up * - ``heatMinOpTemperature`` - Controller: 184614912, WiFi: 34013184 - ``raw + 20`` - - Minimum operating temperature for the heating element. Sets the lower threshold at which the heating element can operate. + - Minimum heat pump operation temperature. Lowest tank temperature setpoint allowed in the current operating mode (95-113°F, default 95°F). Reporting New Fields -------------------- @@ -127,18 +127,43 @@ Firmware Version History This section tracks observed firmware versions and their associated changes. -**Latest Known Versions** (as of 2025-10-15): +**Latest Known Versions** (as of 2025-11-18): -- Controller SW Version: 184614912 -- Panel SW Version: 0 (not used on NWP500 devices) -- WiFi SW Version: 34013184 +API Firmware Information (from /device/firmware/info endpoint): + +- **Software Code 33556241** (Controller): + + - Current Version: 184614912 + - Downloaded Version: 0 + +- **Software Code 268435985** (WiFi Module): + + - Current Version: 34013184 + - Downloaded Version: None + +- **Software Code 268435761** (Unknown Module 1): + + - Current Version: 60454 + - Downloaded Version: None + +- **Software Code 268435777** (Unknown Module 2): + + - Current Version: 60454 + - Downloaded Version: None **Observed Features:** -- These versions include support for ``heatMinOpTemperature`` field +- Controller version 184614912 and WiFi version 34013184 include support for ``heatMinOpTemperature`` field - Recirculation pump fields (``recirc*``) are present but not yet documented +- Additional modules (268435761, 268435777) with unknown purposes - may be related to auxiliary systems + +**Firmware Mapping Notes:** + +- Software Code 33556241: Appears to be the main controller firmware +- Software Code 268435985: Likely WiFi/network module firmware +- Software Codes 268435761, 268435777: Unknown purposes - potentially auxiliary modules or DSP/control chips -*Note: This tracking system was implemented on 2025-10-15. Historical firmware information is not available.* +*Tracking system updated on 2025-11-18 with current live device firmware versions.* Contributing ------------ diff --git a/docs/python_api/constants.rst b/docs/python_api/constants.rst index e41c28a..ae15597 100644 --- a/docs/python_api/constants.rst +++ b/docs/python_api/constants.rst @@ -310,7 +310,7 @@ Some fields were introduced in specific firmware versions: { "heatMinOpTemperature": { "introduced_in": "Controller: 184614912, WiFi: 34013184", - "description": "Minimum operating temperature for heating element", + "description": "Minimum heat pump operation temperature", "conversion": "raw + 20" } }