Govee Integration V2

Going forward I wanted to separate the V1 and V2 versions to help with clarity and documentation. Please use this thread to reference the V2 version going forward

This new version of the Govee Integration brings with it a few important things.

  • We now have access to a new Govee API that was released in December of 2023. This api brings along allot of new features and commands to enhance our ability to use our devices.
  • Standardized code to ensure that one change fixes problems across all devices that use similar functions. This should make the application on Hubitat more reliable and flexible to respond to changes
  • More devices and more types of devices have been enabled to work with the new APi.
  • All of the existing functionality is still present so nothing has been lost.

How do i get “Govee Integration V2”

There are two ways to get the integration is

You can install the bundle from Github in my repo here. This is less optimal since you won’t be notified of updates and this integration is in a fairly constant state of flux with all of the development on Govee side.

The best way to get the new integration is through HPM(Hubitat Package manager). HPM will help keep you updated as changes.

Simply go to HPM. Click on the Link to install a app. Click on "Search by keywords". Make sure the switch for "Fast Search" is turn on. Then type in "Govee" in the search field and click the "Next" button. You should see Govee Integration v1 and Govee Integration V2. Select the correct app and complete the install.

You also need to use the Govee Home app on your phone and request a Govee API Key. Do this by following these directions. This is valid for v5.9 of the Govee home app and may change as it is updated.

  1. Open the Govee Home App on your phone
  2. Click on the little person icon in the lower right corner.
  3. Click on the Gear icon in the upper right corner
  4. Now about ⅔ down the screen you will see a option for Apply for API Key. from the help section of the app.

Once you have your Govee API Key and the 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 “Done” button at the bottom to save that setting. Then open the app up again and new options will appear that are used to setup devices that use the cloud API.

Click on the buttons for “Device selection” to add be able to select your devices.. If your options are blank or if the device you want to add is missing under the “Which?” selection box click on the button to “Refresh Device list”.

Once all devices that you want to add are selected click on the “Next” or “Done” buttons in the lower right corner until you leave the app to trigger the device setup and configuration.

You must do this all the way out to ensure that setup of the devices completes properly.

If your devices support it you may want to enable Local LAN control. Now is the time you can set this up if your devices support it. The list of supported models can be reviewed here. Here are the steps to activate local LAN control.

Lan Control should only be turned on if you have confirmed your device supports it. You can confirm that by opening up the Gove Home App, clicking on the device you want to control, then clicking on the Gear Icon in the upper right corner. You may need to wait for 5-10 seconds, but if you see the Lan control options as shown in the image below it is supported.

Turn the toggle so it is on in the Govee Home app. Obtain the IP address of your device. Then go into HE and turn on Lan control for that device and click save. A new box will appear asking for the device's IP Address. Please enter it now and click on save again.

Things to know:

  1. The new api was just released and as such is in a fair amount of flux as it is being enhanced. There is no doubt that Govee wanted to ensure control parity but there have been occasions were that hasn’t been the case.
  2. This is a brand new API and as such at times things are flaky. If you want the absolute most reliable control and the functions of V1 are enough for your use case it may be more reliable to use it instead.
  3. The new Govee API combines all devices into one api with the same 10k call rate limit. In theory this is a lot better for the Govee Life products than it used to be, but all devices have the ability to do status lookups. We just need to be aware that this can mean we have to be a bit more careful with devices that previously couldn’t do status lookup.

Potential issues:

  • I know I have said it a few times before but this new Govee API is very new, and is still actively being added to. If something breaks or simply isn’t working please let me know and let's get a ticket opened with Govee support as quickly as possible to work it to resolution.
  • Some of the new commands on some devices appear to be a little flaky as to whether they will work or not. Particularly the Segemented color, Segmented Brightness, or Dreamview Toggle commands. The folks working on the new API at govee have been hit up pretty hard for those commands not working as expected so they are looking into it and it will likely get better. I suspect there are devices that had the commands assigned to them and shouldn’t have.

You can also help me get more govee products to ensure support by visiting this link with a 10% discount.

7 Likes

Reasons to use Govee Integration V2

There are allot of new functions that came with the new API from Govee. Here is a list to name a few:

  • Support for Segmented color control
  • Support for Segmented brightness Control
  • Support for Scene activation
  • Support for Snapshot activation
  • Support for DIY Activation
  • Support for Event based triggers for things like out of water on humidifier (coming soon)
  • Set Desired humidity on Humidifiers
  • Set Desired Temp on kettles and heaters
  • And more

Support for a wider range of devices

  • Lights
  • Plugs (multi-outlet included)
  • Humidifiers
  • Kettles
  • Air Purifiers
  • Temp/Humidity sensors
  • Presence sensors
  • Ice Maker
  • Space heaters
  • Aroma Diffuser
  • And this list keeps expanding.

