Godox BLE Mesh — control Godox lights already paired to the Godox app

Sharing a small Home Assistant custom integration for Godox Bluetooth Mesh lights (built and tested on TL60 units).

Why this exists

Godox’s lights run standard Bluetooth Mesh under the hood, and there’s already a great community integration for them: binary-person’s ha-godox-mesh (see their own thread here: Godox Mesh lights integration (186 models supported, need help testing) — huge amount of reverse-engineering work, 186 models, well worth checking out).

What I ran into: ha-godox-mesh’s “add to this mesh” feature does real Bluetooth Mesh provisioning, which only works for brand-new, factory-reset lights. My lights were already paired and configured through the Godox phone app, and I wanted to add more than one of them to Home Assistant sharing a single Bluetooth connection — which meant re-provisioning them away from the app, which I didn’t want to do.

So this integration takes a different, narrower trade-off: it never provisions anything. It only talks to lights the Godox app has already paired, using the network key + app key the app already set up — never a device key, never touching the app’s own pairing. The direct consequence is it can’t bring a brand-new light onto the mesh by itself (you still pair that in the Godox app first) — but in exchange, setup needs nothing but keys + addresses, and one Bluetooth connection serves every light you add.

What it does

  • Import setup: paste the Godox app’s own mesh export (the same GodoxLight.db → meshJson data) and the network key, app key, and every light’s name + address are picked up automatically — no manual hex/decimal entry.
  • One shared connection: one config entry, one Bluetooth connection, as many lights as you add under it.
  • Automatic sequence-number probing: Bluetooth Mesh’s replay-protection floor is found automatically on setup and re-probed on demand, instead of guessing or running a script by hand.
  • Real light control: uses Godox’s own vendor opcode (0x0211F0) — confirmed on real hardware that standard Bluetooth Mesh On/Off flips a status flag but does not change the light’s actual output.

Scope

Built and verified on a mesh of Godox TL60 units (on/off, brightness, colour temperature). The import filters on Godox’s Bluetooth SIG company id (0211), so other Godox mesh lights sharing the same vendor protocol will likely respond too — but per-model specifics (CCT range, extra controls) aren’t handled yet. Full write-up of the protocol and crypto is in the repo’s docs/HOW-THIS-WORKS.md.

Install

HACS custom repository: the GitHub link above (category: Integration). Full setup steps are in the repo’s README.

Credit again to binary-person and ha-godox-mesh (linked above) — their protocol work and the discussion in their thread is what made cross-checking the vendor opcode and frame format possible here. If you have more Godox mesh lights than just TL60s and want to help confirm this works on them too, that’d be very welcome.