Govee2MQTT: Connect Govee lights and devices to Home Assistant

Overview

Govee to MQTT bridge for Home Assistant

This repo provides a govee executable whose primary purpose is to act as a bridge between Govee devices and Home Assistant, via the Home Assistant MQTT Integration.

Features

  • Robust LAN-first design. Not all of Govee's devices support LAN control, but for those that do, you'll have the lowest latency and ability to control them even when your primary internet connection is offline.
  • Support for per-device modes and scenes.
  • Support for the undocumented AWS IoT interface to your devices, provides low latency status updates.
  • Support for the new Platform API in case the AWS IoT or LAN control is unavailable.
Feature Requires Notes
DIY Scenes API Key Find in the list of Effects for the light in Home Assistant
Music Modes API Key Find in the list of Effects for the light in Home Assistant
Tap-to-Run / One Click Scene IoT Find in the overall list of Scenes in Home Assistant, as well as under the Govee to MQTT device
Live Device Status Updates LAN and/or IoT Devices typically report most changes within a couple of seconds.
Segment Color API Key Find the Segment 00X light entities associated with your main light device in Home Assistant
  • API Key means that you have applied for a key from Govee and have configured it for use in goovee2mqtt
  • IoT means that you have configured your Govee account email and password for use in govee2mqtt, which will then attempt to use the undocumented and likely unsupported AWS MQTT-based IoT service
  • LAN means that you have enabled the Govee LAN API on supported devices and that the LAN API protocol is functional on your network

Usage

Have a question?

Want to show your support or gratitude?

It takes significant effort to build, maintain and support users of software like this. If you can spare something to say thanks, it is appreciated!

Credits

This work is based on my earlier work with Govee LAN Control.

The AWS IoT support was made possible by the work of @bwp91 in homebridge-govee.

Comments
  • Problem install !

    Problem install !

    Hello,

    I enter my email, password and API key in the configuration. and here is the result that I run the add-on:

    Caused by: 0: parsing https://app2.govee.com/device/rest/devices/v1/list response 1: devices[3].deviceExt.deviceSettings: missing field wifiMac at line 1 column 476. Input: {"devices":

    click for more details

    s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting s6-rc: info: service legacy-services successfully started GOVEE_API_KEY=REDACTED GOVEE_MQTT_HOST=core-mosquitto GOVEE_EMAIL=REDACTED GOVEE_PASSWORD=REDACTED GOVEE_MQTT_PASSWORD=REDACTED GOVEE_MQTT_USER=addons GOVEE_MQTT_PORT=1883 ++ cd /app ++ exec /app/govee serve [2024-01-06T16:05:03 INFO govee::commands::serve] Starting service. version 2024.01.05-d995de93 [2024-01-06T16:05:03 INFO govee::commands::serve] Querying platform API for device list [2024-01-06T16:05:03 INFO govee::commands::serve] Querying undocumented API for device + room list Error: request https://app2.govee.com/device/rest/devices/v1/list status 200: OK

    Caused by: 0: parsing https://app2.govee.com/device/rest/devices/v1/list response 1: devices[3].deviceExt.deviceSettings: missing field wifiMac at line 1 column 476. Input: {"devices":[{"groupId":0,"device":"09:51:D4:AD:FC:BF:07:4D","sku":"H618A","spec":"","versionHard":"2.01.02","versionSoft":"2.06.15","deviceName":"Led Bar","deviceExt":{"deviceSettings":"{"wifiName":"TP-Link_IoT_2G","address":"D4:AD:FC:BF:07:4D","bleName":"GBK_H618A_074D","topic":"GD/82ab3a89eb277c5e568d792df3791bd9","wifiMac":"D4:AD:FC:B2:DB:B8","pactType":2,"pactCode":1,"wifiSoftVersion":"2.05.08","wifiHardVersion":"1.02.00","ic":15,"secretCode":"TQe//K3UYYo=","boilWaterCompletedNotiOnOff":1,"completionNotiOnOff":1,"autoShutDownOnOff":1,"sku":"H618A","device":"09:51:D4:AD:FC:BF:07:4D","deviceName":"Led Bar","versionHard":"2.01.02","versionSoft":"2.06.15","playState":false}","lastDeviceData":"{"online":false}","extResources":"{"skuUrl":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/1888088d25fbf1fedd34316acccf9ee3-add_list_type_device_618ac.png.png","headOnImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/eed1b442fc5d3aaa28563ded4284e057-new_light_title_6160_on.png","headOnImgNew":"","headOffImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/cb48afdb8618c2ddfd8fe16673336af0-new_light_title_6160_off.png","headOffImgNew":"","ext":"","ic":15}"},"pactType":2,"pactCode":1,"share":0,"deviceId":12154591,"goodsType":74,"attributesId":17,"supportScene":1},{"groupId":0,"device":"18:7D:D5:39:32:37:4C:67","sku":"H6199","spec":"","versionHard":"3.02.01","versionSoft":"1.10.04","deviceName":"DreamView T1","deviceExt":{"deviceSettings":"{"wifiName":"TP-Link_IoT_2G","address":"D5:39:32:37:4C:67","bleName":"Govee_H6199_4C67","topic":"GD/9816f4efd740b038adddecffd4b655ea","wifiMac":"D4:AD:FC:2C:34:4B","pactType":2,"pactCode":1,"wifiSoftVersion":"1.00.33","wifiHardVersion":"1.03.00","ic":50,"boilWaterCompletedNotiOnOff":1,"completionNotiOnOff":1,"autoShutDownOnOff":1,"sku":"H6199","device":"18:7D:D5:39:32:37:4C:67","deviceName":"DreamView T1","versionHard":"3.02.01","versionSoft":"1.10.04","playState":false}","lastDeviceData":"{"online":false}","extResources":"{"skuUrl":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/77af67823455a4cd4a65c9d490a8fec9-add_list_type_device_6199.png","headOnImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/f888cb880ed3646868ebfb52db643569-new_light_title_6104_alexa_on.png","headOnImgNew":"","headOffImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/c163d1b2aa45e3278b4ff7a25b69e8c8-new_light_title_6104_alexa_off.png","headOffImgNew":"","ext":"","ic":50}"},"pactType":2,"pactCode":1,"share":0,"deviceId":10874276,"goodsType":24,"attributesId":1,"supportScene":1},{"groupId":0,"device":"B1:38:D4:AD:FC:3A:B4:D0","sku":"H618C","spec":"","versionHard":"2.01.02","versionSoft":"2.06.15","deviceName":"Led Escalier Bas Govee","deviceExt":{"deviceSettings":"{"wifiName":"TP-Link_IoT_2G","address":"D4:AD:FC:3A:B4:D0","bleName":"GBK_H618C_B4D0","topic":"GD/80fc757093a44996e5e0df430972bd99","wifiMac":"D4:AD:FC:3D:BA:9E","pactType":2,"pactCode":1,"wifiSoftVersion":"2.05.08","wifiHardVersion":"1.02.00","ic":30,"secretCode":"0LQ6/K3UYYw=","boilWaterCompletedNotiOnOff":1,"completionNotiOnOff":1,"autoShutDownOnOff":1,"sku":"H618C","device":"B1:38:D4:AD:FC:3A:B4:D0","deviceName":"Led Escalier Bas Govee","versionHard":"2.01.02","versionSoft":"2.06.15","playState":false}","lastDeviceData":"{"online":false}","extResources":"{"skuUrl":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/1888088d25fbf1fedd34316acccf9ee3-add_list_type_device_618ac.png.png","headOnImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/eed1b442fc5d3aaa28563ded4284e057-new_light_title_6160_on.png","headOnImgNew":"","headOffImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/cb48afdb8618c2ddfd8fe16673336af0-new_light_title_6160_off.png","headOffImgNew":"","ext":"","ic":30}"},"pactType":2,"pactCode":1,"share":0,"deviceId":7450178,"goodsType":71,"attributesId":1,"supportScene":1},{"groupId":0,"device":"36:0E:D4:AD:FC:1B:96:A0","sku":"H618A","spec":"","versionHard":"2.01.02","versionSoft":"2.06.15","deviceName":"Led Enfants Govee","deviceExt":{"deviceSettings":"{"wifiName":"TP-Link_IoT_2G","address":"D4:AD:FC:1B:96:A0","bleName":"GBK_H618A_96A0","topic":"GD/31e4e53408cbc4c73a9e6a9bf258e441","pactType":2,"pactCode":1,"wifiSoftVersion":"2.05.08","wifiHardVersion":"1.02.00","ic":15,"secretCode":"oJYb/K3UYYo=","boilWaterCompletedNotiOnOff":1,"completionNotiOnOff":1,"autoShutDownOnOff":1,"sku":"H618A","device":"36:0E:D4:AD:FC:1B:96:A0","deviceName":"Led Enfants Govee","versionHard":"2.01.02","versionSoft":"2.06.15","playState":false}","lastDeviceData":"{"online":false}","extResources":"{"skuUrl":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/1888088d25fbf1fedd34316acccf9ee3-add_list_type_device_618ac.png.png","headOnImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/eed1b442fc5d3aaa28563ded4284e057-new_light_title_6160_on.png","headOnImgNew":"","headOffImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/cb48afdb8618c2ddfd8fe16673336af0-new_light_title_6160_off.png","headOffImgNew":"","ext":"","ic":15}"},"pactType":2,"pactCode":1,"share":0,"deviceId":7450936,"goodsType":74,"attributesId":17,"supportScene":1},{"groupId":0,"device":"09:0A:D4:AD:FC:3B:32:27","sku":"H618C","spec":"","versionHard":"2.01.02","versionSoft":"2.06.15","deviceName":"Led Escalier Haut Gove","deviceExt":{"deviceSettings":"{"wifiName":"TP-Link_IoT_2G","address":"D4:AD:FC:3B:32:27","bleName":"GBK_H618C_3227","topic":"GD/f188559b9ccffccd0bcb1748d58d7266","wifiMac":"D4:AD:FC:3B:D0:B0","pactType":2,"pactCode":1,"wifiSoftVersion":"2.05.08","wifiHardVersion":"1.02.00","ic":30,"secretCode":"JzI7/K3UYYw=","boilWaterCompletedNotiOnOff":1,"completionNotiOnOff":1,"autoShutDownOnOff":1,"sku":"H618C","device":"09:0A:D4:AD:FC:3B:32:27","deviceName":"Led Escalier Haut Gove","versionHard":"2.01.02","versionSoft":"2.06.15","playState":false}","lastDeviceData":"{"online":false}","extResources":"{"skuUrl":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/1888088d25fbf1fedd34316acccf9ee3-add_list_type_device_618ac.png.png","headOnImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/eed1b442fc5d3aaa28563ded4284e057-new_light_title_6160_on.png","headOnImgNew":"","headOffImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/cb48afdb8618c2ddfd8fe16673336af0-new_light_title_6160_off.png","headOffImgNew":"","ext":"","ic":30}"},"pactType":2,"pactCode":1,"share":0,"deviceId":7450755,"goodsType":71,"attributesId":1,"supportScene":1},{"groupId":0,"device":"D7:54:A4:C1:38:FF:AD:23","sku":"H6159","spec":"","versionHard":"1.00.02","versionSoft":"1.07.02","deviceName":"Govee Bureau Schumi","deviceExt":{"deviceSettings":"{"wifiName":"TP-Link_IoT_2G","bleName":"ihoment_H6159_AD23","topic":"GD/3a2e6a8df375ee9531b18dd85eecf8fd","wifiSoftVersion":"1.03.05","wifiHardVersion":"1.00.01","ic":0,"boilWaterCompletedNotiOnOff":1,"completionNotiOnOff":1,"autoShutDownOnOff":1,"sku":"H6159","device":"D7:54:A4:C1:38:FF:AD:23","deviceName":"Govee Bureau Schumi","versionHard":"1.00.02","versionSoft":"1.07.02","playState":false}","lastDeviceData":"{"online":false}","extResources":"{"skuUrl":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/78e03221416cd93f51a3da091b720a1c-add_list_type_device_6159.png","headOnImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/eed1b442fc5d3aaa28563ded4284e057-new_light_title_6160_on.png","headOnImgNew":"","headOffImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/cb48afdb8618c2ddfd8fe16673336af0-new_light_title_6160_off.png","headOffImgNew":"","ext":"","ic":0}"},"share":0,"deviceId":6678775,"goodsType":0,"attributesId":2,"supportScene":1},{"groupId":0,"device":"C7:31:7C:A6:B0:5C:8E:63","sku":"H618A","spec":"","versionHard":"2.01.02","versionSoft":"2.06.15","deviceName":"Govee Bureau","deviceExt":{"deviceSettings":"{"wifiName":"TP-Link_IoT_2G","address":"7C:A6:B0:5C:8E:63","bleName":"GBK_H618A_8E63","topic":"GD/a948c8f824d616483d12a371583ae201","wifiMac":"9C:04:A0:A6:4A:6B","pactType":2,"pactCode":1,"wifiSoftVersion":"2.05.08","wifiHardVersion":"1.02.00","ic":15,"secretCode":"Y45csKZ8YYo=","boilWaterCompletedNotiOnOff":1,"completionNotiOnOff":1,"autoShutDownOnOff":1,"sku":"H618A","device":"C7:31:7C:A6:B0:5C:8E:63","deviceName":"Govee Bureau","versionHard":"2.01.02","versionSoft":"2.06.15","playState":false}","lastDeviceData":"{"online":false}","extResources":"{"skuUrl":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/1888088d25fbf1fedd34316acccf9ee3-add_list_type_device_618ac.png.png","headOnImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/eed1b442fc5d3aaa28563ded4284e057-new_light_title_6160_on.png","headOnImgNew":"","headOffImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/cb48afdb8618c2ddfd8fe16673336af0-new_light_title_6160_off.png","headOffImgNew":"","ext":"","ic":15}"},"pactType":2,"pactCode":1,"share":0,"deviceId":6885213,"goodsType":74,"attributesId":17,"supportScene":1},{"groupId":0,"device":"AF:D5:A4:C1:38:06:24:5F","sku":"H6159","spec":"","versionHard":"1.00.02","versionSoft":"1.07.02","deviceName":"Govee Bureau Cocotte","deviceExt":{"deviceSettings":"{"wifiName":"TP-Link_IoT_2G","bleName":"ihoment_H6159_245F","topic":"GD/eee64f5a4fae26b5eedc0ce68a8b5c2b","wifiSoftVersion":"1.03.05","wifiHardVersion":"1.00.01","ic":0,"boilWaterCompletedNotiOnOff":1,"completionNotiOnOff":1,"autoShutDownOnOff":1,"sku":"H6159","device":"AF:D5:A4:C1:38:06:24:5F","deviceName":"Govee Bureau Cocotte","versionHard":"1.00.02","versionSoft":"1.07.02","playState":false}","lastDeviceData":"{"online":false}","extResources":"{"skuUrl":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/78e03221416cd93f51a3da091b720a1c-add_list_type_device_6159.png","headOnImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/eed1b442fc5d3aaa28563ded4284e057-new_light_title_6160_on.png","headOnImgNew":"","headOffImg":"https://d1f2504ijhdyjw.cloudfront.net/sku-img/cb48afdb8618c2ddfd8fe16673336af0-new_light_title_6160_off.png","headOffImgNew":"","ext":"","ic":0}"},"share":0,"deviceId":6810875,"goodsType":0,"attributesId":2,"supportScene":1}],"groups":[{"groupId":4932730,"groupName":"Chambre"},{"groupId":4932731,"groupName":"Salon"}],"sort":[],"sortTime":0,"message":"","status":200}

    Stack backtrace: 0: std::backtrace_rs::backtrace::libunwind::trace at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5 1: std::backtrace_rs::backtrace::trace_unsynchronized at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: std::backtrace::Backtrace::create at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/backtrace.rs:331:13 3: anyhow::error::::msg 4: govee::platform_api::from_json 5: govee::undoc_api::GoveeUndocumentedApi::get_device_list::{{closure}} 6: govee::commands::serve::ServeCommand::run::{{closure}} 7: govee::Args::run::{{closure}} 8: tokio::runtime::park::CachedParkThread::block_on 9: tokio::runtime::runtime::Runtime::block_on 10: govee::main 11: std::sys_common::backtrace::__rust_begin_short_backtrace 12: std::rt::lang_start::{{closure}} 13: core::ops::function::impls::<impl core::ops::function::FnOnce for &F>::call_once at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:284:13 14: std::panicking::try::do_call at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40 15: std::panicking::try at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19 16: std::panic::catch_unwind at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14 17: std::rt::lang_start_internal::{{closure}} at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/rt.rs:148:48 18: std::panicking::try::do_call at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40 19: std::panicking::try at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19 20: std::panic::catch_unwind at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14 21: std::rt::lang_start_internal at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/rt.rs:148:20 22: std::rt::lang_start 23: main s6-rc: info: service legacy-services: stopping s6-rc: info: service legacy-services successfully stopped s6-rc: info: service legacy-cont-init: stopping s6-rc: info: service legacy-cont-init successfully stopped s6-rc: info: service fix-attrs: stopping s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped

    what to do, what is the problem?

    Thanks.

    opened by schumi2309 71
  •  H7173 kettle support

    H7173 kettle support

    Is it possible to control devices that are not directly in your Govee account/profile, but shared from another one? A couple months ago my wife purchased the H7173 kettle, and setup a Govee account for it. And recently I bought the H7066 spotlights, and ended up creating a separate account. The two devices are shared between the accounts, and we can each control both, however I only see the spotlights when configuring the add-on. I noticed if I do a device query through the API, I only receive what is directly associated with that API key, not ones that are shared. I am not sure if there is a different endpoint for shared devices, or not.

    Thank you

    reverse-engineering 
    opened by tankdeer 45
  • H7102 Smart Tower Fan

    H7102 Smart Tower Fan

    Thanks for the great work here!

    I was able to get an API key and setup via docker. My device was recognized however the controls are unavailable. I'm guessing this is because your library does not currently support fans or my fan specifically.

    Happy to provide whatever needed to get this model to work. I'm a software developer intimately familiar with REST APIs, just don't know Rust :\

    Logs:

    [2024-01-08T06:29:23 INFO govee::commands::serve] Starting service. version 2024.01.07-ac926c47 [2024-01-08T06:29:23 INFO govee::commands::serve] Querying platform API for device list [2024-01-08T06:29:24 INFO govee::commands::serve] Querying undocumented API for device + room list [2024-01-08T06:29:25 INFO govee::service::iot] Connected to IoT: CONNACK code 0: Connection Accepted. [2024-01-08T06:29:25 INFO govee::commands::serve] Starting LAN discovery [2024-01-08T06:29:25 INFO govee::service::iot] IoT (re)connected with status CONNACK code 0: Connection Accepted. [2024-01-08T06:29:29 INFO govee::commands::serve] Devices returned from Govee's APIs [2024-01-08T06:29:29 INFO govee::commands::serve] Master Thermometer (7E:BD:18:1F:6C:F3:38:44) sku=H5179 [2024-01-08T06:29:29 INFO govee::commands::serve] Platform API: devices.types.thermometer. supports_rgb=false supports_brightness=false [2024-01-08T06:29:29 INFO govee::commands::serve] color_temp=None segment_rgb=None [2024-01-08T06:29:29 INFO govee::commands::serve] Undoc: room=None supports_iot=false ble_only=true [2024-01-08T06:29:29 INFO govee::commands::serve] [2024-01-08T06:29:29 INFO govee::commands::serve] Upper Stairs (48:1A:A4:C1:38:87:7D:5E) sku=H6110 [2024-01-08T06:29:29 INFO govee::commands::serve] Platform API: devices.types.light. supports_rgb=false supports_brightness=false [2024-01-08T06:29:29 INFO govee::commands::serve] color_temp=None segment_rgb=None [2024-01-08T06:29:29 INFO govee::commands::serve] Undoc: room=None supports_iot=true ble_only=false [2024-01-08T06:29:29 INFO govee::commands::serve] [2024-01-08T06:29:29 INFO govee::commands::serve] Smart Tower Fan (13:62:D4:AD:FC:BB:44:DE) sku=H7102 [2024-01-08T06:29:29 INFO govee::commands::serve] Platform API: devices.types.fan. supports_rgb=false supports_brightness=false [2024-01-08T06:29:29 INFO govee::commands::serve] color_temp=None segment_rgb=None [2024-01-08T06:29:29 INFO govee::commands::serve] Undoc: room=None supports_iot=true ble_only=false [2024-01-08T06:29:29 INFO govee::commands::serve] [2024-01-08T06:29:29 INFO govee::service::http] http server addr is 0.0.0.0:8056 [2024-01-08T06:29:35 INFO govee::service::hass] MQTT connected with status=CONNACK code 0: Connection Accepted. [2024-01-08T06:29:49 INFO govee::commands::serve] requesting update via IoT MQTT Upper Stairs (48:1A:A4:C1:38:87:7D:5E) None [2024-01-08T06:29:49 INFO govee::commands::serve] requesting update via IoT MQTT Smart Tower Fan (13:62:D4:AD:FC:BB:44:DE) None [2024-01-08T06:30:10 INFO govee::service::hass] Home Assistant status changed: online [2024-01-08T06:34:34 ERROR govee::service::iot] Decoding IoT Packet: govee::service::iot::start_iot_client::{{closure}}::{{closure}}::Packet missing field state at line 1 column 179. Input: {"proType":0,"msg":"{"transaction":"u_1704720875251","sku":"H6110","device":"48:1A:A4:C1:38:87:7D:5E","cmdVersion":0,"type":0,"cmd":"online","data":"{}"}"} {"proType":0,"msg":"{"transaction":"u_1704720875251","sku":"H6110","device":"48:1A:A4:C1:38:87:7D:5E","cmdVersion":0,"type":0,"cmd":"online","data":"{}"}"}

    Device: image

    reverse-engineering 
    opened by wwelles 29
  • H7131 Space Heater: HA switch controls seem mismatched

    H7131 Space Heater: HA switch controls seem mismatched

    Govee Device SKU

    H7131

    Govee2MQTT Version

    2024.01.11-9564506d

    Describe the issue

    After installing and configuring the add-on I have noted a number of anomalies in the operation of the heater's switches in HA. In the included screenshot:

    1. This switch is apparently a light control, however the toggle actually turns the heater on/off (in addition to working to control the light color and brightness).
    2. The Nightlight Toggle switch seems to only work intermittently, and at any rate is redundant with control 1).
    3. The Power Switch is what I would expect to use to turn the heater on/off, and it does work but seems to conflict with control 1).

    h7131_ha_switch_mismatch

    The other controls (auto, fan, and gearMode parameters) are confusing as to why they are 3 separate controls. As I understand it, the working mode for this device is a single property with 5 possible values:

    "properties":{"mode":{"options":[{"name":"Low","value":"1"},{"name":"Medium","value":"2"},{"name":"High","value":"3"},{"name":"Fan","value":"4"},{"name":"Auto","value":"5"}]}}

    Please let me know if you'd like me to do any testing or need additional info. Thanks!

    Startup Diagnostics

    s6-rc: info: service s6rc-oneshot-runner: starting
    s6-rc: info: service s6rc-oneshot-runner successfully started
    s6-rc: info: service fix-attrs: starting
    s6-rc: info: service fix-attrs successfully started
    s6-rc: info: service legacy-cont-init: starting
    s6-rc: info: service legacy-cont-init successfully started
    s6-rc: info: service legacy-services: starting
    s6-rc: info: service legacy-services successfully started
    GOVEE_API_KEY=REDACTED
    GOVEE_MQTT_HOST=192.168.1.49
    GOVEE_EMAIL=REDACTED
    GOVEE_PASSWORD=REDACTED
    GOVEE_MQTT_PASSWORD=REDACTED
    GOVEE_MQTT_USER=ecowitt2mqtt
    GOVEE_MQTT_PORT=1883
    ++ cd /app
    ++ exec /app/govee serve
    [2024-01-12T09:55:10 INFO  govee::commands::serve] Starting service. version 2024.01.11-9564506d
    [2024-01-12T09:55:10 INFO  govee::commands::serve] Querying platform API for device list
    [2024-01-12T09:55:11 INFO  govee::commands::serve] Querying undocumented API for device + room list
    [2024-01-12T09:55:13 INFO  govee::service::iot] Connected to IoT: CONNACK code 0: Connection Accepted.
    [2024-01-12T09:55:13 INFO  govee::commands::serve] Starting LAN discovery
    [2024-01-12T09:55:13 INFO  govee::service::iot] IoT (re)connected with status CONNACK code 0: Connection Accepted.
    [2024-01-12T09:55:13 INFO  govee::commands::serve] Waiting 10 seconds for LAN API discovery
    [2024-01-12T09:55:23 INFO  govee::commands::serve] Devices returned from Govee's APIs
    [2024-01-12T09:55:23 INFO  govee::commands::serve] H5074_E454 (A7:90:A4:C1:38:AA:E4:54 H5074)
    [2024-01-12T09:55:23 INFO  govee::commands::serve]   Undoc: room=None supports_iot=false ble_only=true
    [2024-01-12T09:55:23 WARN  govee::commands::serve]   Unknown device type. Cannot map to Home Assistant.
    [2024-01-12T09:55:23 INFO  govee::commands::serve] 
    [2024-01-12T09:55:23 INFO  govee::commands::serve] Smart Space Heater (REDACTED H7131)
    [2024-01-12T09:55:23 INFO  govee::commands::serve]   Platform API: devices.types.heater. supports_rgb=true supports_brightness=true
    [2024-01-12T09:55:23 INFO  govee::commands::serve]                 color_temp=None segment_rgb=None
    [2024-01-12T09:55:23 INFO  govee::commands::serve]   Undoc: room=None supports_iot=true ble_only=false
    [2024-01-12T09:55:23 INFO  govee::commands::serve] 
    [2024-01-12T09:55:23 INFO  govee::commands::serve] H5074_8B55 (B7:08:A4:C1:38:D5:8B:55 H5074)
    [2024-01-12T09:55:23 INFO  govee::commands::serve]   Undoc: room=None supports_iot=false ble_only=true
    [2024-01-12T09:55:23 WARN  govee::commands::serve]   Unknown device type. Cannot map to Home Assistant.
    [2024-01-12T09:55:23 INFO  govee::commands::serve] 
    [2024-01-12T09:55:23 INFO  govee::commands::serve] H5074_24DB (AB:30:A4:C1:38:C8:24:DB H5074)
    [2024-01-12T09:55:23 INFO  govee::commands::serve]   Undoc: room=None supports_iot=false ble_only=true
    [2024-01-12T09:55:23 WARN  govee::commands::serve]   Unknown device type. Cannot map to Home Assistant.
    [2024-01-12T09:55:23 INFO  govee::commands::serve] 
    [2024-01-12T09:55:23 INFO  govee::service::http] http server addr is 0.0.0.0:8056
    [2024-01-12T09:55:28 WARN  govee::cache] request https://openapi.api.govee.com/router/api/v1/device/scenes status 200: OK: parsing https://openapi.api.govee.com/router/api/v1/device/scenes response: Failed with status 400 Bad Request Bad Request: Request to https://openapi.api.govee.com/router/api/v1/device/scenes failed with code 400 Bad Request devices not support this instance. Full response: {"requestId":"uuid","msg":"devices not support this instance","code":400,"payload":{"sku":"H7131","device":"REDACTED"}}, will use prior results
    [2024-01-12T09:55:28 ERROR govee::hass_mqtt::light] Unable to list scenes for Smart Space Heater (REDACTED H7131): list_scene_names: get_scene_caps: request https://openapi.api.govee.com/router/api/v1/device/scenes status 200: OK: parsing https://openapi.api.govee.com/router/api/v1/device/scenes response: Failed with status 400 Bad Request Bad Request: Request to https://openapi.api.govee.com/router/api/v1/device/scenes failed with code 400 Bad Request devices not support this instance. Full response: {"requestId":"uuid","msg":"devices not support this instance","code":400,"payload":{"sku":"H7131","device":"REDACTED"}}
    [2024-01-12T09:55:28 WARN  govee::hass_mqtt::enumerator] Do something about Mode nightlightScene for Smart Space Heater (REDACTED H7131) DeviceCapability { kind: Mode, instance: "nightlightScene", parameters: Some(Enum { options: [EnumOption { name: "Flame", value: Number(1), extras: {} }, EnumOption { name: "Rainbow", value: Number(2), extras: {} }, EnumOption { name: "Rhythm", value: Number(3), extras: {} }, EnumOption { name: "Easy", value: Number(4), extras: {} }, EnumOption { name: "Sleep", value: Number(5), extras: {} }] }), alarm_type: None, event_state: None }
    [2024-01-12T09:55:28 WARN  govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Smart Space Heater (REDACTED H7131) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: true }] }), alarm_type: None, event_state: None }
    [2024-01-12T09:55:28 INFO  govee::service::hass] Wait 500ms for hass to settle on 10 entity configs
    [2024-01-12T09:55:29 INFO  govee::service::hass] MQTT connected with status=CONNACK code 0: Connection Accepted.
    [2024-01-12T09:55:41 ERROR govee::hass_mqtt::light] Unable to list scenes for Smart Space Heater (REDACTED H7131): list_scene_names: get_scene_caps: request https://openapi.api.govee.com/router/api/v1/device/scenes status 200: OK: parsing https://openapi.api.govee.com/router/api/v1/device/scenes response: Failed with status 400 Bad Request Bad Request: Request to https://openapi.api.govee.com/router/api/v1/device/scenes failed with code 400 Bad Request devices not support this instance. Full response: {"requestId":"uuid","msg":"devices not support this instance","code":400,"payload":{"sku":"H7131","device":"REDACTED"}}
    [2024-01-12T09:55:41 WARN  govee::hass_mqtt::enumerator] Do something about Mode nightlightScene for Smart Space Heater (REDACTED H7131) DeviceCapability { kind: Mode, instance: "nightlightScene", parameters: Some(Enum { options: [EnumOption { name: "Flame", value: Number(1), extras: {} }, EnumOption { name: "Rainbow", value: Number(2), extras: {} }, EnumOption { name: "Rhythm", value: Number(3), extras: {} }, EnumOption { name: "Easy", value: Number(4), extras: {} }, EnumOption { name: "Sleep", value: Number(5), extras: {} }] }), alarm_type: None, event_state: None }
    [2024-01-12T09:55:41 WARN  govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Smart Space Heater (REDACTED H7131) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: true }] }), alarm_type: None, event_state: None }
    

    Additional Logs

    No response

    Home Assistant Logs

    No response

    Anything else?

    No response

    opened by phurth 20
  • H6199 Not responding to on/off requests

    H6199 Not responding to on/off requests

    I've got a TV backlight strip that was working, but has now stopped responding. I just installed this add-on a couple days ago and it was working, but now it's stopped. There's no error in the logs, and it's getting the information about the device from the API call. There is a long warning in the log which I'm including. H6199troubleshooting.txt

    local-network-issue 
    opened by JohnnyCarcinogen 19
  • H5103 temperature sensor

    H5103 temperature sensor

    I have the 5103 temperature devices and the 5040/5054 in my home. Both are Wifi connected.

    Are you interested in adding other device types to this project?

    image
    opened by ebiancarelli 19
  • H7143 Humidifier

    H7143 Humidifier

    It's not fair to call this an issue since I know this is designed for the Govee lights, but I thought I would ask in case this was in the works or possible in the near future.

    I have said humidifier and MQTT is recognizing it as follows:

    [2024-01-06T21:03:52 INFO  govee::commands::serve] Humidifier (Removed MAC) sku=H7143
    [2024-01-06T21:03:52 INFO  govee::commands::serve]   Platform API: devices.types.humidifier. supports_rgb=true supports_brightness=true
    [2024-01-06T21:03:52 INFO  govee::commands::serve]                 color_temp=None segment_rgb=None
    [2024-01-06T21:03:52 INFO  govee::commands::serve]   Undoc: room=None supports_iot=true ble_only=false
    

    While the Govee app doesn't allow me to enable local LAN, I did configure the add-on with my credentials and API key. I can turn the unit on/off, change it's color, as well as enable/disable the light and warm mist settings.

    The settings I cannot change are:

    • Mode: Manual/Auto -- Target % for Auto -- Auto Stop disable
    • Mist Level: 40 - 80%
    • Display: Enable/Disable

    Is there any way I could go about adding those options through the MQTT humidifier element or through this add-on? I'm in the beginning of my MQTT journey so I'm not sure what diagnostics to run to be of further help.

    If there is any information I can provide that will be helpful please let me know.

    waiting-on-op reverse-engineering 
    opened by vortexcomp 19
  • Not all DIY Scenes available

    Not all DIY Scenes available

    I noticed, that at least one of my DIY Scenes is not available in HA. I'm wondering if there is a reason for this or if it could be some kind of bug? For testing purposes, I created several DIY scenes and all of them showed up properly

    opened by marcelpetersen 19
  • H7130 Space Heater issue with commands and mods

    H7130 Space Heater issue with commands and mods

    Govee Device SKU

    H7130

    Govee2MQTT Version

    2024.01.13-b7277f05

    Describe the issue

    First of all, thank you so much for your work!

    I have a heater H7130 which connects correctly to my instance. However, I have some problems with the available commands and their status. First of all, the modes ( High, Medium, Low temperature ) are displayed as numbers and the status is not displayed correctly. Also, the toggle thermostat doesn't display correctly as a switch and doesn't keep a status. Since the last version, the status of the various commands is no longer tracked correctly. For example, when I turn the device on, the command is sent, but the status is changed back to off 1 second later in the home assistant. So I have to request api state every time I send a command. This problem was not present in previous versions.

    Capture d’écran 2024-01-14 120740

    Startup Diagnostics

    Expand

    instance: "thermostatToggle", state: Object { "value": String(""), }, } [2024-01-14T11:38:59 INFO govee::service::hass] oscillationToggle for 1AB7D4ADFCEA5B63: ON [2024-01-14T11:38:59 WARN govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: false }] }), alarm_type: None, event_state: None } [2024-01-14T11:38:59 WARN govee::hass_mqtt::switch] CapabilitySwitch::notify_state: Do something with DeviceCapabilityState { kind: Toggle, instance: "thermostatToggle", state: Object { "value": String(""), }, } [2024-01-14T11:47:43 INFO govee::service::hass] oscillationToggle for 1AB7D4ADFCEA5B63: ON [2024-01-14T11:47:43 WARN govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: false }] }), alarm_type: None, event_state: None } [2024-01-14T11:47:43 WARN govee::hass_mqtt::switch] CapabilitySwitch::notify_state: Do something with DeviceCapabilityState { kind: Toggle, instance: "thermostatToggle", state: Object { "value": String(""), }, } [2024-01-14T11:54:55 INFO govee::service::hass] oscillationToggle for 1AB7D4ADFCEA5B63: ON [2024-01-14T11:54:57 INFO govee::service::hass] oscillationToggle for 1AB7D4ADFCEA5B63: ON [2024-01-14T11:54:57 WARN govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: false }] }), alarm_type: None, event_state: None } [2024-01-14T11:54:57 WARN govee::hass_mqtt::switch] CapabilitySwitch::notify_state: Do something with DeviceCapabilityState { kind: Toggle, instance: "thermostatToggle", state: Object { "value": String(""), }, } [2024-01-14T11:54:57 WARN govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: false }] }), alarm_type: None, event_state: None } [2024-01-14T11:54:57 WARN govee::hass_mqtt::switch] CapabilitySwitch::notify_state: Do something with DeviceCapabilityState { kind: Toggle, instance: "thermostatToggle", state: Object { "value": String(""), }, } [2024-01-14T11:55:05 INFO govee::service::hass] Request Platform API State for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) [2024-01-14T11:55:05 INFO govee::service::state] requesting update via Platform API Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) Some(DeviceState { on: true, online: None, kelvin: 0, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 0, scene: None, source: "AWS IoT API", updated: 2024-01-14T16:54:57.835643861Z }) [2024-01-14T11:55:06 WARN govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: false }] }), alarm_type: None, event_state: None } [2024-01-14T11:55:06 WARN govee::hass_mqtt::switch] CapabilitySwitch::notify_state: Do something with DeviceCapabilityState { kind: Toggle, instance: "thermostatToggle", state: Object { "value": String(""), }, } [2024-01-14T11:55:07 INFO govee::service::hass] oscillationToggle for 1AB7D4ADFCEA5B63: OFF [2024-01-14T11:55:11 WARN govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: false }] }), alarm_type: None, event_state: None } [2024-01-14T11:55:11 WARN govee::hass_mqtt::switch] CapabilitySwitch::notify_state: Do something with DeviceCapabilityState { kind: Toggle, instance: "thermostatToggle", state: Object { "value": String(""), }, } [2024-01-14T11:55:23 INFO govee::service::hass] Request Platform API State for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) [2024-01-14T11:55:23 INFO govee::service::state] requesting update via Platform API Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) Some(DeviceState { on: true, online: None, kelvin: 0, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 0, scene: None, source: "AWS IoT API", updated: 2024-01-14T16:55:11.768879139Z }) [2024-01-14T11:55:24 WARN govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: false }] }), alarm_type: None, event_state: None } [2024-01-14T11:55:24 WARN govee::hass_mqtt::switch] CapabilitySwitch::notify_state: Do something with DeviceCapabilityState { kind: Toggle, instance: "thermostatToggle", state: Object { "value": String(""), }, } [2024-01-14T11:55:58 INFO govee::service::hass] Request Platform API State for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) [2024-01-14T11:55:58 INFO govee::service::state] requesting update via Platform API Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) Some(DeviceState { on: true, online: Some(true), kelvin: 0, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 0, scene: None, source: "PLATFORM API", updated: 2024-01-14T16:55:24.825157814Z }) [2024-01-14T11:55:58 WARN govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: false }] }), alarm_type: None, event_state: None } [2024-01-14T11:55:58 WARN govee::hass_mqtt::switch] CapabilitySwitch::notify_state: Do something with DeviceCapabilityState { kind: Toggle, instance: "thermostatToggle", state: Object { "value": String(""), }, } [2024-01-14T11:58:46 INFO govee::service::hass] oscillationToggle for 1AB7D4ADFCEA5B63: ON [2024-01-14T11:58:47 WARN govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: false }] }), alarm_type: None, event_state: None } [2024-01-14T11:58:47 WARN govee::hass_mqtt::switch] CapabilitySwitch::notify_state: Do something with DeviceCapabilityState { kind: Toggle, instance: "thermostatToggle", state: Object { "value": String(""), }, } [2024-01-14T11:59:07 INFO govee::service::hass] mqtt_purge_caches [2024-01-14T11:59:09 INFO sqlite_cache] exiting periodic task [2024-01-14T11:59:10 WARN govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Chauffage bureau Alex (1A:B7:D4:AD:FC:EA:5B:63 H7130) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: false }] }), alarm_type: None, event_state: None } [2024-01-14T11:59:10 INFO govee::service::hass] Wait 550ms for hass to settle on 11 entity configs [2024-01-14T11:59:11 WARN govee::hass_mqtt::switch] CapabilitySwitch::notify_state: Do something with DeviceCapabilityState { kind: Toggle, instance: "thermostatToggle", state: Object { "value": String(""), }, }

    Additional Logs

    No response

    Home Assistant Logs

    No response

    Anything else?

    No response

    waiting-on-op 
    opened by Alex565rf 18
  • Govee devices are unavailable after update to version 2024.01.09-ab0af6b7

    Govee devices are unavailable after update to version 2024.01.09-ab0af6b7

    You have 2024.01.07-92fb55e0 installed. Click update to update to version 2024.01.09-ab0af6b7

    I rolled back to 2024.01.07-92fb55e0 and all is well.

    s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting s6-rc: info: service legacy-services successfully started GOVEE_API_KEY=REDACTED GOVEE_MQTT_HOST=core-mosquitto GOVEE_EMAIL=REDACTED GOVEE_PASSWORD=REDACTED GOVEE_MQTT_PASSWORD=REDACTED GOVEE_MQTT_USER=addons GOVEE_MQTT_PORT=1883 ++ cd /app ++ exec /app/govee serve [2024-01-09T16:02:41 INFO govee::commands::serve] Starting service. version 2024.01.07-92fb55e0 [2024-01-09T16:02:41 INFO govee::commands::serve] Querying platform API for device list [2024-01-09T16:02:42 INFO govee::commands::serve] Querying undocumented API for device + room list [2024-01-09T16:02:43 INFO govee::service::iot] Connected to IoT: CONNACK code 0: Connection Accepted. [2024-01-09T16:02:43 INFO govee::commands::serve] Starting LAN discovery [2024-01-09T16:02:43 INFO govee::service::iot] IoT (re)connected with status CONNACK code 0: Connection Accepted. [2024-01-09T16:02:47 INFO govee::commands::serve] Devices returned from Govee's APIs [2024-01-09T16:02:47 INFO govee::commands::serve] Smart Flood Lights 2 (D4:97:D7:39:32:33:38:7D) sku=H7062 [2024-01-09T16:02:47 INFO govee::commands::serve] LAN API: ip=192.168.68.73 [2024-01-09T16:02:47 INFO govee::commands::serve] Platform API: devices.types.light. supports_rgb=true supports_brightness=true [2024-01-09T16:02:47 INFO govee::commands::serve] color_temp=Some((2000, 9000)) segment_rgb=Some(0..2) [2024-01-09T16:02:47 INFO govee::commands::serve] Undoc: room=Some("Outside") supports_iot=true ble_only=false [2024-01-09T16:02:47 INFO govee::commands::serve] Quirk: Quirk { sku: "H7062", icon: "mdi:light-flood-down", supports_rgb: true, supports_brightness: true, color_temp_range: Some((2000, 9000)), avoid_platform_api: false, ble_only: false, lan_api_capable: true } [2024-01-09T16:02:47 INFO govee::commands::serve] [2024-01-09T16:02:47 INFO govee::commands::serve] Smart Flood Lights 1 (14:0F:D1:39:32:33:1D:23) sku=H7062 [2024-01-09T16:02:47 INFO govee::commands::serve] LAN API: ip=192.168.68.113 [2024-01-09T16:02:47 INFO govee::commands::serve] Platform API: devices.types.light. supports_rgb=true supports_brightness=true [2024-01-09T16:02:47 INFO govee::commands::serve] color_temp=Some((2000, 9000)) segment_rgb=Some(0..2) [2024-01-09T16:02:47 INFO govee::commands::serve] Undoc: room=Some("Outside") supports_iot=true ble_only=false [2024-01-09T16:02:47 INFO govee::commands::serve] Quirk: Quirk { sku: "H7062", icon: "mdi:light-flood-down", supports_rgb: true, supports_brightness: true, color_temp_range: Some((2000, 9000)), avoid_platform_api: false, ble_only: false, lan_api_capable: true } [2024-01-09T16:02:47 INFO govee::commands::serve] [2024-01-09T16:02:47 INFO govee::commands::serve] Diffuser (1C:F5:60:74:F4:17:65:72) sku=H7162 [2024-01-09T16:02:47 INFO govee::commands::serve] Platform API: devices.types.aroma_diffuser. supports_rgb=false supports_brightness=false [2024-01-09T16:02:47 INFO govee::commands::serve] color_temp=None segment_rgb=None [2024-01-09T16:02:47 INFO govee::commands::serve] Undoc: room=None supports_iot=true ble_only=false [2024-01-09T16:02:47 INFO govee::commands::serve] [2024-01-09T16:02:48 INFO govee::service::http] http server addr is 0.0.0.0:8056 [2024-01-09T16:02:54 INFO govee::service::hass] MQTT connected with status=CONNACK code 0: Connection Accepted. [2024-01-09T16:03:07 INFO govee::commands::serve] requesting update via IoT MQTT Diffuser (1C:F5:60:74:F4:17:65:72) None [2024-01-09T16:19:07 INFO govee::commands::serve] requesting update via IoT MQTT Diffuser (1C:F5:60:74:F4:17:65:72) Some(DeviceState { on: false, online: None, kelvin: 0, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 0, scene: None, source: "AWS IoT API", updated: 2024-01-09T22:03:07.307091663Z })

    opened by mkuhnke71 18
  • H6141 rope light is not registered correctly

    H6141 rope light is not registered correctly

    Hi Just installed this, getting this in the logs:

    [2024-01-06T21:46:23 INFO govee::commands::serve] requesting update via IoT MQTT Sophie House Light (E1:DA:A4:C1:38:61:B0:9E) None and device has a RED ! status in MQTT --> Entities

    image

    Any ideas what I've done wrong? Logs look fine otherwise.

    Logs from HASS:

    Exception in functools.partial(<function _async_discover at 0x7f708e98a0>, , 'light', <function async_setup_entity_entry_helper..async_setup_from_discovery at 0x7f6c2e1e40>, None) when dispatching 'mqtt_discovery_new_light_mqtt': ({'availability_topic': 'gv2mqtt/availability', 'name': None, 'origin': {'name': 'gv2mqtt', 'sw_version': '2024.01.06-0da21047', 'support_url': 'https://github.com/wez/govee2mqtt'}, 'device': {'name': 'Sophie House Light', 'manufacturer': 'Govee', 'model': 'H6141', 'via_device': 'gv2mqtt', 'identifiers': ['gv2mqtt-E1DAA4C13861B09E']}, 'unique_id': 'gv2mqtt-E1DAA4C13861B09E', 'schema': 'json', 'command_topic': 'gv2mqtt/light/E1DAA4C13861B09E/command', 'state_topic': 'gv2mqtt/light/E1DAA4C13861B09E/state', 'supported_color_modes': [], 'color_mode': False, 'brightness': False, 'brightness_scale': 100, 'effect': True, 'effect_list': ['Active', 'Afternoon', 'Aurora', 'Breathe', 'Business', 'Candlelight', 'Canyon', 'Care', 'Christmas', 'Clear lake', 'Cornfield', 'Crazy', 'Dance Party', 'Dating', 'Desert', 'Disco', 'Downpour', 'Dreamland', 'Dusk', 'Energetic', 'Enthusiastic', 'Excited', 'Fall', 'Fantasy', "Father's Day", 'Fight', 'Fire', 'Flash', 'Flower Field', 'Forest', 'Game', 'Ghost', 'Glacier', 'Grassland', 'Halloween', 'Happy', 'Heartbeat', 'Karst Cave', 'Leisure', 'Leisure-A', 'Leisure-B', 'Lightning', 'Longing', 'Meditation', 'Moonlight', 'Morning', "Mother's Day", 'Movie', 'Night', 'Night Light', 'Party', 'Profound', 'Quiet', 'Rainbow', 'Reading', 'Relax', 'Retro', 'River', 'Romantic', 'Siren', 'Sky', 'Sleep', 'Solar flare', 'Solar Halo', 'Sports', 'Spring', 'Star', 'Starry Sky', 'Study', 'Summer', 'Sunrise', 'Sunset', 'Sunset Glow', 'Sweet', 'Tension', 'test govee diy', 'Thanksgiving', 'Twinkle', 'Universe', "Valentine's Day", 'Warm', 'Wave', 'Winter', 'Work'], 'min_mireds': None, 'max_mireds': None, 'payload_available': 'online', 'platform': 'mqtt'},) Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py", line 356, in _async_discover setup(discovery_payload) File "/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py", line 417, in async_setup_from_discovery config: DiscoveryInfoType = discovery_schema(discovery_payload) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/validators.py", line 232, in call return self._exec((Schema(val) for val in self.validators), v) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/validators.py", line 351, in _exec v = func(v) ^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 818, in validate_callable return schema(data) ^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/mqtt/light/init.py", line 40, in validate_mqtt_light_discovery config: ConfigType = schemasconfig_value[CONF_SCHEMA] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/validators.py", line 232, in call return self._exec((Schema(val) for val in self.validators), v) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/validators.py", line 351, in _exec v = func(v) ^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 818, in validate_callable return schema(data) ^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 595, in validate_dict return base_validate(path, iteritems(data), out) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 387, in validate_mapping cval = cvalue(key_path, value) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/validators.py", line 229, in _run return self._exec(self._compiled, value, path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/validators.py", line 353, in _exec v = func(path, v) ^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 818, in validate_callable return schema(data) ^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/light/init.py", line 155, in valid_supported_color_modes raise vol.Error(f"Invalid supported_color_modes {sorted(color_modes)}") voluptuous.error.Error: Invalid supported_color_modes []

    Originally posted by @cm-mojo in https://github.com/wez/govee2mqtt/issues/14#issuecomment-1879843021

    opened by wez 17
  • H70C5 Some effects do not work / appear correctly when selected from effects drop down in Home Assistant

    H70C5 Some effects do not work / appear correctly when selected from effects drop down in Home Assistant

    Govee Device SKU

    H70C5

    Govee2MQTT Version

    2024.07.21-c9d27764

    Describe the issue

    Just setup the lights and most things are working GREAT!..

    However I have noticed that some effects when selected in the Home Assistant Effects drop down don't work.. Like Candy Cane will work but Candy Cane B will not.. This happens on a few different effects but not all.

    Example of logs given with Candy Cane B which appears all blue instead of the red and white twirl if selected in the govee app

    Startup Diagnostics

    [2024-11-25T20:45:12 INFO govee::commands::serve] Starting service. version 2024.07.21-c9d27764

    [2024-11-25T20:45:12 INFO govee::commands::serve] Querying platform API for device list

    [2024-11-25T20:45:13 INFO govee::commands::serve] Querying undocumented API for device + room list

    [2024-11-25T20:45:14 INFO govee::service::iot] Connected to IoT: CONNACK code 0: Connection Accepted.

    [2024-11-25T20:45:14 INFO govee::service::iot] IoT (re)connected with status CONNACK code 0: Connection Accepted.

    [2024-11-25T20:45:14 INFO govee::commands::serve] Starting LAN discovery

    [2024-11-25T20:45:14 INFO govee::commands::serve] Waiting 10 seconds for LAN API discovery

    [2024-11-25T20:45:24 INFO govee::commands::serve] Devices returned from Govee's APIs

    [2024-11-25T20:45:24 INFO govee::commands::serve] Christmas Tree (2B:42:C6:75:66:0E:B3:3E H70C5)

    [2024-11-25T20:45:24 INFO govee::commands::serve] LAN API: ip=192.168.1.132

    [2024-11-25T20:45:24 INFO govee::commands::serve] Platform API: devices.types.light. supports_rgb=true supports_brightness=true

    [2024-11-25T20:45:24 INFO govee::commands::serve] color_temp=Some((2000, 9000)) segment_rgb=Some(0..10)

    [2024-11-25T20:45:24 INFO govee::commands::serve] Undoc: room=Some("Living Room") supports_iot=true ble_only=false

    [2024-11-25T20:45:24 INFO govee::commands::serve] Quirk { sku: "H70C5", icon: "mdi:light-bulb", supports_rgb: true, supports_brightness: true, color_temp_range: Some((2000, 9000)), avoid_platform_api: false, ble_only: false, lan_api_capable: true, device_type: Light, platform_temperature_sensor_units: None, platform_humidity_sensor_units: None, iot_api_supported: true, show_as_preset_buttons: None }

    [2024-11-25T20:45:24 INFO govee::commands::serve]

    [2024-11-25T20:45:24 INFO govee::service::http] http server addr is 0.0.0.0:8056

    [2024-11-25T20:45:46 INFO govee::service::hass] Wait 180ms for hass to settle on 18 entity configs

    [2024-11-25T20:45:46 INFO govee::service::hass] MQTT connected with status=CONNACK code 0: Connection Accepted.

    Additional Logs

    [2024-11-25T20:47:34 INFO govee::service::hass] Command for Christmas Tree (2B:42:C6:75:66:0E:B3:3E H70C5): {"state":"ON","effect":"Candy Cane"}

    [2024-11-25T20:47:34 INFO govee::service::state] Using Platform API to set Christmas Tree (2B:42:C6:75:66:0E:B3:3E H70C5) to scene Candy Cane

    [2024-11-25T20:47:35 INFO govee::platform_api] control_device result: ControlDeviceResponse { request_id: "uuid", code: 200, message: "success", capability: ControlDeviceResponseCapability { kind: DynamicScene, instance: "lightScene", value: Object {"id": Number(14105), "paramId": Number(22752)}, state: Object {"status": String("success")} } }

    [2024-11-25T20:47:42 INFO govee::service::hass] Command for Christmas Tree (2B:42:C6:75:66:0E:B3:3E H70C5): {"state":"ON","effect":"Candy Cane B"}

    [2024-11-25T20:47:42 INFO govee::service::state] Using Platform API to set Christmas Tree (2B:42:C6:75:66:0E:B3:3E H70C5) to scene Candy Cane B

    [2024-11-25T20:47:43 INFO govee::platform_api] control_device result: ControlDeviceResponse { request_id: "uuid", code: 200, message: "success", capability: ControlDeviceResponseCapability { kind: DynamicScene, instance: "lightScene", value: Object {"id": Number(13994), "paramId": Number(22641)}, state: Object {"status": String("success")} } }

    Home Assistant Logs

    No response

    Anything else?

    No response

    opened by bagobones 0
  • Devices don't show up in home assistant

    Devices don't show up in home assistant

    Govee Device SKU

    H6199

    Govee2MQTT Version

    2024.07.21-c9d27764

    Describe the issue

    I setup the integration through Unraid docker, it appears connected to MQTT just fine but I don't see any devices show up in home assistant. I disabled the LAN integration in case that got in the way and still devices don't show up in home assistant.

    Startup Diagnostics

    [2024-11-25T15:59:51 INFO govee::commands::serve] Starting service. version 2024.07.21-c9d27764 [2024-11-25T15:59:51 INFO govee::commands::serve] Starting LAN discovery [2024-11-25T15:59:51 INFO govee::commands::serve] Waiting 10 seconds for LAN API discovery [2024-11-25T16:00:01 INFO govee::commands::serve] Devices returned from Govee's APIs [2024-11-25T16:00:01 INFO govee::service::http] http server addr is 0.0.0.0:8056 [2024-11-25T16:00:22 INFO govee::service::hass] Wait 20ms for hass to settle on 2 entity configs [2024-11-25T16:00:22 INFO govee::service::hass] MQTT connected with status=CONNACK code 0: Connection Accepted. [2024-11-25T16:00:40 INFO govee::service::hass] Home Assistant status changed: online, waiting 15s before re-registering entities [2024-11-25T16:00:56 INFO govee::service::hass] Wait 20ms for hass to settle on 2 entity configs

    Additional Logs

    No response

    Home Assistant Logs

    No response

    Anything else?

    Screenshot 2024-11-25 at 4 00 58 PM Screenshot 2024-11-25 at 4 01 34 PM
    opened by dnestico 0
  • Not finding MQTT Broker (Docker)

    Not finding MQTT Broker (Docker)

    Hello!

    Been trying for weeks to get this working and I'm at a loss. Home Assistant, mosquitto MQTT, and govee2mqtt are all setup on Docker containers.

    I have the mosquitto MQTT broker successfully integrated into HA. I've tested functionality by publishing data from the MQTT integration page of HA and using MQTT Explorer to monitor. So I know that it's configured and functioning correctly.

    The MQTT Integration page of HA shows an IP address of 192.168.86.21

    In my govee2mqtt env I have the following setup as the MQTT host: GOVEE_MQTT_HOST=192.168.86.21

    Checking the Docker logs of the govee2mqtt container, I can see that it's running and is finding my account and devices just fine. But there is this error in the logs which is what is preventing the final step of getting it to talk to the MQTT Broker in HA.

    Error: Please specify the mqtt broker either via the --mqtt-host parameter or by setting $GOVEE_MQTT_HOST

    Any help here would be greatly appreciated as this one of the last pieces of my HA puzzle!

    Thank you!

    opened by godfa7h3r 1
  • Adding Bulb is missing control

    Adding Bulb is missing control

    Govee Device SKU

    H6008

    Govee2MQTT Version

    2024.07.13-82ddc6e9

    Describe the issue

    I have a bunch of Govee in my home. I integrate them with HA via Govee2Mqtt.

    For the single bulbs (model H6008), I typically have a some switch controls that I can use to toggle them on/off.

    image

    Over the weekend, I brought out my Leg Lamp, and added a govee h6008 bulb. It shows up in HA, but there are no controls for it.

    image

    Looking at the Govee2Mqtt web UI, I see the control listed (but not renamed as it is in the bulbs that have controls) and with a power switch indicator. Clicking the indicator does not turn the bulb off/on. It appears to be using the AWS IoT API. image

    Startup Diagnostics

    [2024-11-18T20:38:44 INFO  govee::platform_api] control_device result: ControlDeviceResponse { request_id: "uuid", code: 200, message: "success", capability: ControlDeviceResponseCapability { kind: Range, instance: "brightness", value: Number(22), state: Object {"status": String("success")} } }
    [2024-11-18T20:38:49 INFO  govee::service::state] Polling Foyer Chandelier 3 (D5:14:60:74:F4:80:5B:18 H6008) to get latest state after control
    [2024-11-18T20:38:49 INFO  govee::service::state] requesting update via Platform API Foyer Chandelier 3 (D5:14:60:74:F4:80:5B:18 H6008) Some(DeviceState { on: true, light_on: Some(true), online: Some(true), kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 23, scene: None, source: "PLATFORM API", updated: 2024-11-19T01:37:19.450951630Z })
    [2024-11-18T20:38:49 INFO  govee::service::state] Polling Foyer Chandelier 2 (3C:13:60:74:F4:90:05:16 H6008) to get latest state after control
    [2024-11-18T20:38:49 INFO  govee::service::state] requesting update via Platform API Foyer Chandelier 2 (3C:13:60:74:F4:90:05:16 H6008) Some(DeviceState { on: true, light_on: Some(true), online: Some(true), kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 23, scene: None, source: "PLATFORM API", updated: 2024-11-19T01:37:19.467020229Z })
    [2024-11-18T20:38:49 INFO  govee::service::state] Polling Foyer Chandelier 1 (24:88:60:74:F4:8F:5F:36 H6008) to get latest state after control
    [2024-11-18T20:38:49 INFO  govee::service::state] requesting update via Platform API Foyer Chandelier 1 (24:88:60:74:F4:8F:5F:36 H6008) Some(DeviceState { on: true, light_on: Some(true), online: Some(true), kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 23, scene: None, source: "PLATFORM API", updated: 2024-11-19T01:37:19.426424677Z })
    [2024-11-18T20:39:28 INFO  govee::service::state] requesting update via Platform API H70B1_535E (18:04:C2:5E:04:4A:53:5E H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-17T18:22:50.301957810Z })
    [2024-11-18T20:39:28 INFO  govee::service::state] requesting update via Platform API H6008_05E8 (51:D9:D4:AD:FC:DC:05:E8 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-18T19:42:03.652906168Z })
    [2024-11-18T20:39:28 INFO  govee::service::state] requesting update via Platform API H70B1_0C15 (16:EA:C3:50:FE:9D:0C:15 H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 26, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.423432785Z })
    [2024-11-18T20:39:28 INFO  govee::service::state] requesting update via Platform API H70B1_A8DC (21:D1:EA:AB:E1:10:A8:DC H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.422986294Z })
    [2024-11-18T20:39:28 INFO  govee::service::state] requesting update via Platform API H70B1_4212 (2A:8C:C9:AA:FE:6B:42:12 H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.428776664Z })
    [2024-11-18T20:39:28 INFO  govee::service::state] requesting update via Platform API H6008_9B82 (67:02:D4:AD:FC:D7:9B:82 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:21:37.060253149Z })
    [2024-11-18T20:40:14 INFO  govee::service::hass] Command for Foyer Chandelier 1 (24:88:60:74:F4:8F:5F:36 H6008): {"state":"ON","transition":45.0,"brightness":22}
    [2024-11-18T20:40:14 INFO  govee::service::state] Using Platform API to set Foyer Chandelier 1 (24:88:60:74:F4:8F:5F:36 H6008) brightness
    [2024-11-18T20:40:15 INFO  govee::service::hass] Command for Foyer Chandelier 2 (3C:13:60:74:F4:90:05:16 H6008): {"state":"ON","transition":45.0,"brightness":22}
    [2024-11-18T20:40:15 INFO  govee::service::hass] Command for Foyer Chandelier 3 (D5:14:60:74:F4:80:5B:18 H6008): {"state":"ON","transition":45.0,"brightness":22}
    [2024-11-18T20:40:15 INFO  govee::service::state] Using Platform API to set Foyer Chandelier 2 (3C:13:60:74:F4:90:05:16 H6008) brightness
    [2024-11-18T20:40:15 INFO  govee::service::state] Using Platform API to set Foyer Chandelier 3 (D5:14:60:74:F4:80:5B:18 H6008) brightness
    [2024-11-18T20:40:15 INFO  govee::platform_api] control_device result: ControlDeviceResponse { request_id: "uuid", code: 200, message: "success", capability: ControlDeviceResponseCapability { kind: Range, instance: "brightness", value: Number(22), state: Object {"status": String("success")} } }
    [2024-11-18T20:40:15 INFO  govee::platform_api] control_device result: ControlDeviceResponse { request_id: "uuid", code: 200, message: "success", capability: ControlDeviceResponseCapability { kind: Range, instance: "brightness", value: Number(22), state: Object {"status": String("success")} } }
    [2024-11-18T20:40:15 INFO  govee::platform_api] control_device result: ControlDeviceResponse { request_id: "uuid", code: 200, message: "success", capability: ControlDeviceResponseCapability { kind: Range, instance: "brightness", value: Number(22), state: Object {"status": String("success")} } }
    [2024-11-18T20:40:20 INFO  govee::service::state] Polling Foyer Chandelier 2 (3C:13:60:74:F4:90:05:16 H6008) to get latest state after control
    [2024-11-18T20:40:20 INFO  govee::service::state] requesting update via Platform API Foyer Chandelier 2 (3C:13:60:74:F4:90:05:16 H6008) Some(DeviceState { on: true, light_on: Some(true), online: Some(true), kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 22, scene: None, source: "PLATFORM API", updated: 2024-11-19T01:38:50.014425577Z })
    [2024-11-18T20:40:20 INFO  govee::service::state] Polling Foyer Chandelier 1 (24:88:60:74:F4:8F:5F:36 H6008) to get latest state after control
    [2024-11-18T20:40:20 INFO  govee::service::state] Polling Foyer Chandelier 3 (D5:14:60:74:F4:80:5B:18 H6008) to get latest state after control
    [2024-11-18T20:40:20 INFO  govee::service::state] requesting update via Platform API Foyer Chandelier 1 (24:88:60:74:F4:8F:5F:36 H6008) Some(DeviceState { on: true, light_on: Some(true), online: Some(true), kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 22, scene: None, source: "PLATFORM API", updated: 2024-11-19T01:38:53.003305605Z })
    [2024-11-18T20:40:20 INFO  govee::service::state] requesting update via Platform API Foyer Chandelier 3 (D5:14:60:74:F4:80:5B:18 H6008) Some(DeviceState { on: true, light_on: Some(true), online: Some(true), kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 22, scene: None, source: "PLATFORM API", updated: 2024-11-19T01:38:50.020317728Z })
    [2024-11-18T20:40:27 INFO  govee::service::hass] Command for Foyer Chandelier 2 (3C:13:60:74:F4:90:05:16 H6008): {"state":"OFF"}
    [2024-11-18T20:40:27 INFO  govee::service::state] Using Platform API to set Foyer Chandelier 2 (3C:13:60:74:F4:90:05:16 H6008) light powerSwitch state
    [2024-11-18T20:40:27 INFO  govee::service::hass] Command for Foyer Chandelier 3 (D5:14:60:74:F4:80:5B:18 H6008): {"state":"OFF"}
    [2024-11-18T20:40:27 INFO  govee::service::hass] Command for Foyer Chandelier 1 (24:88:60:74:F4:8F:5F:36 H6008): {"state":"OFF"}
    [2024-11-18T20:40:27 INFO  govee::service::state] Using Platform API to set Foyer Chandelier 3 (D5:14:60:74:F4:80:5B:18 H6008) light powerSwitch state
    [2024-11-18T20:40:27 INFO  govee::service::state] Using Platform API to set Foyer Chandelier 1 (24:88:60:74:F4:8F:5F:36 H6008) light powerSwitch state
    [2024-11-18T20:40:27 INFO  govee::platform_api] control_device result: ControlDeviceResponse { request_id: "uuid", code: 200, message: "success", capability: ControlDeviceResponseCapability { kind: OnOff, instance: "powerSwitch", value: Number(0), state: Object {"status": String("success")} } }
    [2024-11-18T20:40:27 INFO  govee::platform_api] control_device result: ControlDeviceResponse { request_id: "uuid", code: 200, message: "success", capability: ControlDeviceResponseCapability { kind: OnOff, instance: "powerSwitch", value: Number(0), state: Object {"status": String("success")} } }
    [2024-11-18T20:40:27 INFO  govee::platform_api] control_device result: ControlDeviceResponse { request_id: "uuid", code: 200, message: "success", capability: ControlDeviceResponseCapability { kind: OnOff, instance: "powerSwitch", value: Number(0), state: Object {"status": String("success")} } }
    [2024-11-18T20:40:28 INFO  govee::service::state] requesting update via Platform API H70B1_535E (18:04:C2:5E:04:4A:53:5E H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-17T18:22:50.301957810Z })
    [2024-11-18T20:40:28 INFO  govee::service::state] requesting update via Platform API H6008_05E8 (51:D9:D4:AD:FC:DC:05:E8 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-18T19:42:03.652906168Z })
    [2024-11-18T20:40:28 INFO  govee::service::state] requesting update via Platform API H70B1_0C15 (16:EA:C3:50:FE:9D:0C:15 H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 26, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.423432785Z })
    [2024-11-18T20:40:28 INFO  govee::service::state] requesting update via Platform API H70B1_A8DC (21:D1:EA:AB:E1:10:A8:DC H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.422986294Z })
    [2024-11-18T20:40:28 INFO  govee::service::state] requesting update via Platform API H70B1_4212 (2A:8C:C9:AA:FE:6B:42:12 H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.428776664Z })
    [2024-11-18T20:40:28 INFO  govee::service::state] requesting update via Platform API H6008_9B82 (67:02:D4:AD:FC:D7:9B:82 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:21:37.060253149Z })
    [2024-11-18T20:40:32 INFO  govee::service::state] Polling Foyer Chandelier 2 (3C:13:60:74:F4:90:05:16 H6008) to get latest state after control
    [2024-11-18T20:40:32 INFO  govee::service::state] requesting update via Platform API Foyer Chandelier 2 (3C:13:60:74:F4:90:05:16 H6008) Some(DeviceState { on: true, light_on: Some(true), online: Some(true), kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 22, scene: None, source: "PLATFORM API", updated: 2024-11-19T01:40:23.547080052Z })
    [2024-11-18T20:40:32 INFO  govee::service::state] Polling Foyer Chandelier 1 (24:88:60:74:F4:8F:5F:36 H6008) to get latest state after control
    [2024-11-18T20:40:32 INFO  govee::service::state] Polling Foyer Chandelier 3 (D5:14:60:74:F4:80:5B:18 H6008) to get latest state after control
    [2024-11-18T20:40:32 INFO  govee::service::state] requesting update via Platform API Foyer Chandelier 1 (24:88:60:74:F4:8F:5F:36 H6008) Some(DeviceState { on: true, light_on: Some(true), online: Some(true), kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 22, scene: None, source: "PLATFORM API", updated: 2024-11-19T01:40:23.025687185Z })
    [2024-11-18T20:40:32 INFO  govee::service::state] requesting update via Platform API Foyer Chandelier 3 (D5:14:60:74:F4:80:5B:18 H6008) Some(DeviceState { on: true, light_on: Some(true), online: Some(true), kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 22, scene: None, source: "PLATFORM API", updated: 2024-11-19T01:40:22.970955437Z })
    [2024-11-18T20:41:28 INFO  govee::service::state] requesting update via Platform API H70B1_535E (18:04:C2:5E:04:4A:53:5E H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-17T18:22:50.301957810Z })
    [2024-11-18T20:41:28 INFO  govee::service::state] requesting update via Platform API H6008_05E8 (51:D9:D4:AD:FC:DC:05:E8 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-18T19:42:03.652906168Z })
    [2024-11-18T20:41:28 INFO  govee::service::state] requesting update via Platform API H70B1_0C15 (16:EA:C3:50:FE:9D:0C:15 H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 26, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.423432785Z })
    [2024-11-18T20:41:28 INFO  govee::service::state] requesting update via Platform API H70B1_A8DC (21:D1:EA:AB:E1:10:A8:DC H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.422986294Z })
    [2024-11-18T20:41:28 INFO  govee::service::state] requesting update via Platform API H70B1_4212 (2A:8C:C9:AA:FE:6B:42:12 H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.428776664Z })
    [2024-11-18T20:41:28 INFO  govee::service::state] requesting update via Platform API H6008_9B82 (67:02:D4:AD:FC:D7:9B:82 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:21:37.060253149Z })
    [2024-11-18T20:42:28 INFO  govee::service::state] requesting update via Platform API H70B1_535E (18:04:C2:5E:04:4A:53:5E H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-17T18:22:50.301957810Z })
    [2024-11-18T20:42:28 INFO  govee::service::state] requesting update via Platform API H6008_05E8 (51:D9:D4:AD:FC:DC:05:E8 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-18T19:42:03.652906168Z })
    [2024-11-18T20:42:28 INFO  govee::service::state] requesting update via Platform API H70B1_0C15 (16:EA:C3:50:FE:9D:0C:15 H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 26, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.423432785Z })
    [2024-11-18T20:42:28 INFO  govee::service::state] requesting update via Platform API H70B1_A8DC (21:D1:EA:AB:E1:10:A8:DC H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.422986294Z })
    [2024-11-18T20:42:28 INFO  govee::service::state] requesting update via Platform API H70B1_4212 (2A:8C:C9:AA:FE:6B:42:12 H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.428776664Z })
    [2024-11-18T20:42:28 INFO  govee::service::state] requesting update via Platform API H6008_9B82 (67:02:D4:AD:FC:D7:9B:82 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:21:37.060253149Z })
    [2024-11-18T20:43:28 INFO  govee::service::state] requesting update via Platform API H70B1_535E (18:04:C2:5E:04:4A:53:5E H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-17T18:22:50.301957810Z })
    [2024-11-18T20:43:28 INFO  govee::service::state] requesting update via Platform API Family Room 3 (E1:3D:60:74:F4:26:2E:10 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 10, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:28:00.438679262Z })
    [2024-11-18T20:43:33 INFO  govee::service::state] requesting update via Platform API H6008_05E8 (51:D9:D4:AD:FC:DC:05:E8 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-18T19:42:03.652906168Z })
    [2024-11-18T20:43:33 INFO  govee::service::state] requesting update via IoT MQTT Street side floods (A0:FE:C8:35:34:35:3F:80 H7060) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 5800, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 74, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:28:04.438528559Z })
    [2024-11-18T20:43:33 INFO  govee::service::state] requesting update via Platform API Family Room 2 (1C:9C:60:74:F4:22:A5:10 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 5500, color: DeviceColor { r: 255, g: 237, b: 222 }, brightness: 10, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:28:01.522987583Z })
    [2024-11-18T20:43:35 INFO  govee::service::state] requesting update via Platform API kitchen cabinet light2 (F1:51:CA:38:33:33:72:41 H61E0) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 4000, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:28:01.432915775Z })
    [2024-11-18T20:43:38 INFO  govee::service::state] requesting update via Platform API H70B1_0C15 (16:EA:C3:50:FE:9D:0C:15 H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 26, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.423432785Z })
    [2024-11-18T20:43:38 INFO  govee::service::state] requesting update via Platform API kitchen over cabinet (E1:C7:D9:38:33:33:58:7A H61E0) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 4000, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:28:01.526520763Z })
    [2024-11-18T20:43:43 INFO  govee::service::state] requesting update via Platform API Front Door Left (6A:B6:60:74:F4:82:B3:C8 H6008) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 10, g: 3, b: 255 }, brightness: 66, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:27:29.244307630Z })
    [2024-11-18T20:43:44 INFO  govee::service::state] requesting update via Platform API H70B1_A8DC (21:D1:EA:AB:E1:10:A8:DC H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.422986294Z })
    [2024-11-18T20:43:44 INFO  govee::service::state] requesting update via Platform API H70B1_4212 (2A:8C:C9:AA:FE:6B:42:12 H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.428776664Z })
    [2024-11-18T20:43:44 INFO  govee::service::state] requesting update via IoT MQTT TV floor lamp Right (34:7D:CB:35:34:35:6B:33 H6076) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 10, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:28:00.522119471Z })
    [2024-11-18T20:43:44 INFO  govee::service::state] requesting update via IoT MQTT TV Floor Lamp Left (02:26:D8:35:33:35:61:16 H6076) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 10, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:28:01.205355138Z })
    [2024-11-18T20:43:44 INFO  govee::service::state] requesting update via Platform API TV AI Sync Box (15:AC:C8:83:6C:7F:94:A2 H6602) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 255, b: 255 }, brightness: 10, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:28:02.170062337Z })
    [2024-11-18T20:43:45 INFO  govee::service::state] requesting update via Platform API H6008_9B82 (67:02:D4:AD:FC:D7:9B:82 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:21:37.060253149Z })
    [2024-11-18T20:44:45 INFO  govee::service::state] requesting update via Platform API H70B1_535E (18:04:C2:5E:04:4A:53:5E H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-17T18:22:50.301957810Z })
    [2024-11-18T20:44:45 INFO  govee::service::state] requesting update via Platform API H6008_05E8 (51:D9:D4:AD:FC:DC:05:E8 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-18T19:42:03.652906168Z })
    [2024-11-18T20:44:45 INFO  govee::service::state] requesting update via Platform API H70B1_0C15 (16:EA:C3:50:FE:9D:0C:15 H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 26, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.423432785Z })
    [2024-11-18T20:44:45 INFO  govee::service::state] requesting update via Platform API H70B1_A8DC (21:D1:EA:AB:E1:10:A8:DC H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.422986294Z })
    [2024-11-18T20:44:45 INFO  govee::service::state] requesting update via Platform API H70B1_4212 (2A:8C:C9:AA:FE:6B:42:12 H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.428776664Z })
    [2024-11-18T20:44:45 INFO  govee::service::state] requesting update via Platform API H6008_9B82 (67:02:D4:AD:FC:D7:9B:82 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:21:37.060253149Z })
    [2024-11-18T20:45:45 INFO  govee::service::state] requesting update via Platform API H70B1_535E (18:04:C2:5E:04:4A:53:5E H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-17T18:22:50.301957810Z })
    [2024-11-18T20:45:45 INFO  govee::service::state] requesting update via Platform API H6008_05E8 (51:D9:D4:AD:FC:DC:05:E8 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-18T19:42:03.652906168Z })
    [2024-11-18T20:45:45 INFO  govee::service::state] requesting update via Platform API H70B1_0C15 (16:EA:C3:50:FE:9D:0C:15 H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 26, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.423432785Z })
    [2024-11-18T20:45:45 INFO  govee::service::state] requesting update via Platform API H70B1_A8DC (21:D1:EA:AB:E1:10:A8:DC H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.422986294Z })
    [2024-11-18T20:45:45 INFO  govee::service::state] requesting update via Platform API H70B1_4212 (2A:8C:C9:AA:FE:6B:42:12 H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.428776664Z })
    [2024-11-18T20:45:45 INFO  govee::service::state] requesting update via Platform API H6008_9B82 (67:02:D4:AD:FC:D7:9B:82 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:21:37.060253149Z })
    [2024-11-18T20:46:45 INFO  govee::service::state] requesting update via Platform API H70B1_535E (18:04:C2:5E:04:4A:53:5E H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-17T18:22:50.301957810Z })
    [2024-11-18T20:46:45 INFO  govee::service::state] requesting update via Platform API H6008_05E8 (51:D9:D4:AD:FC:DC:05:E8 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-18T19:42:03.652906168Z })
    [2024-11-18T20:46:45 INFO  govee::service::state] requesting update via Platform API H70B1_0C15 (16:EA:C3:50:FE:9D:0C:15 H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 26, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.423432785Z })
    [2024-11-18T20:46:45 INFO  govee::service::state] requesting update via Platform API H70B1_A8DC (21:D1:EA:AB:E1:10:A8:DC H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.422986294Z })
    [2024-11-18T20:46:45 INFO  govee::service::state] requesting update via Platform API H70B1_4212 (2A:8C:C9:AA:FE:6B:42:12 H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.428776664Z })
    [2024-11-18T20:46:45 INFO  govee::service::state] requesting update via Platform API H6008_9B82 (67:02:D4:AD:FC:D7:9B:82 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:21:37.060253149Z })
    [2024-11-18T20:47:45 INFO  govee::service::state] requesting update via Platform API H70B1_535E (18:04:C2:5E:04:4A:53:5E H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-17T18:22:50.301957810Z })
    [2024-11-18T20:47:45 INFO  govee::service::state] requesting update via Platform API H6008_05E8 (51:D9:D4:AD:FC:DC:05:E8 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-18T19:42:03.652906168Z })
    [2024-11-18T20:47:45 INFO  govee::service::state] requesting update via Platform API H70B1_0C15 (16:EA:C3:50:FE:9D:0C:15 H70B1) Some(DeviceState { on: false, light_on: Some(false), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 26, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.423432785Z })
    [2024-11-18T20:47:45 INFO  govee::service::state] requesting update via Platform API H70B1_A8DC (21:D1:EA:AB:E1:10:A8:DC H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.422986294Z })
    [2024-11-18T20:47:45 INFO  govee::service::state] requesting update via Platform API H70B1_4212 (2A:8C:C9:AA:FE:6B:42:12 H70B1) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:19:29.428776664Z })
    [2024-11-18T20:47:45 INFO  govee::service::state] requesting update via Platform API H6008_9B82 (67:02:D4:AD:FC:D7:9B:82 H6008) Some(DeviceState { on: true, light_on: Some(true), online: None, kelvin: 2700, color: DeviceColor { r: 0, g: 0, b: 0 }, brightness: 100, scene: None, source: "AWS IoT API", updated: 2024-11-19T01:21:37.060253149Z })
    
    

    Additional Logs

    No response

    Home Assistant Logs

    No response

    Anything else?

    No response

    opened by cdarrigo 1
  • H713C shows target value in Fahrenheit, but my setting isin Celsius

    H713C shows target value in Fahrenheit, but my setting isin Celsius

    Govee Device SKU

    H713C

    Govee2MQTT Version

    2024.07.13-82ddc6e9

    Describe the issue

    This breaks my automations and makes it that my heater doesn't work correctly.

    The target value is always 5C after an automation is triggered. But when doing it manually from HA the govee app shows the same value as HA.

    I have another heater and this works just fine. H713B is the SKU of the other one.

    Thank you for making this addon and life easier for a lot of people.

    Startup Diagnostics

    I will add this later in my pc. Now doing this in my phone.

    Additional Logs

    No response

    Home Assistant Logs

    No response

    Anything else?

    No response

    opened by Versuswaw 0
  • [feature-request] TLS or HA Ingress support for web UI

    [feature-request] TLS or HA Ingress support for web UI

    Hello!

    First off - thanks for this add-on, it's great!

    I was wondering if you'd consider adding TLS support or Home Assistant ingress support to the web UI please? Reason being: my Home Assistant domain defaults to HTTPS, so when I click the open web UI button, I get greeted with a delightful This site can’t provide a secure connection. And, if you set the addon up to mount /ssl, that would be easily set up too.

    Sorry to raise a feature request - I'd love to come in with a PR but the limit of my knowledge of Rust is "I know it exists"...!

    Thank you so much!

    opened by caraar12345 1
