Skip to content

v11.32.0

Choose a tag to compare

@bwp91 bwp91 released this 02 Aug 09:49

If you have a Govee fan, read this first. The HomeKit speed slider now works as a proper percentage on every fan model — 100% means full power, and you will no longer see speeds reported as "7%" (#1326). Because the slider's range changed, each fan's tile is rebuilt once, the first time you start this version. Two things follow from that: your fans may briefly disappear and reappear in the Home app, and if you use a fan in a scene or automation you may need to add it again. This only happens once. Thanks to @cwhett, who wrote the original fix and then caught a serious flaw in it on real hardware before it ever reached a release.

New devices supported: the H5089 smart plug, which appears as two switches for its two outlets (#1323); the H5901 smart water timer via the Govee OpenAPI — this one needs an API key set, as it has no other connection method (#1324); the H60B3 uplighter (#1325); the H3001 solar string lights (#1328); and the H1250 18-inch Ceiling Light Pro (#1333).

Fixed: colour changes on the H617A over Bluetooth. These RGBIC strips quietly accepted the colour command and then ignored it, so HomeKit showed the new colour while the LEDs stayed put. The H617A now uses the segment-based colour command its family actually listens to, the same fix the H617E needed (#1332).

Better Bluetooth timing for slow devices. The time allowed for a Bluetooth update is now worked out from the stages it actually involves — connecting, discovering, writing — instead of a flat 10 seconds. A device that is slow to connect no longer gets cut off mid-update and reported as unreachable when it was merely slow (#1328).

Clearer errors when a command fails. When Govee's API refuses a command, the plugin now reports Govee's own reason instead of the command appearing to succeed, and when every connection method has been tried, the log shows the real reason the last one failed rather than the misleading "no connection method available" (#1324).

Fixed for ice makers: the Home app no longer shows an ice size of 0 when one has never been set (#1329). Thanks @cwhett.

About the H5089's night light. The plug has a built-in night light, and it now appears as its own tile that correctly reports whether it is on and how bright it is. Controlling it does not work — the plug ignores every command shape we have been able to try. Rather than a tile that silently does nothing, it will now refuse the change and snap back. If you own one of these and can help work out the right command, please say so on #1323.

Fixed for two-outlet plugs on an API key alone: the plugin was sending a per-outlet value to the Govee API, which only understands a single on/off, so every press was rejected with "parameter value out of range" and filled the log with errors (#1323). Note these plugs still need your Govee username and password — an API key on its own cannot control them.

Security: this release clears the high-severity brace-expansion advisory from the aws-iot dependency chain, so npm audit stops flagging the plugin.

In the My Devices tab: you can now hide or show a device in HomeKit, and there is a Remove All Devices action, with a confirm step — removing an entry loses any extra settings on it.

For anyone reporting a new device: debug mode now logs what each device can do according to the Govee OpenAPI, and decodes the status codes a device reports into readable hex. If you are asking for a device we do not yet handle, a debug log is now far more likely to contain the answer.

Fixed: brightness bouncing on the H6022. This lamp reports its brightness as a percentage, but since v11.30.0 the plugin was rescaling it as if it were a 0–254 value — so setting 50% showed 20%, then jumped back, with the tile flickering between the two. The H6022 is now on the correct scale in both directions.


Testers wanted: the fan speed change touches nine models and only the H7100 is confirmed on hardware. If you own an H7101, H7102, H7105, H7106, H7107, H1310 or H1370, please report back on #1326 — the 12-step models (H7105, H7107, H1370) are the ones we would most like eyes on.

Changed

  • chore(github): use the shared homebridge action to deprecate past pre-releases
  • chore(github): allow the pre-release keep count to be set when running the deprecation workflow
  • feat(ui): hide or show a device in homekit from the my devices tab
  • chore(deps): dependency updates
  • style(ui): standardise the custom ui layout and sync the support tab with the readme
  • chore(deps): override help-me to v5 to clear the high brace-expansion security advisory from the aws-iot dependency chain
  • feat(ui): add a remove all devices action to the my devices tab (#1323)
  • feat: add support for the H5089 smart plug, exposing its outlet and built-in light as separate switches (#1323)
  • chore: declare the supports-hap transport keyword for the homebridge ui
  • feat: add support for the H60B3 uplighter as an rgb light (#1325)
  • feat: add support for the H5901 water timer through the govee openapi (#1324)
  • fix(fans): map rotation speed as a percentage on every fan model, so homekit stops showing speeds like 7% and the top of the slider means full power (#1326) (@cwhett)
  • chore: log what each device can do according to the govee openapi, in debug mode, to make working out new device support quicker
  • chore: decode the status codes a device reports into readable hex in debug mode, so support for new device features can be worked out from a normal log
  • feat: add the H5089 night light as a homekit light tile with on, off and brightness (#1323)
  • fix: send the H5089 night light commands as the newer ptIot type the plug listens for, instead of being silently ignored (#1323)
  • fix: also send the H5089 night light the command shape the supported govee purifiers use, since mirroring the plug's own status code was not enough on its own (#1323)
  • fix: stop sending a per-outlet value to the govee api, which rejected every press with a parameter out of range error on two-outlet plugs (#1323)
  • fix: hide the H5089 night light tile until its commands are worked out, rather than showing a control that does nothing (#1323)
  • feat: add support for the H3001 solar string lights as an rgb light (#1328)
  • fix(fans): rebuild the fan service once when it was cached under the old speed scale, so the top of the slider stops setting the slowest speed (#1326) (@cwhett)
  • fix: show the H5089 night light tile again, but refuse control commands, so it reports the real state instead of quietly ignoring taps (#1323)
  • fix(ice-makers): stop the home app showing an ice size of 0 when one has never been set (#1329) (@cwhett)
  • chore: add a test setup with tests for the shared helper functions
  • chore(github): run the build and tests in ci, on node 22, 24 and 26
  • chore: use the same lint setup across every plugin
  • chore: add a changelog:sync script to populate the pending section from the commits
  • chore(deps): refresh the lock file for the eslint config bump
  • fix(ble): size the update queue timeout from the connection stages, so a slow device still has time to send its command (#1328)
  • chore: count a repeated commit subject once when syncing the changelog
  • chore(github): check the changelog against the commits in ci
  • fix(openapi): report govee's own reason when it refuses a command, instead of the command appearing to succeed (#1324)
  • fix: report why a command failed instead of claiming no connection method was available (#1324)
  • fix(ble): use the segment-based colour command for the H617A, whose LEDs ignore the simple RGB colour commands (#1332)
  • feat: add support for the H1250 ceiling light pro as an rgb light (#1333)
  • fix: stop rescaling the H6022's aws brightness reports, which are already a percentage, so its brightness stops bouncing to a wrong value after every change