Tasmota MQTT IRHVAC Controller

@fnees How did you installed the component? I just made a new release, that this “version” problem is fixed. You can try updating or replacing with the new code, dependion on your installation method. :slight_smile:

Thank you! I have copied to custom_components folder.

I have the same problem, the tasmota console seems to receive correctly the ir command but home assistant doesn’t change the state to off:

 {"IrReceived":{"Protocol":"PANASONIC_AC","Bits":216,"Data":"0x0220E004000000060220E00400302C803F0000066020008500002C","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC","Model":4,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":22,"FanSpeed":"Min","SwingV":"Auto","SwingH":"Auto","Quiet":"Off","Turbo":"On","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}} 

Did you manage to solve it?

Hi @kuenkin, as i mentioned on my post, the only solution I found was to keep the firmware 9.1.0 of tasmota, if I upgrade to a later release the issue starts again.
Maybe @gh0s7 can help us with this, for sure something has changed on tasmota after 9.1 but I do not know what.

Got it working with Daikin A/C split system. I’m on Tasmota 9.5.0(ir) and 0.109.3 using Tasmota-IRHVAC-0.108.0
Based on:

I did need to alter my configuration.yaml as such image
Actually not sure yet that the state_topic is correct yet???

However have can I adjust the fan speed since it is always set to low when commands come from Home Assistant?

Thanks.

@artuditu @kuenkin Try with the latest release/update. This problem should be fixed. Also unique_id support was added, but be carefull with it. Once you enter a unique_id for particular entity don’t change it and use something really unique amoung all entities like MAC address (for example).

1 Like

Thanks @gh0s7 but unfortunately, this last release didn´t work. I upgraded TASMOTA to 9.5 and tried to turn off the AC using the ir remote, the AC turns off but home assistant (2021.7.2) is still shows the AC as on.
Is there any information you need to debug this? if you need I can run some tests.

Thanks

Maybe the log from Tasmota Console and Mqtt broker in the time of sending the command from the remote can help debug.

Also the config of the AC (climate section) would help debugging too … :slight_smile:

@Ralph74 How about changing the state_topic with “tasmota-d1mini/tele/RESULT” (“tele” instead of “stat”)? Do you have all your fan speeds listed in the climate config?

Oh by the way I do not have an IR receiver but I think this is only used for learning commands?
Yes I think I have the fan speed ok in the configuration.yaml

  - platform: tasmota_irhvac
    name: WorkshopDaikin
    command_topic: "tasmota-d1mini/cmnd/irhvac"
    state_topic: "tasmota-d1mini/stat/RESULT"
    temperature_sensor: sensor.workshopdlights_dht11_temperature #optional this sensor is used to display current temp on the AC card
    protocol: "DAIKIN"
    min_temp: 16 #optional - default 16 int value
    max_temp: 30 #optional - default 32 int value
    target_temp: 26 #optional - default 26 int value
    initial_operation_mode: "off" # optional - default "off" string value
    away_temp: 24 #optional - default 24 int value
    precision: 1.0 #optional - default 1.0 float value
    supported_modes:
      - heat
      - cool
      - dry
      - fan_only
      - auto
      - "off" #Turns the AC off - Should be quoted and should be always included here
    supported_fan_speeds:
      - min
      - low 
      - medium
      - high
      - max
      - auto
    supported_swing_list:
      - "off"
      - vertical #up to down
      - horizontal # Left to right - remove if your AC does not support it
      - both # remove if your AC does not support horizontal
    hvac_model: "1" # string value

With the fan speed…How do you change it since this button just puts the A/C into “fan only mode”?
image

Also can you explain what the state_topic is used for please?

Thanks.

@Ralph74 You change the fan speed from the three dots menu in top right corner:
image
and then fan mode here:

@Ralph74 state_topic is used to read the state after the original IR remote control is used and update the UI with the new values. :slight_smile:

AWESOME. It is all working well. Thanks again Hristo.

1 Like

A big thanks @gh0s7. It is a great module that converts my dumb Panasonic AC to smart one and it works very nice.

Just one question, I went through file climate.py, it seems now it does not support to set a particular swing mode to SwingV or SwingH rather than auto or off now.

Set a special anger on SwingH/V means quite a lot to me. I hope someday it could support it.
Thanks man, you did good job.

@LockeKK It was impossible at the time I wrote the custom component. I’m still not sure if it is possible now. I will see HA docs if it is possible this autumn when I have some time. :slight_smile:

Thanks Hristo. In case HA allows settings swingV and H individually, that will be a simple change as current architecture is very handy to replace/convert swing_list into swingv_mode and swingh_mode.

