Govee Integration for Govee Light, Switches, Plug, and now Appliances

This is a new integration to enable access to all Govee API enabled devices.

First I want to thank @Obi2000 for initially creating the driver some time back that enabled Immersion LED strips. That driver is the basis for the driver used with this integration, but has been heavily modified to work with the integration app.

What are the improvements over the existing driver? Well this integration takes what Obi2000 did a while back and just takes it another level. He created a great driver, but the Govee api has continued to evolve. This integration is intended to enable all of the new features that have been added to the Gove API and streamline the deployment of all of those devices into HE. Along with the existing devices, the new Govee API 2.0 enabled a new class of devices from Govee. These new devices include: Humidifiers, Dehumidifiers, space Heaters, Fans, and potentially more. As Govee add devices to their API they will immediately be available in this integration.

How do you get this software integration

This integration requires 3 things.

  1. The Govee API integration app
  2. The Govee Lights, Plugs, and Switches Driver
  3. The Govee Appliance Driver

You can also use HPM. Simply go to install the app and search for govee. Then install the item that shows up.

You also need to use the Govee Home app on your phone and request a Govee API Key from the help section of the app.

Once you have your Govee API Key and the 3 components above loaded on your hub simply go through the process to install the Govee Integration app. On the first screen there will be a place for you to load your API key.

Once that is populated click on the buttons for Device selection under "Govee Device Add Page" to added Lighs, Switches, or Plugs. Select your devices to add and click on done to go back to the main setup page.

At this point click on the other device selection if you have any appliances like humidifiers, dehumidifiers, heaters, or fans and repeat the process above for them. Again click on the "Done" button when all you want integrated are selected.

Back on the main page click on " Done" one more time and you should end up with all of the devices available at this time.

Enjoy the integration.

Things to know:

  1. A new setting was added to Light,Switch, plug drivers to allow for polling if a device supports status. It defaults to ever 5 min but you can make that shorter if you like.
  2. Appliances are not retrievable at all. We can only send commands. This is a API limitation.
  3. I added a flag for debugging. It may not do much right now, in some cases but it is there and will be enhanced if issues are reported when i do research.
  4. Rate limits are now being displayed in the various devices as they are consumed. If you ever find you are unable to get the driver to work then check that you have not hit that limit by looking at the states on your devices.
  5. One part of this integration that is very ruff, is that i don't have a good method figured out in the main app to manage devices that are already installed vs new devices. When you add a new device you will want to unselect devices that are already integrated in HE. It won't remove them, it just won't attempt to add them again causing a failure for all adds.
  6. I am still working on streamlining the options for the Govee Appliances. Current Gears option refers to either Fan Speed, or mist spead based on the device. Mode refers to mode you would use from your Gove Home app. Both the Gears Options and Mode Options values are shown in the data section for the device if you scroll down.

Last thing is I have limited govee appliances. If you see something not working please feel free to hit me up with the details from the data section at the bottom of the driver. Hopefully i can add something in in short order.

Been waiting for support for their wifi grill thermometer.

Here is the current documented supported device list.

Hopefully they will consider adding it. I suspect they may not though. It seems they only add devices for control and not simply to retrieve states.

That is heart breaking. These is no high temp thermometer for HE yet. I find that unacceptable. Bbq temp probe is the epitome of a device that benefits from smarts.

Huge thanks for this! noob here. It didn't show up in the HPM, but I was able to add through WPM > Install > From a URL > and the packageManifest.json in your github

How did you seach for it. Did you do a keyword search.

The reason I ask is because whe. I click on install new app, then press search by keyword and enter "Govee" it comes up.

It only shows up in "fast" search. No show on "fuzzy" search.

Searched like that myself, didn't come up. Installed them manually and used HPM to match up instead. That worked.

Still no ability to control scenes or anything outside the typical colors/brightness?

That is still an api limitation unfortunately. If Govee changes that it will be added to driver

I just posted a small update to the Lights driver. Simply put a I noticed that the polling didn't appear to be starting properly so I added a few tweaks.

If you see that polling didn't start after the initial setup please just click on the save button for the preferences. That should start the polling going forward.

There are two Govee APIs. The one that needs the API key is the cloud-based one.

There is also a local API which has no key but needs to be enabled in the app for each device. It is important to distinguish between the two. Especially since the cloud one has a very low rate limit.

1 Like

At the time of this being developed the Cloud API was the only method available. It seems the local stuff is brand new and only partially supported on some devices. Not even all hardware revisions of the same device.

A new set of endpoints were added with the V2.0 of the cloud API as well and that is what supports the Appliance devices like humidifier and fans.

I think :thinking: it would be best to have both options available since there isn't complete overlap yet. I need to get a working device for the local api to start testing with it. I have a h6052 which is suppose to be, but doesn't seem to be working with the local API stuff.

As of now it looks like the cloud supports 140 devices while the local API list that it supports 40 devices (when at the right hardware level).

The cloud rate limit really shouldn't be to much of a problem you get with the standard api you get 100 per min or 10k per day. Unless you have allot of govee devices that probably isn't a issue.

The appliance API is different though. It is 1000 per day. But the appliances piece doesn't support statuses so it is litterly just for turning it on or off and adjusting fan speed so how many times do you really need to do that.

Hopefully they do get everything local though.

1 Like

When I last looked the cloud API was 6/minute but maybe that changed.

Anyone tested if this is compatible with the new M1 strip yet?

@user2263 It is in the supported devices list provided earlier in this thread. I would expect it to work then.

@Bob.ma well the API supports 10k calls in 24 hours and 10 per device in a minute. So that means at most one call per 9 seconds for multiple devices with no single device being more frequent then 6 per second to stay under the 10 per min per device limit. Obviously the more devices you have the less frequent each device can be at that point right then to say under the 10k in 24 hours. Then you also need a buffer to make sure you can do actions on each device. This driver sets the default polling value to every 5 min for devices that support it. Personally I would suggest to keep polling to a minimum so only as frequently as you absolutely need it. Then you only need to worry about the 10 per device per min. If you do most or all of your control from HE you shouldn't have any need for polling since it would be controlling it anyways and be aware of the changes.

That said if local is supported that would be better for a variety of reasons, one of which is the removal of rate limits.

1 Like

10 per minute is fine for most switches and stuff. It's anything that allows for dimming that presents a huge problem with the cloud API.

Dimming isn't a problem. It works fine. The problem would be of you want to have something step it up/down instead of just setting the level. There is a reason the driver doesn't support it which is simply that doesn't work well over cloud regardless of rate limits.

Perhaps once the local api gets better support something could be done with that though. It will be rather hub intensive though to do that in the driver, or a app.

I would also urge you to look at a zigbee or zwave bulb if you need dimming over time as it will work much more fluidly.

Here's my use-case. I have Govee Outdoor Cafe lights. I use a Pico Remote to control them. I use buttons to step up/down the level by 10%

When adjusting it, it is very easy to hit 6 API commands inside of a minute.

@jercloud i am curious what is the model number of those.

Download the Hubitat app