-
-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
H7131 Space Heater: HA switch controls seem mismatched #59
Comments
This was actually harmless, but noisy. The cause was that Govee API returns this error message when trying to list the available scenes for the device. When I started this project the API returned an empty list, but as of a few days ago they made it return an error condition for devices that don't support scenes. We ignore the error and continue, so it didn't harm anything, it was just noisy. refs: #58 refs: #50 refs: #59 refs: #56
The errors about listing scenes should be resolved in the latest version of the addon. The other issue(s) still need attention. |
This commit introduces temperature (and humidity) units awareness to the quirks layer, and defines some quirks for a handful of devices. These quirks allow us to correctly interpret the sensor readings returned from the platform API for these devices, which do not have any other metadata available from Govee to aid with this. refs: #58 refs: #56 refs: #47 It may also help to avoid misinterpreting the device power state with the rgb light state on devices that are not primarily lights, such as certain kinds of space heaters and humidifiers, and with some light strips. refs: #59 refs: #49
For devices that report temperature settings, this commit will now expose a number entity in Celsius that will change the target temperature when set. None of the govee device metadata I've see so far report the current temperature target, so this entity works in optimistic mode. It's possible that hass will keep it greyed out until a value is reported for it, which will be kinda sucky. refs: #30 refs: #47 refs: #56 refs: #59 refs: #69 refs: #75
* *Important*: when upgrading from an earlier version, you should delete any devices that have temperature sensors or controls and then stop the addon/docker container and ensure that you have set the temperature scale to your preference, then start the addon/container again. This commit introduces a configuration option to specify your preferred temperature scale as either "C" or "F" for Celsius or Farenheit, respectively. Entities created in home assistant will be set to use those units, and convert to the underlying device units. Since I don't own any devices with this characteristics, this change has not been tested with real devices and it may not work; please file an issue if you're having trouble with this! refs: #30 refs: #47 refs: #56 refs: #59 refs: #69 refs: #75
Temperature related entities have changed in the latest version of the addon.
If your device has a temperature reading, there is now only a single sensor entity that will report the value using the temperature scale that you configured with govee2mqtt. (There isn't a simple way to automatically get this from hass). If your device has a temperature control, there should now be a number entity that will allow you to set the temperature. |
After updating following the instructions provided, I now see the ambient temperature (sensorTemperature) from the heater displayed in HA in °F which is correct. |
what's left todo here? |
The temp problem was the separate issue I created (#58) which is resolved (thanks!). This issue with mismatched control remains. I do see that some things have changed with the latest version, but several control issues remain (this is with the latest - 2024.01.17-2c728a28): First, here's what is working:
What is not working:
What appears to be working but is confusing:
|
Please share the logs from the addon when you try to control this.
Did you set the new
I believe this to be a govee platform API issue. I see the same thing when using the platform API on my humidifier.
The metadata returned for your device (which you shared in #58 (comment)) shows:
So all we know about this is that it is a toggle switch that we can ask to be turned on or off.
I'll put in a quirk that will map gearMode (which is how Govee's API refers to that) as individual preset buttons. |
Tackling the easy questions first :)
|
the various buttons should be fixed in |
So, something changed for me with setting the target temp after installing the most recent version: I am now seeing the target temp in °F, and it is changing the setting on the unit, so that's better. Unfortunately, the numeric slider in the UI only lets me toggle the target temp between 41° and 74.8° which is weird. Log:
|
Please install |
The Target Temp slider still only toggles between 41 and 74.8 °F, but it is now labeled as 10°F. |
Hmm, I'm not sure that the UI is showing the right stuff there, because the buttons ending with I've pushed a new update:
|
slider step size should be fixed in |
Nice! Ok, here's what I'm seeing now.
|
Just noticed the temperature sensor is showing unavailable, but the addon log (as well as direct Postman calls) are getting 500 errors when trying to get the device state. I imagine this means something is up with Govee's endpoint which should hopefully clear up on its own soon. Edit: the |
I think the only thing left to tackle now is rounding/precision for the temperature setting |
Just installed the latest (2024.01.17-5df26edb) and this is really coming together nicely - thanks again! There are just a couple initial things I'm noticing though I haven't thoroughly tested everything yet:
|
This is expected: the Platform API has no way to read this value and if we don't set it to something, HA will prevent using the entity to change it.
This is how the API works; it's a bug on Govee's side. Reverse engineering the IoT packets will likely resolve this in the same way that it decouples these things on my humidifier, but that requires sniffing BLE control packets to get it right.
This is a side effect of how kooky the mode handling is in the API; it's a tiered enum with inner enums for different modes. You always have the option in HA to hide entities you don't want to see, in order to reduce clutter. |
Awesome - I think this closes everything I'd reported in this issue. If I notice anything new I'll raise a new issue. |
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:
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
Additional Logs
No response
Home Assistant Logs
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered: