Skip to content

v2026.6.16

Choose a tag to compare

@lasswellt lasswellt released this 21 Jun 10:43
· 6 commits to master since this release

LAN reality probe (issue #57)

Builds toward native local LAN support by measuring the real Govee LAN data surface from users' own hardware — capturing diagnostics only at this stage, no control changes.

Added

  • LAN reality probe in diagnostics — after LAN discovery, each discovered device is sent a read-only UDP query battery (devStatus, the rarely-used status command, and a unicast scan) and every datagram it emits is captured verbatim, unfiltered. We deliberately don't trust other integrations' field lists — the goal is to record what the firmware actually exposes (e.g. whether the status reply's pt BLE-passthrough hex carries segment/scene/sensor state the documented 4-field devStatus omits).
  • Per-device lan_raw (full capture), status (devStatus summary), and commands_answered, plus a fleet-wide commands_answered map, in the diagnostics download.

Safety

  • Strictly read-only — no control verb (turn/brightness/colorwc/ptReal) is ever sent; a diagnostics download never mutates device state.
  • Hardened PII redaction — value-level scrubbing of any MAC (→ stable hash) or IPv4 (→ REDACTED_IP) anywhere in the capture, on top of key-name redaction, since the probe retains unknown keys. Firmware version strings are preserved.
  • Passed an adversarial critic review (read-only safety, redaction, never-raise contract, UDP correctness, test quality).

Notes

  • Diagnostics-only; LAN→MQTT→API transport priority is the planned next phase.
  • 997 tests passing; mypy, flake8, Black clean.

Full changelog: v2026.6.15...v2026.6.16