Skip to content

2.1.0

Choose a tag to compare

@mutilator mutilator released this 22 Jan 22:52

Added

  • iQua2 API: Added support for iQua2 API
    • Added support for choosing legacy iqua or new iqua2 api in configuration
    • Fall back to legacy API for those who upgrade
  • Regeneration Status Sensor: New text sensor displaying current regeneration status
    • Added IquaSoftenerRegenerationStatusSensor reading from enriched API data
    • Displays formatted status: None, Regenerating, Scheduled, Unknown, Disabled, Suspended, Error, Wsov Disabled
    • Updates via periodic API polling (enriched_data.water_treatment.regeneration.regeneration_status)
  • Regeneration Time Remaining Sensor: New duration sensor showing time remaining for current regeneration cycle
    • Added IquaSoftenerRegenerationTimeRemainingSensor with real-time WebSocket updates
    • Displays time in seconds using SensorDeviceClass.DURATION
    • Updates in real-time via WebSocket property regen_time_rem_secs
    • Shows 0 when device is not regenerating
  • Device Settings Configuration: New select platform for configurable device settings
    • Added support for 6 device settings: Salt Type, Inlet Water Hardness, Regeneration Time, Efficiency Mode, Max Days Between Recharges, and 97% Feature
    • Each setting is exposed as a Home Assistant select entity with dynamically populated options
    • Users can now configure device settings directly from Home Assistant UI
    • Added get_device_settings() method to fetch available settings and their current values from the API
    • Added set_device_setting() method to update device settings via PATCH request to /devices/{id}/settings endpoint
  • WiFi Signal Strength Sensor: New sensor entity displaying WiFi signal strength in dBm
    • Added IquaSoftenerWifiSignalStrengthSensor class with real-time updates via WebSocket
    • Displays WiFi signal strength with proper unit of measurement
  • Water Hardness Sensor: New read-only sensor displaying current water hardness in GPG (grains per gallon)
    • Added IquaSoftenerWaterHardnessSensor class for monitoring inlet water hardness
    • Provides feedback on current hardness level configured in the device
  • Diagnostics Support: Enhanced diagnostics with more detailed information
    • Added 7 new diagnostic tests covering configuration, coordinator state, device data, and platforms
  • WebSocket Real-time Updates: Real-time sensor updates when device data changes
    • Implemented WebSocket callback mechanism for immediate sensor updates
    • Coordinator now triggers refresh when WebSocket data arrives
    • Added async_start_websocket() and async_stop_websocket() methods to coordinator
    • WebSocket connection managed properly during setup and unload lifecycle
  • WebSocket Connection Sensor: New binary sensor displaying real-time WebSocket connection status
    • Added IquaSoftenerWebSocketConnectionSensor with connectivity device class
    • Real-time state updates via callback mechanism (no polling delay)
    • Shows "Connected" when WebSocket is active, "Disconnected" during reconnection or errors

Fixed

  • Configuration Flow Data Persistence: Fixed options not persisting correctly
    • Implemented dict merge pattern in async_step_reconfigure() to preserve all configuration fields
    • Ensures update_interval and enable_websocket settings are retained when reconfiguring credentials
  • Device Settings API Integration: Corrected PATCH request format for device settings
    • Fixed payload format to match API expectations: {"settings": {"setting_name": "value"}}
    • Updated set_device_setting() to use PATCH method with proper request handling

Enhanced

  • Component Architecture: New select platform registration for device settings
  • Real-time Updates: Improved responsiveness with WebSocket callback integration
  • Sensor Coverage: Extended sensor suite with regeneration monitoring, WiFi signal, and water hardness
  • Total Sensor Count: Now provides 14 sensors covering device state, regeneration status and timing, usage, salt level, flow, WiFi, and hardness

Removed

  • Date/Time Sensor: Removed date/time entity, it doesn't provide useful information to the user.