[APP] Govee - Making your life smarter

The Local API Status tab is a nice addition. Is local discovery of lights available on the Self Host Server version of Homey? My Homey Pro discovers local lights just fine, but I’ve yet to see them on SHS.

SHS is primarily a very different layers of infrastructure. If it is supported depends on how you setup the infrastructure. And I can not help with that. What it needs is the broadcasts over udp needs to be able to reach the port of the SHS and vice versa. I know I could not get it to work even in Homey development docker images.

1 Like

Hello, I am new to the platform. How do I install the test version? The installed version is v2.15.2.
I have tested with Wi-Fi and with the official Homey LAN adapter, and in both cases, I get the same result: it doesn’t find the device.

My native language is not English, sorry if I’m not expressing myself correctly.

Thanks

Now i have the test version but not detect any device with local API


Result of API test:


{
“code”: 200,
“message”: “success”,
“data”: [
{
“sku”: “H6076”,
“device”: “35:D1:D6:50:84:86:6F:71”,
“deviceName”: “Floor Lamp Basic”,
“type”: “devices.types.light”,
“capabilities”: [
{
“type”: “devices.capabilities.on_off”,
“instance”: “powerSwitch”,
“parameters”: {
“dataType”: “ENUM”,
“options”: [
{
“name”: “on”,
“value”: 1
},
{
“name”: “off”,
“value”: 0
}
]
}
},
{
“type”: “devices.capabilities.toggle”,
“instance”: “gradientToggle”,
“parameters”: {
“dataType”: “ENUM”,
“options”: [
{
“name”: “on”,
“value”: 1
},
{
“name”: “off”,
“value”: 0
}
]
}
},
{
“type”: “devices.capabilities.range”,
“instance”: “brightness”,
“parameters”: {
“unit”: “unit.percent”,
“dataType”: “INTEGER”,
“range”: {
“min”: 1,
“max”: 100,
“precision”: 1
}
}
},
{
“type”: “devices.capabilities.segment_color_setting”,
“instance”: “segmentedBrightness”,
“parameters”: {
“dataType”: “STRUCT”,
“fields”: [
{
“fieldName”: “segment”,
“size”: {
“min”: 1,
“max”: 7
},
“dataType”: “Array”,
“elementRange”: {
“min”: 0,
“max”: 14
},
“elementType”: “INTEGER”,
“required”: true
},
{
“fieldName”: “brightness”,
“dataType”: “INTEGER”,
“range”: {
“min”: 0,
“max”: 100,
“precision”: 1
},
“required”: true
}
]
}
},
{
“type”: “devices.capabilities.segment_color_setting”,
“instance”: “segmentedColorRgb”,
“parameters”: {
“dataType”: “STRUCT”,
“fields”: [
{
“fieldName”: “segment”,
“size”: {
“min”: 1,
“max”: 7
},
“dataType”: “Array”,
“elementRange”: {
“min”: 0,
“max”: 14
},
“elementType”: “INTEGER”,
“required”: true
},
{
“fieldName”: “rgb”,
“dataType”: “INTEGER”,
“range”: {
“min”: 0,
“max”: 16777215,
“precision”: 1
},
“required”: true
}
]
}
},
{
“type”: “devices.capabilities.color_setting”,
“instance”: “colorRgb”,
“parameters”: {
“dataType”: “INTEGER”,
“range”: {
“min”: 0,
“max”: 16777215,
“precision”: 1
}
}
},
{
“type”: “devices.capabilities.color_setting”,
“instance”: “colorTemperatureK”,
“parameters”: {
“dataType”: “INTEGER”,
“range”: {
“min”: 2200,
“max”: 6500,
“precision”: 1
}
}
},
{
“type”: “devices.capabilities.dynamic_scene”,
“instance”: “lightScene”,
“parameters”: {
“dataType”: “ENUM”,
“options”:
}
},
{
“type”: “devices.capabilities.music_setting”,
“instance”: “musicMode”,
“parameters”: {
“dataType”: “STRUCT”,
“fields”: [
{
“fieldName”: “musicMode”,
“dataType”: “ENUM”,
“options”: [
{
“name”: “Energic”,
“value”: 0
},
{
“name”: “Dynamic”,
“value”: 1
},
{
“name”: “Calm”,
“value”: 2
},
{
“name”: “Bounce”,
“value”: 3
},
{
“name”: “Hopping”,
“value”: 4
},
{
“name”: “Strike”,
“value”: 5
},
{
“name”: “Vibrate”,
“value”: 6
},
{
“name”: “Skittles”,
“value”: 7
},
{
“name”: “Torch”,
“value”: 8
},
{
“name”: “CandyCrush”,
“value”: 9
},
{
“name”: “Fusion”,
“value”: 10
},
{
“name”: “Luminous”,
“value”: 11
},
{
“name”: “Separation”,
“value”: 12
}
],
“required”: true
},
{
“unit”: “unit.percent”,
“fieldName”: “sensitivity”,
“dataType”: “INTEGER”,
“range”: {
“min”: 0,
“max”: 100,
“precision”: 1
},
“required”: true
},
{
“fieldName”: “autoColor”,
“dataType”: “ENUM”,
“options”: [
{
“name”: “on”,
“value”: 1
},
{
“name”: “off”,
“value”: 0
}
],
“required”: false
},
{
“fieldName”: “rgb”,
“dataType”: “INTEGER”,
“range”: {
“min”: 0,
“max”: 16777215,
“precision”: 1
},
“required”: false
}
]
}
},
{
“type”: “devices.capabilities.dynamic_scene”,
“instance”: “diyScene”,
“parameters”: {
“dataType”: “ENUM”,
“options”:
}
},
{
“type”: “devices.capabilities.dynamic_scene”,
“instance”: “snapshot”,
“parameters”: {
“dataType”: “ENUM”,
“options”:
}
},
{
“type”: “devices.capabilities.toggle”,
“instance”: “dreamViewToggle”,
“parameters”: {
“dataType”: “ENUM”,
“options”: [
{
“name”: “on”,
“value”: 1
},
{
“name”: “off”,
“value”: 0
}
]
}
}
]
}
]
}

