Govee Immersion LED Strip Driver - Govee Cloud API

Yeah, I would love a fork like that, with some monitoring.

As far as setting how often a device is called, where would I do that? Sorry for the noob question, my knowledge ranges from utter ignorance to advanced beginner, depending on the context...

Would this work with the govee outdoor string lights?

Probably, it seems to work on all the lighting. If you get the exact model number though it can be checked against the API docs which list all the models it supports.

1 Like

If you lights have wifi and are able to work with alexa it is a good bet this driver will work. If they only mention Bluetooth then most likely not.

When I put in the code to grab the MAC address, I get this returned:
curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.

what am I doing wrong here? probably something simple.

Hi all,
Hope you're well!

I've just started this thread: RGBIC Hubitat control - #5 by user692

I am hoping to integrate the Govee H6144 RGBICC light strip, but before I buy it I wanted to double check if this driver is compatible please? I've noticed the post from January 2021 mentioned it wasn't, but I am hoping that it is no longer the case?

Thanks!

Not sure why you would heard it wasn't supported. It is in the table I posted above and i just checked the latest API documentation and it is there as well.

One thing i would check though is that there isn't a newer variant of it today. That strip has been around a little while and i would expect something new has probably been released to replace it.

Generally speaking if it uses wifi and works with Alexa it will work with HE and Govee's cloud API. Just remember as of right bow not all configuration options in the Govee app are not avaliable via the API.

Hi there,
Thanks for the reply.

I must have read the above wrong then...
Assumed that the blanks next to the model number meant they were incompatible.

I've ordered a strip to give it a try.

Thanks again!

Ok sorry that table is what is in the Govee documentation as supported when that post was made. The blanks just mean i haven't heard from folks to comfirm what is fully supported by particular functions.

I would also point out that now that table is old. It wasn't long ago Govee added a bunch of new devices to the API so it is probably a 1/3 of the really supported devices listed.

Govee add your wifi bbq probe h5198. Argh, how many of us here would buy a quad temp probe that's capable of very high temps?

