Skip to content

v11.33.0

Latest

Choose a tag to compare

@bwp91 bwp91 released this 03 Aug 11:23

Please read before updating

This release includes a large refactor of the plugin's internals. It is covered by tests, and every supported model was checked against a before-and-after snapshot to confirm nothing lost functionality - but a change of this size can still turn up something that only shows itself on real hardware.

There is nothing to change in your config, and nothing you need to do differently.

That said, if dropping back to v11.32.1 would be awkward for you - you are away from home, or you have no easy way to reinstall an older version - it is worth leaving this a few days and letting others update first.

If something does break, please open an issue with your log and I will get it sorted.

Changed

  • fix: stop shipping the test files to npm, since they are only needed in the repository
  • fix: BLE device control on macOS by resolving peripherals via advertised name (#1336) (@Perafan18)
  • fix: implement the H7107's oscillation toggle, which threw a not-implemented error when tapped (#1334)
  • fix: also send the H7107's oscillation command as the multiSync frame the fan itself uses, since the first shape only turned it off sometimes (#1334)
  • fix: send the H7107's oscillation-off command without the swing-range bytes, matching the zero-tailed frame the fan echoes back (#1334)
  • feat: add support for the H8121 and H8122 ice makers, with small, medium and large ice sizes (pending owner confirmation)
  • fix: send the H6102 the colour command its firmware expects, since the previous one was accepted but ignored (#1332)
  • fix: read the H5179 sensor's temperature from its own bytes, since it was picking up part of the humidity and reporting slightly wrong
  • feat: log govee sensors whose bluetooth broadcast is not recognised, so unsupported models can be identified
  • feat: report unrecognised device data in one line with the model, firmware and connection, so it can be sent in without follow-up questions
  • feat: work out for itself whether a heater reports the room temperature, and add the H7137 and H713E
  • feat: add support for 85 more light models, covering everything currently sold that was missing
  • feat: add 24 more light models, three thermo-hygrometers and a leak detector
  • feat: add the H7103 and H7112 fans and the H5085 plug, with unknown controls saying so instead of guessing
  • feat: give every appliance type a starting handler, so a new model works for on and off and asks for the rest
  • refactor: point models that behave identically at one shared handler instead of copies of the same file
  • fix: refuse to send a bluetooth command too long to fit in a packet, rather than sending a longer one the device quietly ignores
  • test: record what every supported model turns into, so a change can be shown to have altered nothing
  • feat: work out what an appliance can do from what the device itself reports, so a model nobody has written down still gets the right controls
  • feat: offer oscillation and the child lock on any appliance that reports having them, driven through govee's api rather than needing that model's command codes
  • refactor: point three more models at a shared handler instead of a near-copy of the same file, keeping each one's behaviour exactly as it was
  • fix: give the H7124 the air quality handling the H7123 already had, so a poor reading is named properly and stops being logged over and over (#1261)
  • refactor: point the H7151 and H7111 at the handlers they were byte-for-byte copies of
  • refactor: build the ice maker size codes from the model rather than writing both orderings out by hand
  • refactor: build the switch and outlet tiles of a multi-socket device from one handler instead of two copies of it
  • fix: move the H7152 dehumidifier's speed slider when it reports a new speed, which until now only the H7150 and H7151 did
  • refactor: point the H7101 and H7111 fans at the H7100 handler they matched command for command
  • feat: give a diffuser model that has not been worked out yet the same starting handler the other appliances have, so it works for on and off
  • refactor: choose a device handler from a table, so adding a device type no longer means editing the platform
  • refactor: move the settings parsing into its own file, away from the code that talks to devices
  • refactor: move the work of describing a device to its handler into its own file
  • refactor: move the rules for combining govee's device lists, and for letting go of a device that has gone, into their own file with tests
  • test: check what the plugin sends over aws, the local network and the public api, none of which was covered before
  • feat: say when govee has not listed a capability the plugin is about to use, since the request then succeeds and the device does nothing
  • docs: note that the local network api accepts the raw command form, which is how scenes work without the cloud
  • refactor: give every device one shared starting point, so the way a failed command is reported and undone is decided in one place rather than a hundred
  • feat: recognise eleven more meat thermometers, which report what they send so their readings can be worked out, and stop the one already known printing its whole update as a warning
  • feat: add the H5161 power strip and give the H7184 kitchen composter an on and off switch
  • feat: recognise three more sensors, which report what they send, and say plainly in the log why a sensor has no tile yet
  • feat: add ble encryption for the H3001 solar string lights, which silently ignore unencrypted frames (#1328) (@dominick-han)
  • fix: mention an unrecognised bluetooth broadcast once, and only for one of your own sensors, since a scan also hears your lights and the neighbours
  • fix: say "device(s)" in the connection summary, since the count is often one
  • fix: stop the macOS bluetooth scan leaving its timer running once the device has been found
  • docs: say that macOS bluetooth support is new and ask for reports, rather than stating it works
  • chore(deps): dependency updates