Owner
Wez Furlong
Wez Furlong
Devices can use this SDK to connect to the Spotflow IoT Platform. Supported languages: Rust, Python, C.

Device SDK for Spotflow IoT Platform Languages | Features | Architecture | Building and Testing | License Devices can use this SDK to connect to the S

Spotflow 6 Aug 12, 2024
Command line utility for controlling LIFX smart lights

lifxc is a command line utility for controlling LIFX smart lights. Currently, communication over the LIFX LAN protocol is supported.

Harrison Rigg 1 Nov 17, 2021
A programming and system administration assistant, powered by chatGPT

TermGPT Interact with ChatGPT from your terminal! ?? ?? Install Cargo cargo install termgpt termgpt --help From source git clone [email protected]:bahdot

Gokul 5 May 11, 2023
ask.sh: AI terminal assistant that can read and write your terminal directly!

ask.sh: AI terminal assistant that read from & write to your terminal ask.sh is an AI terminal assistant based on OpenAI APIs such as GPT-3.5/4! What'

hmirin 5 Jun 20, 2023
ChatGPT CLI - A minimal assistant in the terminal

ChatGPT CLI A lightweight ChatGPT CLI - Chat completion. Interact with ChatGPT from your terminal and save the conversation in a text file. Get starte

Imad E. 5 Mar 14, 2023
🛡️ Terminal-based, real-time traffic monitoring and statistics for your AdGuard Home instance