@Obi2000: So I just tried this with my Govee Hexa Pro (model # H6066) and all the features in the driver work. I was also very pleased by how FAST it responds compared to other APIs I deal with. Awesome work and thanks for all the effort!

I have just a few points of feedback/requests:

  1. Feedback: Please change the Preference from "Device Mac Address" to just "Device Address" or "Govee's Device Address". The address they provide is not a MAC (not even an IPv6 conversion that I can tell) and just appears to be some internal addressing schema they came up with. So it might be better to help prevent anyone's confusion so they do not think it is a MAC and copy it from their network info (in spite of your instructions).
  2. Feedback: If the device is not responding to commands (like if someone gave it the wrong address...) the Current States should not change. They should only change when the driver actually gets info from the device saying what the results were. So every time I changed something the device said it worked... but the actual thing on the wall did not. Then I remembered about the address... got the right one... and everything started working fine. So yes, I started with user error but it still should not act like it was working.
  3. Request: The H6066 is a multi-panel unit capable of having each of the 10 panels show 3 different colors (each panel has 3 sections) to give them something of a 3-D cube effect. Each of those 30 total LED sets (there are also versions that have 6 panels, so 18 sets of LEDs) can be set for a separate color OR the whole thing can be set to a wide range of sequences and such. I do not know HOW those could be set in the API but it would be nice if at least the sequences could be activated (have the "sunrise" one come on in the morning for example).

I would be happy to assist with whatever logging/info you might need for this. I have not dug into the code myself, thought I should ask first.

But at the very least @mavrrick58 can now add the H6066 to the supported device list!

Hi Guys,

So I ended up getting a H619A instead and it works a treat.

The only couple of issues I have is:

  1. I am unable to use the IC function, I am assuming that this is a limitation of the integration / hubitat and can't be made to work?
  2. If I make any changes in the Govee app these don't sync with Hubitat i.e. On / Off, colour etc.

Are there any ways around the 2 "issues"?

Thanks!

@snell

  1. Seems reasonable enough to do. It is just adjusting the label in the configuration item. Though the documentation as you said above explains this.
  2. Though I understand your point the driver will show you the errors if you look at the live logging.
  3. This is unfortunately a limit of the Govee API. Simply put the API has the ability to control on/off, Color of the whole device, Brightess, Color Temperature.

We have been asking for other the API to be expanded for some time. Unfortunately, it just hasn't happened yet.

@user692

  1. That is a limit of the Govee API as stated above.
  2. Becuase this is a wifi/Cloud based device it requires polling to get status changes made outside of HE. The driver does not have that built in automatically, but can easily be done with a rule in RM. You just need to be very careful about refreshing the status to frequently. Govee does implement Rate limiting and the more devices you have the quicker those calls get eaten up.

I don't think Obi2000 has been on these forums since nov 21 so i don't know if any changes to this driver from him are coming. I have had a few ideas on how to work on this driver though so maybe i will take a look to integrate some of them. @obi2000 did a great job getting it started though.

1 Like

Gotcha for #1 & #3.

My concern is for #2... If someone is looking at the driver it LOOKS ok (especially if they are doing something remotely, maybe to give the house a lived-in look while on vacation). Chances are they will not look at the log to see errors because it "worked". I would never want to have to check the device logs just to see if the stuff I saw working actually worked. But this is admittedly a "user failed in the first place" error when I caused it. But is that the only time it happens (Ex: what if the API servers are down or some other oddity)?

I did not realize @obi2000 was on a hiatus (or gone). Happy to provide any testing or such I can if you start working on a new/updated version.

Yea.. I get what you are saying and don't exactly disagree. I think what may help would be a integration app that ensure they get added into HE correctly. I am looking at that now to see if i can figure that out. Then at least you know they are added properly. No promises on that though. That said I do think it is important for folks to learn to review the logs. We will see what I come up with

No problem! It is great that you are even looking into this. There has been some good luck lately (for me at least) with some old projects getting picked up by people. It makes me want to get some more improvements on some of my own so I do not seem like such a slacker.

:wink:

Well I just figured I would give you an update on what i have done so far. I have a kind of ruff integration app that will go to Govee and retrieve what devices you have that support the APi and then add the devices to HE. The problem is that atleast right now it isn't populating the configuration of the device driver. So it isn't really a drop in to simplify it. I don't see any option right now to pass the configuration. I have tried a few things and so far nothing seems to work.

The only option i do see now is to essentially make the device drivers essentially virtual and then just manage all the integration from the smart app. It would be something like when you make a change to the device in HE it would then update and that would trigger through a device event to the smartapp to tell Govee to do something. Then the Smartapp could manage the devices with a polling of the Govee cloud and then updating the device from it.

I hope that makes sense. The problem is that this would be a huge departure from the current driver that actually just works. Not sure of the benefit.

To pass the config from the app to the devices, you should look at saving the config info to the device "Data" and not in the parameters. You can read/write data to a device from an app.

You should also be able to set the parameters as well, you just need the device wrapper for the child and then call the same command you would call from within a driver. The command to set a parameter is a little tricky though and if its done wrong sometimes it just doesn't work, no errors.

@jtp10181

Wonderful suggestion and i already have it working with this change. A slight change to the driver and now using the new data fields instead of parms. Since these would need to be set by the app I will actually go this way to remove the chance of them being broken once configured.

1 Like

So incase someone wants to try it I did some cleanup of the files and published them on github.

Govee integration app can be imported with this Govee Integration app by Mavrrick

Obi2000's Modified driver to work with the integration app is Obi200 Govee Immersion LED Strip Driver

Added appliance driver Govee Appliance Driver to allow for new integration with 2.0 version of the API

The advantage of using the integration app is that literally all you do is put in your API and then select the devices you want added. If it isn't supported it won't show up, if it is it will.

It isn't perfect though.

  1. The first time you add devices you can add as many as you want. After that you will need to unselect the existing devices and only select devices to add the next time.
  2. it won't remove one at a time if you desire to do that. so keep that in mind. ofcourse you could remove them manually from the device's page.
  3. The Govee api supports more then simply led light strips. Though the driver will likely work with all of it, since it's focus was on the LED strips there may be allot of extra options for devices that don't use all the functions. You an review the Data field near the bottom of the devices to see what commands your device supports.
  4. I didn't do anything for polling, or to deal with rate limiting. we will see if that is actually needed.