Many Govee lights can be reached directly on your home network, without going through Govee's cloud. The plugin finds those lights automatically. There is nothing to set up in the plugin: lights that answer on the local network are marked Connection: LAN in an action's What this light supports panel; all others use the Govee cloud as before.
For those lights, power, brightness, colour and colour temperature go over the local network: keys and dials react in milliseconds and keep working when the internet is down, even after a restart. Setting up a key still needs the internet, because the light list comes from Govee's cloud. Each command is checked; if a light didn't react, the plugin sends it again through the cloud. Scenes, segments, music modes and snapshots always use the cloud, because Govee's local API doesn't offer them. Automation (turning lights on at wake and off before sleep) also goes over the local network, which makes "off before sleep" much more reliable.
Within about a minute, open the light in any action and expand What this light supports. It should say Connection: LAN.
The first time the plugin looks for lights, macOS asks whether Stream Deck may find devices on your local network. Choose Allow. If you chose Don't Allow, the panel shows Local network access blocked. To allow it again:
Windows may ask whether to allow Stream Deck (or Node.js) on private networks. Choose Allow. If you dismissed it:
Govee lights reply on UDP port 4002. If another program on
the same computer already uses it (for example Home Assistant,
Homebridge or govee2mqtt), the panel shows LAN port in use and
every light uses the cloud. Run that program on another machine, or quit
it and restart Stream Deck.
Only Govee's documented LAN messages: a discovery request to the
multicast address 239.255.255.250 (port 4001),
status requests and commands to each light (port 4003), and the lights'
replies (port 4002). Nothing leaves your
network for this, and no API key is involved. See the
privacy policy.