hristo-atanasov / Tasmota-IRHVAC

Home Assistant platform for controlling IR Air Conditioners via Tasmota IRHVAC command and compatible hardware
208 stars 68 forks source link

Not showing set temp since upgrade #67

Closed morbidpete84 closed 5 months ago

morbidpete84 commented 2 years ago

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

Screen Shot 2022-03-08 at 09 37 34

Screen Shot 2022-03-08 at 09 41 11

morbidpete84 commented 2 years ago

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.

hristo-atanasov commented 2 years ago

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: thermostat_card

morbidpete84 commented 2 years ago

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: thermostat_card

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.

hristo-atanasov commented 2 years ago

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.

morbidpete84 commented 2 years ago

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.

hristo-atanasov commented 2 years ago

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.

hristo-atanasov commented 2 years ago

Currently I'm out of ideas ..

My setup:

Home Assistant 2022.3.3

image

Tasmota-IRHVAC 2022.03.05

image

Tasmota 8.1

image

Lovelace

image

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}}}
ltegzes commented 2 years ago

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.

ltegzes commented 2 years ago

image

ltegzes commented 2 years ago

image

ltegzes commented 2 years ago

After deleting the cache file too from the tasmota_irhvac folder and reloading all the custom files here again, everything is working againt.

hristo-atanasov commented 2 years ago

@ltegzes Good news for my ears. And thank you for sharing your fix! :)

hristo-atanasov commented 2 years ago

@morbidpete84 Did you fix your problem? If not, can you try with the solution @ltegzes gave?

morbidpete84 commented 2 years ago

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?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.

hristo-atanasov commented 2 years ago

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. :)

peedubwoo commented 2 years ago

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.

yulin0826 commented 2 years ago

@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 !

hristo-atanasov commented 2 years ago

@yulin0826 config/custom_components/tasmota_irhvac/

ltegzes commented 2 years ago

On 2022. May 6., Fri at 4:59, yulin0826 @.***> wrote:

@ltegzes https://github.com/ltegzes and @peedubwoo https://github.com/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 !

— Reply to this email directly, view it on GitHub https://github.com/hristo-atanasov/Tasmota-IRHVAC/issues/67#issuecomment-1119216792, or unsubscribe https://github.com/notifications/unsubscribe-auth/AODW73PBBGUXKBP2GGSX2HLVISDJFANCNFSM5QGRVZYA . You are receiving this because you were mentioned.Message ID: @.***>

As I remember it was a hidden File in the folder starting with underscore… You shoud see it if you SSH to the HA.

alceasan commented 2 years ago

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
hristo-atanasov commented 2 years ago

@alceasan this is different problem, that I opened a new issue for it. :) ValueError: 'unavailable' is not a valid HVACMode

alceasan commented 2 years ago

@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 :)

hristo-atanasov commented 2 years ago

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!

gabrielbergeron commented 1 year ago

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.

tanishqmanuja commented 1 year ago

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]
nao-pon commented 5 months ago

Starting from Tasmota-IRHVAC 2024.6.1, you can subscribe to both "tele" and "stat" messages. Try the following settings.

    state_topic: "tele/your_tasmota_device/RESULT"
    state_topic_2: "stat/your_tasmota_device/RESULT"

I will close this, but you can reopen it if you continue to experience similar issues.

daniele-athome commented 5 months ago

Still happening on latest version and HA 2024.6.3. The workaround suggested above at least makes the Lovelace card working again - although temperature is reset to the default. (can't reopen because I'm not the OP).

EDIT: I did configure both state topics.

nao-pon commented 5 months ago

@daniele-athome That could be related to #131.