Status lookup for devices via query, and in some cases new sensor reports as well such as space heaters reporting there detected temp.

You want to be on the cutting edge and like the pain of being a early adopter :slightly_smiling_face:

Reasons not to use Govee Integration V2

  • Your have devices that are just not working but were reliable in V1. This has been found on occasion to be the case and we can bring it up with the folks workin on the API but there is no great way to know when it will be addressed.
  • You just don’t need the added functions. So the benefit is very limited.

I would strongly suggest if you are migrating from the V1 Integration to V2 you install them side by side and test each device as you go. The V2 Integration is designed to be installed side by side with V1 so you can have the same device on each version and test it out

Out of my 25 devices when i initially migrated i had 2 devices that were just a no go in V2

4 Likes

@mavrrick58

Thanks so much for HE Govee integration work! I am looking forward to testing V2.

I visited the Govee website which I had no idea they sold these integrated devices and just ordered the GoveeLife Smart Electric Kettle Lite (regularly sells for $59.99) at an amazing Valentine's day 35% discount (no shipping charges) plus your personal 10% discount code!

Now, I can work uninterrupted and voice command Alexa to "Make me some green tea, please"... Bam, hot water!

1 Like

@mavrrick58 seems like the HPM v2 version isnt installing things correctly. tried multiple times.

I just installed Govee V2 this afternoon on C-7 hub with HPM 1.9.2 and it installed perfectly, although took quite a while to install the 28 groovy files that make up the V2 suite.

The Govee package manifest only points to a zip bundle file. Double check your version of HPM to be v1.9.2 or higher, as several HPM users have reported that their version HPM at lower release does not work with bundles.

You could also install V2 manually with the Govee developers post above, but HPM is WAY preferred way to go as V2 future updates will notify you from HPM. Here is the link to the Govee_Integration_v2.zip which you can manually 'Import' into your hub using the Bundles view.

1 Like

As @KurtSanders pointed out you need to be on a recent version of HPM for the install to work properly. I believe you need a minimum of 1.9.1 to be successful installing it because that is when the timeout value was updated by my request. I think it was increased again with 1.9.2. The Govee Integration v2 uses the Bundle capabilities in Hubitat to deploy the entire integration with one file. The integration though consists of many different things which each take time to deploy. There is one main groovy app, 6 library files that consist of shared code for drivers and the main app, and then 21 Drivers. Because of the way bundles work it has to finish installing all of them before HPM believes it is successful and moves on.

The reason for so many drivers is simply the quantity of devices it is supporting. Govee at this point has over 190 devices that we are trying to support. That said some of the drivers only work for one or a few devices. There is still a chance more drivers will be introduced as some of the newer devices that are being added are included. I am in the process of trying to get a presence sensor to write that driver. That will allow us to have a MMwave motion sensor through this integration.

One of the items i am looking at now is a new toggle that was added recently for DreamView(Music and Movie). I suspect i will need a few more drivers for that as well.

I am fairly new to Govee and your integration. I spent a number of hours trying to get things working with a couple of my Govee Air Purifiers and Humidifier. The result so far is that I have one Air purifier that only seems to work on V1 (H7122), and one Air purifier that only works on V2 (H7126). I haven't gotten to the Humidifier yet. With the H7126, I am able to control entirely from the device in Hubitat, but I am having trouble finding the correct parameter format in Rule machine to get any results. I'll make another post with what I am trying to do and maybe you can help. I had no trouble in Rule Machine controlling the V1 (H7122), but the V2 (H7126) parameters seem to work differently and I tried a few variations with no luck.

I can't get this app to work at all.... it finds no devices even though I have a govee H6163 LED addressable strip.

Well cancel that... it strangely worked after trying to get devices after 4 tries... go figure.

In V1 the mode command used a single Numerical parm, but in V2 The working Mode command uses two parms. The first parm values are what is shown in the drop downs of the command in the UI. So they would be "gearMode", "custom, "Auto", or "Sleep". The second parm depends on which option you pass for the first. If you pass "gearMode" the second parms are likely "1" for Low, "2" for Medium, or "3" for high. If you use "Custom" for the first parm then you need to pass a numerical value 1 through something that is based on your device. With Auto and Sleep just pass 0 as the second parm. You can validate these values by looking at the State value for workmode on the device page. It will look something like this. This is my state value for my H7122

The difference for these devices is now you can specify the fan speed you want instead of just using the mode speed. It makes passing parms from RM a bit more complicated though.

This is a post I made a while back about this exact subject for V2. It is for a humidifer, but the method is the same.

