You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When the Wave 2 is set to Fahrenheit the "Temperature set in current mode" entity is still being set to Celsius in the unit_of_measure property of the discovery object sent to HA. The property is also known as setTemp and number.{serial}_pd_temperature_set_in_current_mode.
To Reproduce
Steps to reproduce the behavior:
Set the Wave 2 to Fahrenheit
Restart the ecoflow-mqtt instance
Check the config data in the HA MQTT at "homeassistant/number/{serial}_pd/setTemp/config"
See that the "unit_of_measurement" == "°C" also that the min and max values are set for Celsius as well.
Additionally the temperature will be converted from a value that is Fahrenheit into Celsius resulting in displaying an incorrect value.
Expected behavior
The unit_of_measurement property needs to change with the value of switch.{serial}_pd_unit_of_temperature ? F : C
Screenshots & Logfiles
The discovery object currently being sent.
{"has_entity_name":true,"unique_id":"{serial}_pd_setTemp","state_topic":"iob_ef/{serial}_pd/setTemp","device":{"identifiers":"{serial}_pd","name":"{serial}_pd","manufacturer":"Ecoflow","model":"WAVE 2 Air Conditioner","via_device":"{serial}_status"},"availability_topic":"iob_ef/{serial}/info/status","payload_available":"online","payload_not_available":"offline","origin":{"name":"iobroker.ecoflow-mqtt","sw_version":"1.0.5"},"name":"Temperature set in current mode","unit_of_measurement":"°C","device_class":"temperature","min":16,"max":30,"step":1,"command_topic":"iob_ef/{serial}/set/pd/setTemp"}
Incorrect value being displayed.
Correct value as being displayed in "Set temperature in degrees Fahrenheit" (sensor.{serial}_pd_set_temperature_in_degrees_fahrenheit)
Versions:
Adapter version: v1.0.5
JS-Controller version: 6.0.11
Node version: v20.18.1
Operating system: Ubuntu 24.04.1 LTS
Additional context
The property is being set for the discovery object here:
I anticipated such an issue, since I only made it with °C.
The adapter creates the states before of the first communication, based on the configuration.
I agree, that a dynamic change of the properties will difficult.
Maybe the only way would be a data field in the config °C/°F to preset it.
Describe the bug
When the Wave 2 is set to Fahrenheit the "Temperature set in current mode" entity is still being set to Celsius in the unit_of_measure property of the discovery object sent to HA. The property is also known as setTemp and number.{serial}_pd_temperature_set_in_current_mode.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The unit_of_measurement property needs to change with the value of switch.{serial}_pd_unit_of_temperature ? F : C
Screenshots & Logfiles
The discovery object currently being sent.
Incorrect value being displayed.
Correct value as being displayed in "Set temperature in degrees Fahrenheit" (sensor.{serial}_pd_set_temperature_in_degrees_fahrenheit)
Versions:
Additional context
The property is being set for the discovery object here:
ioBroker.ecoflow-mqtt/lib/ha_utils.js
Line 98 in 347673b
Sadly I don't see an easy way to make it dynamic based on the switch.{serial}_pd_unit_of_temperature property.
If I manually push the correct unit to HA's MQTT setTemp/config it will display correctly in HA.
The text was updated successfully, but these errors were encountered: