finds.dev← search

// the find

wez/govee2mqtt

★ 1,371 · Rust · MIT · updated Jun 2026

Govee2MQTT: Connect Govee lights and devices to Home Assistant

govee2mqtt is a Rust bridge that connects Govee smart lights and appliances to Home Assistant via MQTT. It layers three control paths — LAN (lowest latency, offline-capable), undocumented AWS IoT (near-realtime status), and the official Platform API (fallback) — with automatic failover between them. Written by wez (of WezTerm fame), so the code quality baseline is high.

LAN-first design is the right call: local control means sub-100ms response times and no cloud dependency for lights that support it. The three-tier control stack (LAN → IoT → REST API) is well thought out — devices that don't support LAN still get low-latency updates via the AWS IoT path. Snapshot-based tests against real API responses (the __k9_snapshots__ directory) mean API quirks from specific devices get regression coverage, not just happy-path mocking. Ships as a proper HASS add-on with a devcontainer, Docker, and cross-compilation scripts — not just a 'clone and figure it out' project.

The AWS IoT path uses undocumented, reverse-engineered credentials from your Govee account — Govee can break this at any time and has done so before with similar integrations. Device support is SKU-list gated (see docs/SKUS.md), so you need to check before buying hardware; there's no graceful degradation for unsupported devices, they just don't appear. The built-in web UI is a single-page Bootstrap app with vanilla JS components bundled in the repo, not served from a CDN — minor but it's a maintenance surface nobody will touch. No Rust workspace structure despite the project size; everything is one crate, which means the full rebuild is slower than it needs to be as the codebase grows.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →