Your lights. Your network. Nobody else's business.
A local-only Android controller for Govee Wi-Fi lights โ no cloud, no account, no nonsense.
The official app wants always-on precise location, ships analytics SDKs, and routes your light switch through someone else's server. Your lights are on your Wi-Fi โ they'll take commands directly. So that's all this app does.
| Access | Official Govee app | LAN Lights |
|---|---|---|
| Precise location ("all the time") | Required | Never asked |
| Cloud account / login | Required | None |
| Analytics & crash trackers | Bundled | None |
| Bluetooth / camera / NFC | Requested | Not declared |
| Works with internet down | Partially | Fully |
| Traffic leaves your LAN | Yes | Never |
Everything a wall of RGB deserves, driven entirely over UDP on your own subnet.
Multicast scan finds every LAN-enabled Govee device in about a second. Multicast blocked by your mesh? Add by IP instead.
RGB sliders, 12 presets, white temperature 2000โ9000 K, and a whiteness blend for pale pastel shades.
Day-of-week timers and sleep countdowns fire via exact system alarms โ app closed, screen off, doesn't matter. They survive reboots.
Separate weekday and weekend on/off lists, as many switch times per day as you like. New lights join automatically.
Color Fade, Sparkle, Breathe and Candle, streamed from your phone with a live speed slider. Honest label: they stop when the app closes.
Model-agnostic protocol: any Govee device with the LAN Control toggle works โ including ones you buy later.
Govee's documented LAN API is plain JSON over UDP. Three ports, no auth, no cloud broker. If you can read this, you could script it yourself with netcat โ this app just makes it comfortable.
// discovery โ multicast to 239.255.255.250:4001
{"msg":{"cmd":"scan","data":{"account_topic":"reserve"}}}
// set color โ unicast to the light on :4003
{"msg":{"cmd":"colorwc","data":{"color":{"r":255,"g":80,"b":40},"colorTemInKelvin":0}}}
One-time setup per light: flip the LAN Control toggle in the official Govee app (device โ settings gear). After that, you can sign out of โ or uninstall โ the official app entirely. Full protocol docs: Govee LAN API guide.
Android 8.0+ (sideload the APK) ยท lights and phone on the same router (lights use 2.4 GHz; your phone can be on 5 GHz) ยท a Govee model on the LAN API list โ tested with the H607C Floor Lamp 2 and H6168 TV Backlight.
Give each light a DHCP reservation so timers always reach it ยท mesh routers sometimes filter multicast โ "Add by IP" sidesteps that ยท leave lights on a static color in the Govee app to avoid firmware scene conflicts.
Govee's built-in DIY scenes aren't exposed by the LAN protocol โ they're cloud/BLE only. So this app generates effects by streaming rapid local color commands from your phone. Close the app and the stream stops; the light simply holds its last color. Trade-off accepted in exchange for zero cloud.
No โ the sync box isn't on Govee's LAN list; its local path is Matter. The good news: its HDMI sync effects run on the box itself and keep working without any app at all.
It was left running a firmware scene (or music mode) by the official app, and the scene engine is wrestling your color command. Unplug the light for 10 seconds and it reboots into its saved mode. Prevention: leave lights on a plain static color when you finish with the Govee app.
Android requires it for any socket use, including LAN-only UDP. Every permission the app declares is an install-time "normal" one โ you will never see a runtime permission prompt. Verify it yourself in Android's App info โ Permissions.
Please do. Put a packet capture on your network: you'll see UDP to 239.255.255.250:4001 and to your lights' IPs on 4001/4003, replies on 4002 โ and nothing else, ever.