Hi Hristo Atanasov
I make my Nodemcu as your guide for IR receive first (use GPIO14), I applied firmware tasmota-ircustom.bin
I still don’t connect to my HASS via MQTT and there is no device to emit any IR to it, but in console of nodemcu, there are several and always logs and it never ends

13:51:55.600 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:4,“Hash”:“0xF3EAEB56”,“Repeat”:0}}
13:52:20.046 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0xFEAC02E5”,“Repeat”:0}}
13:52:47.026 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0x24AE7D4E”,“Repeat”:0}}
13:53:41.357 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0x24AE7D4F”,“Repeat”:0}}
13:54:01.118 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0xFEAC02E4”,“Repeat”:0}}
13:54:02.218 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0xFEAC02E5”,“Repeat”:0}}
13:54:22.066 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0xFEAC02E7”,“Repeat”:0}}
13:54:28.157 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0x4CB0FADC”,“Repeat”:0}}
13:55:31.221 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:4,“Hash”:“0x30D19B7D”,“Repeat”:0}}
13:55:58.011 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0x4AB0F7B5”,“Repeat”:0}}

Please guide me how to resolve.
Thanks very much

I have another issue
My yaml config is

climate:
  - platform: tasmota_irhvac
    name: DAIKIN IRHvac
    command_topic: "cmnd/NodeMcu1/irhvac"
    state_topic: "tele/NodeMcu1/RESULT"
    temperature_sensor: sensor.room_temperature #optional this sensor is used to display current temp on the AC card
    protocol: "DAIKIN152"
    min_temp: 18 #optional - default 16 int value
    max_temp: 32 #optional - default 32 int value
    target_temp: 28 #optional - default 26 int value
    initial_operation_mode: "off" # optional - default "off" string value
    away_temp: 28 #optional - default 24 int value
    precision: 1.0 #optional - default 1.0 float value
    supported_modes:
      - heat
      - cool
      - dry
      - fan_only
      - auto
      - "off" #Turns the AC off - Should be quoted and should be always included here
    supported_fan_speeds:
      #- low
      - max
      - medium
      # - high
      #- middle
      #- focus
      #- diffuse
      - min
      - auto
    supported_swing_list:
      - "off"
      - vertical #up to down
      - horizontal # Left to right - remove if your AC does not support it
      - both # remove if your AC does not support horizontal
    hvac_model: "-1" # string value
    celsius_mode: "On" #optional - default "On" string value - you can remove it if you use celsius  

my Lovelace is

      - type: thermostat
        entity: climate.daikin_irhvac
        name: my aircondition

When I power on air condition via remote device, the thermostat in lovelace is ON
But when I power off air condition via remote device, the thermostat in lovelace is still ON, not OFF
Even HASS receive MQTT message from NodeMCU

00:25:20.446 MQT: tele/NodeMcu1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA27000031400040000000000000C5000890","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Cool","Power":"On","Celsius":"On","Temp":32,"FanSpeed":"Medium","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:26:00.388 MQT: tele/NodeMcu1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA27000030400040000000000000C54008CF","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":32,"FanSpeed":"Medium","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}

Thanks

Hi Hristo Atanasov
I make my Nodemcu as your guide for IR receive first (use GPIO14), I applied firmware tasmota-ircustom.bin
I still don’t connect to my HASS via MQTT and there is no device to emit any IR to it, but in console of nodemcu, there are several and always logs and it never ends

13:51:55.600 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:4,“Hash”:“0xF3EAEB56”,“Repeat”:0}}
13:52:20.046 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0xFEAC02E5”,“Repeat”:0}}
13:52:47.026 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0x24AE7D4E”,“Repeat”:0}}
13:53:41.357 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0x24AE7D4F”,“Repeat”:0}}
13:54:01.118 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0xFEAC02E4”,“Repeat”:0}}
13:54:02.218 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0xFEAC02E5”,“Repeat”:0}}
13:54:22.066 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0xFEAC02E7”,“Repeat”:0}}
13:54:28.157 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0x4CB0FADC”,“Repeat”:0}}
13:55:31.221 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:4,“Hash”:“0x30D19B7D”,“Repeat”:0}}
13:55:58.011 RSL: RESULT = {“IrReceived”:{“Protocol”:“UNKNOWN”,“Bits”:3,“Hash”:“0x4AB0F7B5”,“Repeat”:0}}

Please guide me how to resolve.
Thanks very much

Is there anybody face to this issue also and how is solution please ?