Thanks. Yes, I saw the parameters, but wasn't sure how to format them.
Separated by comma? Does the text string get quotes?
I'll check your linked post...

I just released 2.0.18 with one potentially exciting changes for some users. What was modified in this release

  1. I made further refinement to the display and management of scenes information. There were a few things about the previous change that didn't work exactly right.
  2. This change will introduce two new drivers
    a. A new driver was created for devices that have SegementedRGB control but not brightness that wasn't done before and was just missed
    b. A new driver was created to add a toggle option for devices that can act as Dreamview Sync devices for Dreamview Movie groups or Dreamview Music Groups. Once you create the Dreamview sync group in the Govee Home app you should know be able to turn it on and off from Hubitat with the new driver.
  3. With the new drivers I had to update the main app to assign to the correct devices when they were added.
  4. Updated Light Drivers to set effectNum to 0 when they are initialized.

Unfortunately, i don't know of a good way to change the driver on a device programmatically at this time. If you already have your device installed that can act as a Dreamview Sync device then you will need to change the driver manually to the new driver which is called "Govee v2 Color Lights Dreamview Sync". If you don't want to do it manually you could also just remove the device, refresh your device list, and then re add it.

Enjoy the update.

4 Likes

That helped, thank you. Got it working in Rule Machine - One using V1, and the other using V2, for some unknown reason. I appreciate all your help.

1 Like

Finally got to my humidifier (H7142)
Everything seems to work with driver "Govee v2 Humidifier with RGB Driver" except the RGB nightlight does not respond to color, hue, level, light on, light off. That's only the night light - tested directly on the device page. All other (humidity related) functions seem to work.
Just FYI.

@mavrrick58

My Govee electric kettle integrated perfectly to HE using your Govee V2 app. Thanks for this great integration! Here is the child device with all the events and meta data.

1 Like

Just to follow up on my own post, after some discussions with mavrrick58, this is unfortunately a limitation of this particular humidifier. Night light only available in the Govee app, not exposed in the external API.

need to update documentation i can confirm the h7050 does work with local control, but the icon in the phone app does NOT appear to enable it until you turn off bluetooth on your phone and reconnect to the device.

couldnt use version 2.. it went nuts when i was just trying to turn on off different colors..

ie

also in both integrations there doesnt seem to be a way to disable a scene once set.. even setting to scene 0. for instance turningon red then goes to magenta after red.

it appears the scenes are still active in the background

ok i give on on govee.. the fade command seems to tie up the device not sure if it is how you implemented it or a bug..

but a simple fade down from 100 to 1..
goes crazy with 100 commands,, and then when i try to change color and fade back up it is another 100 commands which overwelms it..

in other rgb device fade is a single command handled by the device.. is this a bug in the govee stuff or just how it was implemented by you.. happens in both v1 and v2.

thanks

ya from looking at the govee api there is no fade in or fade out.. so apparently you implmented it this way which really doesnt work.. bummer

so as long as i dont use the built in rgb fade command in hubitat they seem to work fine.. even in v2.. good to know.. i will put a warning in my garden hue app not to use the fade up and fade down options with govee lights.

Was there anything in the logs on Hubitat. This is the first i have heard of this happening so i would need some details to help me troubleshoot.

You would need to simply set the device to something different. Simply setting the device to a CT or Color should disable the Scene.

So simply put this is unfortunately working as designed. It isn't the best implementation, but it does work. Govee doesn't have a fade option so i have to do the fade completely in the driver. The driver will take the fade you provide it and the time you provide it and calculate the time for each step to fade. By default it steps in 1% increments

What this means is if you go from 1-100 that is 100 steps. Then if you tell it 6 seconds it will try to do a call for each step every 60ms which is bad for the hub. At best the Hub (c8 Pro may be faster) can do 1 call about every 1500ms. This is also why there is an option on the drivers to set the "% Change each Increment of fade". That will allow you to set it adjust by 5% per interval so that would decrease the number of changes from 1-100 to 20 instead of 100. If you want fade over a short time either don't, or adjust that value to try to keep the number of changes to about 1.5 seconds apart.

This is largely because the device is a wifi device and doesn't have the fade function built into it. Most zwave bulbs support fade natively.

I see you edited your initial post while i was typing this. You are exactly right. The key is it wasn't really intended to a fade over a few seconds, but over a period of lets say 5 or 10 min. In that use case it works great.

1 Like

I just added a request on the govee api discussion board to get the fade functionality built into their api officially. Lets see where that goes.

1 Like

Unfort in my testing it didn't at least in the h7050 outdoor garden lights. will try again and confirm. But when i did the light did indeed go to the rbg color i set but on next change ie a sec or two the scene started up again.