github lasswellt/govee-homeassistant v2026.9.0

4 hours ago

Highlights

Tower Fan 2 (H7105/H7107) oscillation that actually moves the fan — contributed by @JohnAposto83 in #176. Govee's developer API accepts oscillationToggle on these fans and returns success, and the sweep motor never moves (govee2mqtt #438/#709, goveelife #70). With account login the integration now sends the raw ptReal/multiSync frame the fan obeys over the AWS IoT session, replaying the fan's own configured sweep arc, and falls back to the cloud toggle when MQTT is unavailable. Hardware-verified on an H7107. API-key-only users get one log warning explaining that account login is the prerequisite.

H1310 / H1370 ceiling fans follow the remote and the app (#181). The developer API returns a blank for every fan value on these combos, and the push's device-wide onOff is the unit having power, not the light — so the fan entity never updated from outside HA, and switching the fan on lit the light entity until the next poll. The integration now decodes the fan's own status frames (aa 31 for the fan, aa 42 / aa 36 for the two lights, per homebridge-govee's labelled captures): fan on/off, speed and direction, and the Main/Background light switches, all update in real time with account login; the light's power comes from the light frames; and changing direction marks the fan running, since the motor starts.

H5053 thermometers read correctly (#173). Six units on one account showed ~162 °F for a real ~72 °F: the developer API returns the value in the account's display unit with no unit field and the SKU was missing from the Fahrenheit-reporting list. Same fix as the H5111 in #144. The H5310 half of that thread was the 8-bit gateway-frame rollover fixed in v2026.8.7.

Also in this release

  • Review follow-ups to #176: the SKU gate lives in const.py as MQTT_OSCILLATION_SKUS; the coordinator owns the optimistic state, transport bookkeeping and the diagnostics command-history entry (with the replayed swing tail, also exposed per device as fan_swing_tail); the aa 1d harvest only accepts the fan's own on/off reports and never drops a status message on a malformed entry; the multiSync twin is skipped when the primary frame did not go out. Docs no longer extend the no-op claim to the H7106/H7108.
  • Decoded op.command frames from every AWS IoT status push now appear in the diagnostics download as last_mqtt_message._op_frames, so undecoded device reports can be cracked from a download alone.
  • Dependabot no longer bumps the runtime requirement floors (cryptography and friends) past Home Assistant core's own pins (#182 closed).

Thanks

@JohnAposto83 for #176 (and #178/#179 last release), @MicroDraco for the H1310 diagnostics, @aloke-gupta and @jspiro for the temperature-unit legwork, and homebridge-govee for the ceiling-fan and tower-fan frame captures this release builds on.

Don't miss a new govee-homeassistant release

NewReleases is sending notifications on new releases.