v7.2.1
Added
-
CLI Command: New
device-infocommand to retrieve basic device information from REST API.. code-block:: bash
Get basic device info (DeviceInfo model)
python3 -m nwp500.cli device-info
python3 -m nwp500.cli device-info --raw -
ConnectionStatus Enum: New
ConnectionStatusenum for device cloud connection stateConnectionStatus.DISCONNECTED= 1 - Device offline/not connectedConnectionStatus.CONNECTED= 2 - Device online and reachable- Used in
DeviceInfo.connectedfield with automatic validation
-
InstallType Enum: New
InstallTypeenum for device installation classificationInstallType.RESIDENTIAL= "R" - Residential useInstallType.COMMERCIAL= "C" - Commercial use- Used in
DeviceInfo.install_typefield with automatic validation - Includes
INSTALL_TYPE_TEXTmapping for display purposes
-
String Enum Validator: New
str_enum_validator()converter for string-based enums
Changed
-
DeviceInfo Model:
connectedfield now usesConnectionStatusenum instead of plain intinstall_typefield now usesInstallTypeenum instead of plain string
-
TOU Status Conversion: Simplified TOU status to use standard
device_bool_to_pythonconverter (consistent with other OnOffFlag fields)- Removed special-case
tou_status_to_python()converter TouStatusannotated type now usesdevice_bool_to_pythonvalidator- Device encoding: 1=OFF/disabled, 2=ON/enabled (consistent with all other boolean fields)
- Removed special-case
-
CLI Documentation: Clarified distinction between
info(DeviceFeature via MQTT) anddevice-info(DeviceInfo via REST API) commands -
Type Annotations: Fixed CLI rich_output console type annotation to declare at class level
Removed
-
constants.py Module: Removed empty
constants.pymodule.CommandCodeenum was already moved toenums.pyin version 4.2.0... code-block:: python
OLD (removed)
from nwp500.constants import CommandCode
NEW (use this)
from nwp500.enums import CommandCode
-
Firmware Tracking: Removed unused firmware tracking constants and documentation (
KNOWN_FIRMWARE_FIELD_CHANGES,LATEST_KNOWN_FIRMWARE,docs/protocol/firmware_tracking.rst) -
TOU Status Converter: Removed redundant
tou_status_to_python()converter function and associated tests