New device: H5192 probe (cooking) thermometer
Contributed by @DerJusty92 in #185, reverse-engineered on real hardware (#174). The H5192 never volunteers a reading — it only answers requests over AWS IoT — so support is built as an opt-in poll: a Live polling switch per device (off by default, restores across restarts) with a configurable interval (10–600 s, default 30 s). You get core and ambient temperature for both probes, and the four alarm limits per probe as writable number entities. Needs account login. Register map documented in docs/govee-protocol-reference.md §6.8.
Fixes
- DreamView actually engages video sync on devices that reach it over the BLE passthrough (e.g. H605C). The frame sent for "DreamView ON" was byte-for-byte the
Scene(Sunset)packet, so the light went to a static orange instead of following the screen. Contributed by @ymickler in #187. Turning DreamView off on that path now restores your last colour, which is how the device leaves video mode. - Music Mode switch on the H6022 (and any device whose modes don't include 1) no longer fails with "Parameter value out of range" — it sends the first mode the device advertises (#186).
- Three type errors from the H5192 code caught by mypy.
Per-outlet switches for the H5160 / H5161 (#184)
Govee's developer API exposes only the master switch on these three-outlet strips. With account login the integration now drives each outlet individually over AWS IoT using the same bitmask command homebridge-govee uses. The switches are optimistic (they show what you last set from HA) until the strip's own per-outlet readback is decoded — a diagnostics capture from a reporter settles that — and they're unavailable without the AWS IoT session, since nothing else can carry the command.
Real-time connection, second pass
- The MQTT status sensor and per-device connection-mode sensors update the moment a session drops or comes back, instead of on the next poll.
- A push that changes nothing no longer wakes every entity of every device (a chatty leak hub or a fan reporting every second used to).
- A burst of leak-hub frames now triggers one account poll instead of one per frame.
- All four Amazon Trust Services roots are trusted, not only Root CA 1; keepalive lowered to 60 s so a dead socket is noticed within about two minutes.
- Diagnostics show the connection loop's failure streak, last error and session start.
Also
- The Probe thermometer polling interval option now has a label and description in the options form (it showed the raw key).
- Documentation: a per-model catalog of what Govee's APIs returned for every SKU seen in six months of submitted diagnostics (
docs/device-catalog.md, plus §9.7 and §13 of the protocol reference), and a README review against the current code.