Not showing set temp since upgrade
morbidpete84 opened this issue · 28 comments
upgraded to the latest version of the intergration and Home Assistant. Since upgrade, AC card no longer showing set temp. Changing the mode shows the mqtt messages being sent but temp is listed as 0.
climate.yaml
- platform: tasmota_irhvac name: "Flower AC" command_topic: "cmnd/tasmota_DEED62/irhvac" # Pick one of the following: # State is updated when the tasmota device receives an IR signal (includes own transmission and original remote) # useful when a normal remote is in use alongside the tasmota device, may be less reliable than the second option. state_topic: "tele/tasmota_DEED62/RESULT" # State is updated when the tasmota device completes IR transmissionm, should be pretty reliable. #state_topic: "stat/tasmota_DEED62/RESULT" # State is updated when the tasmota device completes IR transmissionm, should be pretty reliable. #state_topic: "stat/tasmota_DEED62/RESULT" temperature_sensor: sensor.flower_temperature vendor: "MIDEA" min_temp: 62 #optional - default 16 int value max_temp: 86 #optional - default 32 int value target_temp: 75 #optional - default 26 int value initial_operation_mode: "cool" # optional - default "off" string value (one of the "supported_modes") away_temp: 75 #optional - default 24 int value precision: 1 #optional - default 1 int or float value. Can be set to 1, 0.5 or 0.1 supported_modes: - "heat" - "cool" - "dry" - "fan_only" - "auto" - "off" #Turns the AC off - Should be in quotes # Some devices have "auto" and "fan_only" switched # If the following two lines are uncommented, "auto" and "fan" shoud be commented out #- auto_fan_only #if remote shows fan but tasmota says auto #- fan_only_auto #if remote shows auto but tasmota says fan supported_fan_speeds: # Some devices say max,but it is high, and auto which is max # If you uncomment the following two, you have to comment high and max # - auto_max #woud become max # - max_high #would become high #- on #- off #- low - "medium" #- "high" #- middle #- focus #- diffuse - "min" - "max" - "auto" supported_swing_list: - "off" - "vertical" #up to down # - horizontal # Left to right # - both default_quiet_mode: "Off" #optional - default "Off" string value default_turbo_mode: "On" #optional - default "Off" string value default_econo_mode: "Off" #optional - default "Off" string value hvac_model: "-1" #optional - default "1" string value celsius_mode: "Off" #optional - default "On" string value default_light_mode: "Off" #optional - default "Off" string value default_filter_mode: "Off" #optional - default "Off" string value default_clean_mode: "Off" #optional - default "Off" string value default_beep_mode: "Off" #optional - default "Off" string value default_sleep_mode: "-1" #optional - default "-1" string value
mqtt to ir controller
Message 214 received on stat/tasmota_DEED62/RESULT at 9:40 AM: { "IRHVAC": { "Vendor": "MIDEA", "Model": -1, "Mode": "Cool", "Power": "On", "Celsius": "Off", "Temp": 0, "FanSpeed": "Max", "SwingV": "Off", "SwingH": "Off", "Quiet": "Off", "Turbo": "On", "Econo": "Off", "Light": "Off", "Filter": "Off", "Clean": "Off", "Beep": "Off", "Sleep": -1 } }
HA 2022.3.3
Tasmota-IRHVAC 2022.03.05
Mosquitto broker 6.0.1
So, commented out the tele line and used the stat line. Can now see the temp it is set to. Remote no longer reflects changes in HA but that was more of a nice to have than a need as I never use the remote.
What is the version of HA, that you are using? Also I see that for some reason HA sends temp as 0 .. Are you using the default thermostat card? It looks like this:
HA 2022.3.3
Tasmota-IRHVAC 2022.03.05
Mosquitto broker 6.0.1
Using the entity card for climate.flower_ac. I included all the versions in my original post and also mentioned the 0 degrees being sent. Once I changed to tele vs stat its fine and I really have no problem loosing the manual remote reading, I used it maybe once or twice int he past 6 months. I set my AC automation to run every 30 mins so it always changes back anyway.
If you need any other info to help resolve the issue in the code (or if it is my own issue/fault) I'm more than willing to help. If not I'm happy with the way it's working now.
After some testing with MIDEA vendor, I can only say that it is working on my HA instance and on my IR transceivers with Tasmota 8.1 .. The Tasmota-IRHVAC sends the right temperature values and receives the right temperature values. Also using both "tele/" and "stat/" I receive the same result. Using both I can send and receive from simulated ir remote (using MIDEA protococ) all commands, temp changes, modes, etc. So I can suggest, that this could be a problem with compatibility between your AC and MIDEA IR protocol, or broken MIDEA protocol in Tasmota 9.5.0 . Or maybe some other problem, that I cannot think of right now. Looking trogh the component code, I see we don't manipulate the temperature that is being sent to Tasmota device. I tested with both Entity card and Thermostat card, both are sending the right values, and my transceivers are receiving the right values too. In the latest 2 releases we just changed the way the the integration subscribes to the toppics. Not a single line about temperatures. Currently I can't think of a reason why you have this problem after updating HA and Tasmota-IRHVAC. If someone can give some idea, I'm available to help.
After some testing with MIDEA vendor, I can only say that it is working on my HA instance and on my IR transceivers with Tasmota 8.1 .. The Tasmota-IRHVAC sends the right temperature values and receives the right temperature values. Also using both "tele/" and "stat/" I receive the same result. Using both I can send and receive from simulated ir remote (using MIDEA protococ) all commands, temp changes, modes, etc. So I can suggest, that this could be a problem with compatibility between your AC and MIDEA IR protocol, or broken MIDEA protocol in Tasmota 9.5.0 . Or maybe some other problem, that I cannot think of right now. Looking trogh the component code, I see we don't manipulate the temperature that is being sent to Tasmota device. I tested with both Entity card and Thermostat card, both are sending the right values, and my transceivers are receiving the right values too. In the latest 2 releases we just changed the way the the integration subscribes to the toppics. Not a single line about temperatures. Currently I can't think of a reason why you have this problem after updating HA and Tasmota-IRHVAC. If someone can give some idea, I'm available to help.
I appreciate all your efforts on looking into that. When I have more time int he next few weeks I will play around on my end and see if I can find something that changed. It's clear its on my end at this point. Appreciate the project also. Its been a god send for my controller.
I'm looking trough HA code, as not always they anounce every single small change and there might be some slight change, that might affect you and somehow cause the issue.
Currently I'm out of ideas ..
My setup:
Home Assistant 2022.3.3
Tasmota-IRHVAC 2022.03.05
Tasmota 8.1
Lovelace
climate.yaml
Only command_topic
, state_topic
and temperature_sensor
values are changed to suit my IR Transceiver.
- platform: tasmota_irhvac
name: "Flower AC"
command_topic: "cmnd/kitchenMultisensor/irhvac"
state_topic: "tele/kitchenMultisensor/RESULT"
temperature_sensor: sensor.kitchen_temperature
vendor: "MIDEA"
min_temp: 62 #optional - default 16 int value
max_temp: 86 #optional - default 32 int value
target_temp: 75 #optional - default 26 int value
initial_operation_mode: "cool" # optional - default "off" string value (one of the "supported_modes")
away_temp: 75 #optional - default 24 int value
precision: 1 #optional - default 1 int or float value. Can be set to 1, 0.5 or 0.1
supported_modes:
- "heat"
- "cool"
- "dry"
- "fan_only"
- "auto"
- "off" #Turns the AC off - Should be in quotes
# Some devices have "auto" and "fan_only" switched
# If the following two lines are uncommented, "auto" and "fan" shoud be commented out
#- auto_fan_only #if remote shows fan but tasmota says auto
#- fan_only_auto #if remote shows auto but tasmota says fan
supported_fan_speeds:
# Some devices say max,but it is high, and auto which is max
# If you uncomment the following two, you have to comment high and max
# - auto_max #woud become max
# - max_high #would become high
#- on
#- off
#- low
- "medium"
#- "high"
#- middle
#- focus
#- diffuse
- "min"
- "max"
- "auto"
supported_swing_list:
- "off"
- "vertical" #up to down
# - horizontal # Left to right
# - both
default_quiet_mode: "Off" #optional - default "Off" string value
default_turbo_mode: "On" #optional - default "Off" string value
default_econo_mode: "Off" #optional - default "Off" string value
hvac_model: "-1" #optional - default "1" string value
celsius_mode: "Off" #optional - default "On" string value
default_light_mode: "Off" #optional - default "Off" string value
default_filter_mode: "Off" #optional - default "Off" string value
default_clean_mode: "Off" #optional - default "Off" string value
default_beep_mode: "Off" #optional - default "Off" string value
default_sleep_mode: "-1" #optional - default "-1" string value
Tasmota logs:
20:38:10 MQT: tele/kitchenMultisensor/RESULT = {"IrReceived":{"Protocol":"MIDEA","Bits":48,"Data":"0xA1936AFFFF7A","DataLSB":"0x85C956FFFF5E","Repeat":0,"IRHVAC":{"Vendor":"MIDEA","Model":-1,"Power":"On","Mode":"Heat","Celsius":"Off","Temp":72,"FanSpeed":"Medium","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
20:38:16 MQT: stat/kitchenMultisensor/RESULT = {"IRHVAC":{"Vendor":"MIDEA","Model":-1,"Power":"On","Mode":"Heat","Celsius":"Off","Temp":73,"FanSpeed":"Medium","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}
20:38:17 MQT: tele/kitchenMultisensor/RESULT = {"IrReceived":{"Protocol":"MIDEA","Bits":48,"Data":"0xA1936BFFFF7B","DataLSB":"0x85C9D6FFFFDE","Repeat":0,"IRHVAC":{"Vendor":"MIDEA","Model":-1,"Power":"On","Mode":"Heat","Celsius":"Off","Temp":73,"FanSpeed":"Medium","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
20:38:29 MQT: stat/kitchenMultisensor/RESULT = {"IRHVAC":{"Vendor":"MIDEA","Model":-1,"Power":"On","Mode":"Heat","Celsius":"Off","Temp":73,"FanSpeed":"Max","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}
20:38:29 MQT: tele/kitchenMultisensor/RESULT = {"IrReceived":{"Protocol":"MIDEA","Bits":48,"Data":"0xA19B6BFFFF73","DataLSB":"0x85D9D6FFFFCE","Repeat":0,"IRHVAC":{"Vendor":"MIDEA","Model":-1,"Power":"On","Mode":"Heat","Celsius":"Off","Temp":73,"FanSpeed":"Max","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
20:38:34 MQT: stat/kitchenMultisensor/RESULT = {"IRHVAC":{"Vendor":"MIDEA","Model":-1,"Power":"On","Mode":"Heat","Celsius":"Off","Temp":73,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}
20:38:34 MQT: tele/kitchenMultisensor/RESULT = {"IrReceived":{"Protocol":"MIDEA","Bits":48,"Data":"0xA19B6BFFFF73","DataLSB":"0x85D9D6FFFFCE","Repeat":0,"IRHVAC":{"Vendor":"MIDEA","Model":-1,"Power":"On","Mode":"Heat","Celsius":"Off","Temp":73,"FanSpeed":"Max","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
20:38:37 MQT: stat/kitchenMultisensor/RESULT = {"IRHVAC":{"Vendor":"MIDEA","Model":-1,"Power":"On","Mode":"Heat","Celsius":"Off","Temp":74,"FanSpeed":"Max","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}
20:38:38 MQT: tele/kitchenMultisensor/RESULT = {"IrReceived":{"Protocol":"MIDEA","Bits":48,"Data":"0xA19B6CFFFF76","DataLSB":"0x85D936FFFF6E","Repeat":0,"IRHVAC":{"Vendor":"MIDEA","Model":-1,"Power":"On","Mode":"Heat","Celsius":"Off","Temp":74,"FanSpeed":"Max","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
I have the same problem. I've just upgraded to the 2022.3.5 HA version and since then in the IRHVAC card the temperature reading disappeared. Just before the upgrade everything was normal. In an other thermostat I have (for central heating control) everything remained OK.
After deleting the cache file too from the tasmota_irhvac folder and reloading all the custom files here again, everything is working againt.
@ltegzes Good news for my ears. And thank you for sharing your fix! :)
@morbidpete84 Did you fix your problem? If not, can you try with the solution @ltegzes gave?
I’ll give it a go this weekend. Pretty tied up this week 😢
…
Sent from my iPhone
On Apr 5, 2022, at 12:07, Hristo Atanasov @.***> wrote: @morbidpete84 Did you fix your problem? If not, can you try with the solution @ltegzes gave?
Don't worry! We, thinkers, don't have dead lines .. :) I hope you make it work. :)
After deleting the cache file too from the tasmota_irhvac folder and reloading all the custom files here again, everything is working againt.
I had same problem after upgrade from 2021.12 to 2022.4.7 and this worked.
@ltegzes and @peedubwoo , may I know where's the folder you mentioned "deleting the cache file too from the tasmota_irhvac folde" because I also have same issue but can't find the cache folder and files. thanks !
@yulin0826 config/custom_components/tasmota_irhvac/
Same problem here. Deleting __pycache__
folder didn't help, I think it has something to do with HA 2022.5 version.
Logger: homeassistant.components.climate
Source: components/climate/__init__.py:220
Integration: Climatización ([documentation](https://www.home-assistant.io/integrations/climate), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+climate%22))
First occurred: 9 de mayo de 2022, 16:47:48 (2 occurrences)
Last logged: 9 de mayo de 2022, 16:47:48
Error adding entities for domain climate with platform tasmota_irhvac
Error while setting up tasmota_irhvac platform for climate
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 382, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 619, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 810, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 533, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 571, in _async_write_ha_state
state = self._stringify_state(available)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 539, in _stringify_state
if (state := self.state) is None:
File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 220, in state
return HVACMode(self.hvac_mode).value
File "/usr/local/lib/python3.9/enum.py", line 384, in __call__
return cls.__new__(cls, value)
File "/usr/local/lib/python3.9/enum.py", line 702, in __new__
raise ve_exc
ValueError: 'unavailable' is not a valid HVACMode
@alceasan this is different problem, that I opened a new issue for it. :)
ValueError: 'unavailable' is not a valid HVACMode
@alceasan this is different problem, that I opened a new issue for it. :) ValueError: 'unavailable' is not a valid HVACMode
Even if it's a different problem, the consequences are the same. Integration is working - I can turn on and off my AC - but I can't set target temperature. I commented here because of that, I hope you can fix it because this integration is great, and I use it in all my ACs in home :)
Please, have a patience! I assure you the problem will be fixed! Believe me - it is not because I can't, but a serious family problem! Thank you for Your understanding!
The temperature selector was not showing on my side either in 2023.3.6 and the cache clean did not fix it for me. The only way I found to have it back is actually calling the service climate.set_temperature to set a temperature in the developer menu. Once that was done, the temperature selector was back on the details popup of the device.
Same issue for me, When the IR Bridge device restarts, The temperature is set to null or None in python. After that I cannot start the AC without calling set temperature service. For now what i have done to fix this is init target_temp with a fallback value
# climate.py line 498, 499
self._def_target_temp = config[CONF_TARGET_TEMP]
self._target_temp = config[CONF_TARGET_TEMP]