AdGuardian-Term Terminal-based, real-time traffic monitoring and statistics for your AdGuard Home instance About AdGuardian Terminal Eddition - Keep a

Alicia Sykes 629 Jun 14, 2023
Manage your dotfiles and packages with ease. Define your $HOME as Code 💻 🚀 ✨

EnvHub is a simple tool to manage dotfiles and packages accross multiple machines. Written in Rust, internally it uses nix/homebrew/pkgx/devbox to man

Tsiry Sandratraina 8 Oct 27, 2023
A visual canvas and virtual machine for writing assembly to build cool things. Create machines and connect them together.

Visual Assembly Canvas A highly visual assembly editor, infinite canvas for wiring blocks and machines together, bytecode virtual machine runnable nat

Phoomparin Mano 31 Oct 11, 2023
A visual canvas and virtual machine for writing assembly to build cool things. Create machines and connect them together.

Visual Assembly Canvas A highly visual assembly editor, infinite canvas for wiring blocks and machines together, bytecode virtual machine runnable nat

Phoomparin Mano 32 Oct 11, 2023
A tool for collecting rollup blocks from the Aztec Connect rollup, and exporting them to csv

Aztec Connect Data Gobbler The Aztec Connect Data gobbler is a tool made for extracting data from the Aztec Connect system using only L1 as its source

