Govee API integration with WLED

There has been some work in HA as well as Homebridge for Govee integration using the LAN API(https://govee-public.s3.amazonaws.com/developer-docs/GoveeDeveloperAPIReference.pdf), however, what I am looking for is if anyone has created a usermod to make the govee lights a segment directly in WLED by making the API calls. This way WS28xx lights that are directly connected to my ESP32 could sync and run effects with existing Govee lights without hardware modification. Specific use case I have is that I would like to run my current 12v ws2811s and ws2815s (12v) with the 24v flood light options from Govee since the spotlight options are limited or need to be custom built. I am not a fluent programmer and have attempted from samples, but fail miserably. Any assistance would be appreciated.

I am aware of the Govee limit for the cloud API calls(10 per device per minute/10000 total per day), however, I am not sure if there is a limit per the local lan calls.

1 Like

I am also interested in this topic. However, I also am not a fluent programmer. How do we make this a feature request?

Copy me in…

Hiya guys, just wondering if there’s any update on this? Cheers

Nothing new as of yet. I may be able to start tinkering with it this month, however, I am novice as far as experience in this matter. I will work on controlling via postman but compiling as a usermod I will likely need help with.

Having a t1 strip is be interested in seeing what comes from this…

Ok, so I have figured out the API calls and can control any lan based Govee light from API. I have tested H604D, H619Z, H7065, H7061, and H705B. All that really needs collected is the mac address and device model after API key is retrieved by Govee. What I am not good at is python. I know that Eufy will allow WLED control for their lights, but not sure the interface. If anyone has a template where I can insert the API into the python code, I would be willing to give it a shot.

I know you ‘can’ modify the Govee hardware and interrupt the data line to the govee strings, however, local LAN control would be prfered to avoid wire cutting/splicing as well as support using native govee app OR WLED as options. Any thoughts or assistances would be much appreciated.

Example:

curl --location --request PUT ‘https://developer-api.govee.com/v1/devices/control
–header ‘Content-Type: application/json’
–header ‘Govee-API-Key: APIKeyfromGovee’
–data '{
“device”: “macaddress”,
“model”: “H6076”,
“cmd”: {
“name”: “turn”,
“value”: “on”
}
}

curl --location --request PUT ‘https://developer-api.govee.com/v1/devices/control
–header ‘Content-Type: application/json’
–header ‘Govee-API-Key: APIKeyfromGovee’
–data '{
“device”: “macaddress”,
“model”: “H6076”,
“cmd”: {
“name”: “brightness”,
“value”:50
}
}

curl --location --request PUT ‘https://developer-api.govee.com/v1/devices/control
–header ‘Content-Type: application/json’
–header ‘Govee-API-Key: Youknowthedrill’
–data '{
“device”: “sameasabove”,
“model”: “H6076”,
“cmd”: {
“name”: “color”,
“value”: {
“r”: {{red}},
“g”: {{green}},
“b”: {{blue}}
}
}
}

curl --location --request PUT ‘https://developer-api.govee.com/v1/devices/control
–header ‘Content-Type: application/json’
–header ‘Govee-API-Key: 123456789’
–data '{
“device”: “10111213”,
“model”: “H6076”,
“cmd”: {
“name”: “colorTem”,
“value”: 7000
}
}

curl --location ‘https://developer-api.govee.com/v1/devices’ \

–header ‘Govee-API-Key: getthosedevicesandcreatevariables’

curl --location ‘https://developer-api.govee.com/v1/devices?device=macaddress&model=H6076’ \

–header ‘Govee-API-Key: thisonegetsdevicestate’

One thing I am also watching is the polling as there is a limit to how many calls can be made.