Then it must be a udp broadcast issue not reaching the Homey on the adapter the local api host is listening on. Since that is a pure infrastructure issue in combination with my local range broadcasts it is impossible for me to debug.

I will try to create an option to allow for global vs local scoped broadcasts.

If there’s anything I can help with, please don’t hesitate to ask.

Thank you very much for everything.

I reworked the library I am using to try to solve this issue. Can you install the latest test version?
It uses my reworked library to bind better in case of multiple connections and multicast scenarios.
Chnaged waiting times to give Govee devices a bit more time to respond.

New: Added a BLE temp sensor driver for thermometers that only support BLE.

for you the new test version is also worth a try

1 Like

Looks like progress! It shows it’s connected now, but still no devices.

Can you try with the latest test version?

Everyone else: It improves stability but it also adds: DreamViewScenes are now supported.
It works on app level, you can use flow cards to activate one of your dreamviewscenes or use the new widget to activate them.

I just noticed that my local API doesn’t work on the Govee H6159, I then removed itand used the Cloud instead. I can turn on and off the led strip but I can’t change the color. I have tried to change it with a flow and manualy by clicking on the different colors in Homey. If I use the Govee app on my phone I can change color and it will show in Homey which color that has been picked.

Since the update in January, my local API interface no longer works for any of my four outdoorlamps. After adding them, the lamps lose connection after about 15 minutes. Can you help me?

And they don’t reconnect at all anymore?

Because it’s new I mark them as offline if they don’t respond for a long time but if they do again I mark them back online. It’s just the status, the lamp can still be controlled often. The method of detecting is a bit difficult because how slow they respond to request of they are still there polls.

If it’s a real disconnect please describe what you experience.

Hey, here’s a post I wrote in the German forum where I also asked for help:

Hi everyone, for the past few weeks I’ve been having a problem where my Govee lights are no longer accessible via the local API.

If I restart the devices and delete them from Homey, I can add them back. But after about 15 minutes, they disappear again and are no longer reachable.

The following error message then appears:

Could not locate device with id [0C:C7:6B:06:06:35:28:FF]

I’ve already deleted all the lights in the Govee app and added them again. The local API is enabled for every device. I’ve also restarted Homey several times.

Does anyone have any ideas?

The problem just suddenly appeared; everything worked perfectly for months before. I suspect it might be related to an app update. In January, the following update was released: “Improved handling of local UDP port unavailable cases,” and the problems started after that.

Best regards

What version are you now on?

Also please send me a diagnostic report after they dissappear. I don’t see how they can become unavailable after they have been found. I need to check that.

cc20c17e-ae57-440d-8ac4-703a0b9bfd61

I used the newest version of the app