github disforw/goveelife v4.1.2

8 hours ago

What's Changed

🆕 New Features

  • Air Quality Monitor support — H5140 and compatible CO2 monitors are now fully supported
    • carbonDioxideConcentrationSensorDeviceClass.CO2 (ppm)
    • airQualitySensorDeviceClass.AQI
    • filterLifeTime → diagnostic percentage sensor
  • Air Purifier sensor properties — Devices already working as fans now also expose airQuality and filterLifeTime property sensors (previously silently dropped)
  • New binary sensor eventsco2AlarmEvent (GAS), iceBucketFullEvent / iceTrayEmptyEvent (PROBLEM)

Closes #131, #7

🐛 Bug Fixes

  • Fan unresponsive after control commandasync_GoveeAPI_ControlDevice was gating return True on a successful local cache update. If the capability wasn't found in cache (type/instance mismatch), it returned False and skipped async_write_ha_state(), leaving HA state stale even when the API command succeeded. API success and cache update are now decoupled.
  • H7120 fan flat-workMode detection — Runtime re-detection of flat-workMode devices was fragile; workMode values (1/2/3) collided with the default _manual_work_mode=1, causing the wrong payload to be sent. Fixed with an explicit _flat_work_mode flag set at init.
  • H7106 fan speed capped at 33% — Duplicate gear modes were being added from Sleep/Nature modeValue sub-options, collapsing the speed range. Fixed by deduplicating gear modes during platform init.

🔇 Error Handling

  • Graceful Govee API timeoutsTimeoutError, ClientConnectionError, and ServerDisconnectedError are now logged as WARNING ("Govee API unreachable, will retry on next poll") instead of ERROR in the update coordinator and both GET/POST request helpers. These are transient upstream conditions, not integration errors.
  • Silenced availability KeyError — The available property no longer logs an ERROR when device state hasn't been populated yet (expected during API downtime or startup).

🔧 Housekeeping

  • ruff format pass on utils.py
  • README updates

Full Changelog: v4.1.0...v4.1.2

Don't miss a new goveelife release

NewReleases is sending notifications on new releases.