Lasse Herskind 6 Feb 17, 2023
A compact implementation of connect four written in rust.

connect-four A compact implementation of connect four written in rust. Run the game At the moment there no pre-built binaries - but you can build it l

Maximilian Schulke 12 Jul 31, 2022
FastSSH is a TUI that allows you to quickly connect to your services by navigating through your SSH config.

Connect quickly to your services ?? FastSSH is a TUI that allows you to quickly connect to your services by navigating through your SSH config. Instal

Julien 85 Dec 14, 2022
VICTOR: An Arcane Connect Four AI using Ancient Knowledge from the 80s

VICTOR VICTOR is a program based on 'A Knowledge-based Approach of Connect-Four' by Victor Allis. The original program written in C has been lost to h

null 2 Jan 6, 2022
An m,n,k-game with Connect Four rules

Description A simple m,n,k-game with Connect Four rules (i.e. every token must be placed in the lowest possible position). The size of the board (m *

Elias 3 Nov 21, 2023
Revolutionize handheld gaming with adaptive game settings. Optimize graphics and gameplay experience based on real-time system metrics. Open-source project empowering developers to enhance games on portable devices

Welcome to the server-side application for the HarmonyLink project. This innovative software is developed with the Rust programming language and is ai

Jordon Brooks 5 Jun 28, 2023
Tool and framework for securely reading untrusted USB mass storage devices.

usbsas is a free and open source (GPLv3) tool and framework for securely reading untrusted USB mass storage devices. Description Following the concept

CEA IT Security 250 Aug 16, 2023
Cross-platform file sharig application for desktop and mobile devices

Skylite Description Getting Started Dependencies Installing Executing program License Acknowledgments Description Cross platform file sharing applicat

Adeoye Adefemi 5 Nov 16, 2023
A cross-platform library for retrieving information about connected devices.

Devices devices is a cross-platform library for retrieving information about connected devices. Combined with a library like sysinfo, a more or less c

Hank Jordan 4 Jan 8, 2023
A new pure-Rust library for cross-platform low-level access to USB devices.

nusb A new pure-Rust library for cross-platform low-level access to USB devices. Documentation Compared to rusb and libusb Pure Rust, no dependency on

Kevin Mehall 23 Oct 30, 2023