Tasmota MQTT IRHVAC Controller

@jbrande I’m using tele in my config and it works for me for everywhere. If you use the climate entity in your automation it should update it in the UI too.

Hi, so I have this ir signal for controlling ceiling fan speed (low, medium, high)

18:17:43.678 MQT: tele/remote_livingroom/RESULT = {"IrReceived":{"Protocol":"SYMPHONY","Bits":12,"Data":"0xC01","DataLSB":"0x3080","Repeat":0}}
18:17:44.983 MQT: tele/remote_livingroom/RESULT = {"IrReceived":{"Protocol":"SYMPHONY","Bits":12,"Data":"0xC04","DataLSB":"0x3020","Repeat":0}}
18:17:46.088 MQT: tele/remote_livingroom/RESULT = {"IrReceived":{"Protocol":"SYMPHONY","Bits":12,"Data":"0xC43","DataLSB":"0x30C2","Repeat":0}}

How do you integrate this as fan speed entity? So I can use with this with Fan Percent Button Row (hacs)

Put this in scripts.yaml and reload scripts or restart Home Assistant:

ir_code:
  sequence:
  - data_template:
      payload: '{"Protocol":"{{ protocol }}","Bits": {{ bits }},"Data": {{ data }},"DataLSB":{{ lsb }},"Repeat":{{ repeat }}}'
      topic: 'cmnd/remote_{{ room }}/irsend'
    service: mqtt.publish

You can use it like this:

cards:
  - tap_action:
      action: call-service
      service: script.ir_code
      service_data:
        bits: 12
        data: 0xC01
        lsb: 0x3080
        repeat: 0
        protocol: SYMPHONY
        room: kitchen
    color: white
    icon: mdi:power
    name: Fan Low
    style:
      - color: white
      - background: green
      - '--disabled-text-color': white
    type: custom:button-card

Important: Read the very first post to understand the mqtt topic naming chema. In this example I’ve adjusted the script for your needs, but it is good idea to follow topic naming rools in order for the script to work with any of your remotes and their topics. Also the button I’ve shown uses custom button card, but you can use any card using the same action, service and service_data.

Hi thanks, i’ve already done that
My concern was adding it to fan services in HA since i wasn’t sure how to do that
Could it update the current speed of the fan if physical remote is used? Or is fhat something that’s only limited to irhvac

It is limited to IRHVAC, there is always a way. If you make a sensor in HA, that has the value of the code from the IR receiver, you can make script or automation, that when the value of the sensor changes it performs some action. So let say if your fan has 3 speeds and their IR codes are 0x3B20,0x3B21,0x3B22 in the script/automation you check if the state of the sensor is with one of those 3 values and set the entity to its coresponding speed, let say min, medium, max. :slight_smile:

1 Like

Very cool Project, but i have some understand problems :slight_smile:
I’m using a BW-RC1 IR Controler, which is connected via tasmota.

original code:

18:09:52.612 MQT: tele/Klimaanlage_Buero_5A7A65/RESULT = {"IrReceived":{"Protocol":"PANASONIC_AC","Bits":216,"Data":"0x0220E004000000060220E00400392080320C000EE000008100008C","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC","Model":0,"Mode":"Cool","Power":"On","Celsius":"On","Temp":16,"FanSpeed":"Min","SwingV":"High","SwingH":"Right Max","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}

my thermostat changes will be resume always, when i try to change it
image

my config.yaml is this

  - platform: tasmota_irhvac
    name: "Klimaanlage Büro"
    command_topic: "cmnd/Klimaanlage_Buero_5A7A65/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/Klimaanlage_Buero_5A7A65/RESULT"
    # State is updated when the tasmota device completes IR transmissionm, should be pretty reliable.
    #state_topic: "stat/your_tasmota_device/RESULT"
    # Uncomment if your 'available topic' of Tasmota IR device are different (if device in HA is disabled)
    #availability_topic: "tele/your_tasmota_device/LWT"
    temperature_sensor: sensor.kitchen_temperature
    #humidity_sensor: sensor.kitchen_humidity #optional - default None
    power_sensor: binaly_sensor.kitchen_ac_power #optional - default None
    vendor: "PANASONIC_AC"
    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 (one of the "supported_modes")
    away_temp: 24 #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:
      - "auto"
      - "heat"
      - "cool"
      - "dry"
      - "fan_only" # Use "fan_only" even if Tasmota shows "Mode":"Fan"
      - "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"
      - "auto"
      - "min"
      - "low"
      - "medium"
      - "high"
      - "max"
    supported_swing_list:
      #- "off"
      - "vertical" #up to down
      - "horizontal" # Left to right
      #- "both"
    default_quiet_mode: "Off" #Quiet und Turbo sind in der Firmware vertauscht | optional - default "Off" string value
    default_turbo_mode: "On" #Quiet und Turbo sind in der Firmware vertauscht | optional - default "Off" string value
    default_econo_mode: "On" #optional - default "Off" string value
    hvac_model: "-1" #optional - default "1" string value
    celsius_mode: "On" #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
    default_swingv: "high" #optional - default "" string value
    default_swingh: "left" #optional - default "" string value 
    keep_mode_when_off: True #optional - default False boolean value : Must be True for MITSUBISHI_AC, ECOCLIM, etc.
    toggle_list: #optional - default []
      # The toggled property is a setting that does not retain the On state.
      # Set this if your AC properties are toggle function.
      - Beep
      - Clean
      - Econo
      - Filter
      - Light
      - Quiet
      #- Sleep
      #- SwingH
      #- SwingV
      - Turbo

i found my issue, it was the ü,ö,ä in the Topics ^^

@gh0s7 i have some more modes as you support currently, can you add these?

  • Mode: MildDry

Please add a funktion to change SwingH & SwingV in Thermostat Card

Edit:
all “default_*_mode” are not working they are always off only celsius are working any ideas?
i need to do it always manuell via services

Can a payload be sent via http cmd? I want to use Vera edge controller to send the cmd.

tasmota recognized my protocol as GOODWEATHER After setting up the config, it sends commands, but the air conditioner does not understand them.
noticed that in the commands sent by the remote there is

“Bits”:48,“Data”:“0x556A7A010000”,“DataLSB”:“0xAA565E800000”,“Repeat”:0,

by adding this to the command sent by your integration. And having sent through the console it earned.
how do i make the default integration send these commands?

remote control code example:

{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x556A7A010000”,“DataLSB”:“0xAA565E800000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Fan”,“Power”:“On”,“Celsius”:“On”,“Temp”:26,“FanSpeed”:“Min”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x55097A010000”,“DataLSB”:“0xAA905E800000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Auto”,“Power”:“On”,“Celsius”:“On”,“Temp”:25,“FanSpeed”:“Min”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x552A1A010000”,“DataLSB”:“0xAA5458800000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Cool”,“Power”:“On”,“Celsius”:“On”,“Temp”:26,“FanSpeed”:“Auto”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x55497A010000”,“DataLSB”:“0xAA925E800000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Dry”,“Power”:“On”,“Celsius”:“On”,“Temp”:25,“FanSpeed”:“Min”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x558E3A010000”,“DataLSB”:“0xAA715C800000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Heat”,“Power”:“On”,“Celsius”:“On”,“Temp”:30,“FanSpeed”:“Max”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x556A7A010000”,“DataLSB”:“0xAA565E800000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Fan”,“Power”:“On”,“Celsius”:“On”,“Temp”:26,“FanSpeed”:“Min”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x55097A010000”,“DataLSB”:“0xAA905E800000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Auto”,“Power”:“On”,“Celsius”:“On”,“Temp”:25,“FanSpeed”:“Min”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x552A1A010000”,“DataLSB”:“0xAA5458800000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Cool”,“Power”:“On”,“Celsius”:“On”,“Temp”:26,“FanSpeed”:“Auto”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x55497A010000”,“DataLSB”:“0xAA925E800000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Dry”,“Power”:“On”,“Celsius”:“On”,“Temp”:25,“FanSpeed”:“Min”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x558E3A010000”,“DataLSB”:“0xAA715C800000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Heat”,“Power”:“On”,“Celsius”:“On”,“Temp”:30,“FanSpeed”:“Max”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x558E38000000”,“DataLSB”:“0xAA711C000000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Heat”,“Power”:“Off”,“Celsius”:“On”,“Temp”:30,“FanSpeed”:“Max”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x558E3A000000”,“DataLSB”:“0xAA715C000000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Heat”,“Power”:“On”,“Celsius”:“On”,“Temp”:30,“FanSpeed”:“Max”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x556A7A010000”,“DataLSB”:“0xAA565E800000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Fan”,“Power”:“On”,“Celsius”:“On”,“Temp”:26,“FanSpeed”:“Min”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x55697A030000”,“DataLSB”:“0xAA965EC00000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Fan”,“Power”:“On”,“Celsius”:“On”,“Temp”:25,“FanSpeed”:“Min”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x55097A010000”,“DataLSB”:“0xAA905E800000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Auto”,“Power”:“On”,“Celsius”:“On”,“Temp”:25,“FanSpeed”:“Min”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x55097A0B0100”,“DataLSB”:“0xAA905ED08000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Auto”,“Power”:“On”,“Celsius”:“On”,“Temp”:25,“FanSpeed”:“Min”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“On”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}
{“IrReceived”:{“Protocol”:“GOODWEATHER”,“Bits”:48,“Data”:“0x55097A0B0000”,“DataLSB”:“0xAA905ED00000”,“Repeat”:0,“IRHVAC”:{“Vendor”:“GOODWEATHER”,“Model”:-1,“Command”:“Control”,“Mode”:“Auto”,“Power”:“On”,“Celsius”:“On”,“Temp”:25,“FanSpeed”:“Min”,“SwingV”:“Off”,“SwingH”:“Off”,“Quiet”:“Off”,“Turbo”:“Off”,“Econo”:“Off”,“Light”:“Off”,“Filter”:“Off”,“Clean”:“Off”,“Beep”:“Off”,“Sleep”:-1,“iFeel”:“Off”,“SensorTemp”:“n/a”}}}

someone can tell me why (in which case) i should use “initial_operation_mode” & “power_sensor”
I dont understand these Parameters

Is there a way, to set a temp temperatur value that do not override the orginal temp on my theromstat.

initial_operation_mode is used to show if the AC as turned off or turned on after HA restart. As there is no info if the AC is turned on or off immediately after restart. power_sensor is a sensor that can detect if AC is turned on or off. Usually some smart plug, that has power metter, but not limited to smart plugs. If there is power usage - the AC is turned on, if there isn’t or the consumption is too low - the AC is off. :slight_smile:

1 Like

Hi,
I am pretty new to HA and I am trying to integrate all of my device. I just have 4 Mitsubishi Airco controlled by Tasmota IR and OpenHab and I am trying to integrate in HA.
I am able to control my Airco with HA and this addon, but I my Airco have Econo function, and I would like to add it to the card in my Dashboard. This is mi config:

climate:
  - platform: tasmota_irhvac
    name: Mitsubishi Cucina
    command_topic: "cmnd/Tasmota-PensileCucina/IRHVAC"
    state_topic: "tele/Tasmota-PensileCucina/RESULT"
    temperature_sensor: sensor.xiaomi_temp_cucina_temperature #optional this sensor is used to display current temp on the AC card
    protocol: "MITSUBISHI_AC"
    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:
      - 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
    default_econo_mode: "Off" #optional - default "Off" string value
    hvac_model: "1" # string value
    celsius_mode: "On" #optional - default "On" string value - you can remove it if you use celsius
    toggle_list: #optional - default []
      # The toggled property is a setting that does not retain the On state.
      # Set this if your AC properties are toggle function.
      #- Beep
      #- Clean
      - Econo
      #- Filter
      #- Light
      #- Quiet
      #- Sleep
      #- SwingH
      #- SwingV
      #- Turbo

It is possible to achieve this?

Thanks

@marcolino7 I think you can. This is what Econo is used for in the toggle_list. :slight_smile:

Hi @gh0s7,
I do not have toggle_list and Econo in my card in dashboard:

image

is there something else I have to do?

Marco

toggle_list can be used only with services … No way to use it trough the UI. Just a HA limitation.

Hi,
I am very sorry but I have not understood where is “Service”. I am new to HA and I am moving my first steps

Marco

Don’t use Econo option in toggle_list for now. Just comment back this line. First try to use switch to turn on and off that functionality an see if it works for you. This is example:

switch:
  - platform: template
    switches:
      mitsubishi_cucina_econo:
        friendly_name: "Cucina Econo"
        value_template: "{{ is_state_attr('climate.mitsubishi_cucina', 'econo', 'on') }}"
        turn_on:
          service: tasmota_irhvac.set_econo
          data:
            entity_id: climate.mitsubishi_cucina
            econo: 'on'
        turn_off:
          service: tasmota_irhvac.set_econo
          data:
            entity_id: climate.mitsubishi_cucina
            econo: 'off'

For some reason it doesn’t work. What am I doing wrong?

Updated 31-07-2023: I see in HA that when I press a button on the physical remote it also reflects the data as well, but if I try through HA to press buttons then nothing happens in the air conditioner.

My last console log:

20:58:24.668 MQT: tele/office_ac_ir/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":18,"Hash":"0x933375B2","Repeat":0}}
20:58:36.261 MQT: tele/office_ac_ir/RESULT = {"IrReceived":{"Protocol":"GREE","Bits":64,"Data":"0x1109A05000020040","Repeat":0,"IRHVAC":{"Vendor":"GREE","Model":"YAW1F","Command":"Control","Mode":"Cool","Power":"Off","Celsius":"On","Temp":25,"FanSpeed":"Min","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"On","Beep":"Off","Sleep":-1,"iFeel":"Off","SensorTemp":"n/a"}}}
20:58:38.812 MQT: tele/office_ac_ir/RESULT = {"IrReceived":{"Protocol":"GREE","Bits":64,"Data":"0x1909E050000600C0","Repeat":0,"IRHVAC":{"Vendor":"GREE","Model":"YAW1F","Command":"Control","Mode":"Cool","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Min","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"On","Beep":"Off","Sleep":-1,"iFeel":"On","SensorTemp":"n/a"}}}
20:58:39.035 MQT: tele/office_ac_ir/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":18,"Hash":"0x933375B2","Repeat":0}}
21:00:13.415 MQT: tele/office_ac_ir/STATE = {"Time":"2023-07-29T21:00:13","Uptime":"0T01:00:10","UptimeSec":3610,"Vcc":2.970,"Heap":26,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"WinetrobN","BSSId":"E8:65:D4:72:FF:81","Channel":11,"Mode":"11n","RSSI":100,"Signal":-20,"LinkCount":1,"Downtime":"0T00:00:05"}}
21:00:50.350 MQT: stat/office_ac_ir/RESULT = {"IRHVAC":{"Vendor":"GREE","Model":"YAW1F","Command":"Control","Mode":"Cool","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Low","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":0,"Clock":1380,"iFeel":"Off","SensorTemp":"n/a"}}
21:00:53.023 MQT: stat/office_ac_ir/RESULT = {"IRHVAC":{"Vendor":"GREE","Model":"YAW1F","Command":"Control","Mode":"Cool","Power":"Off","Celsius":"On","Temp":25,"FanSpeed":"Low","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":0,"Clock":1380,"iFeel":"Off","SensorTemp":"n/a"}}
21:00:55.196 MQT: stat/office_ac_ir/RESULT = {"IRHVAC":{"Vendor":"GREE","Model":"YAW1F","Command":"Control","Mode":"Cool","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Low","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":0,"Clock":1380,"iFeel":"Off","SensorTemp":"n/a"}}
21:01:00.270 MQT: stat/office_ac_ir/RESULT = {"IRHVAC":{"Vendor":"GREE","Model":"YAW1F","Command":"Control","Mode":"Cool","Power":"On","Celsius":"On","Temp":24,"FanSpeed":"Low","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":0,"Clock":1381,"iFeel":"Off","SensorTemp":"n/a"}}
21:01:05.088 MQT: stat/office_ac_ir/RESULT = {"IRHVAC":{"Vendor":"GREE","Model":"YAW1F","Command":"Control","Mode":"Cool","Power":"On","Celsius":"On","Temp":23,"FanSpeed":"Low","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":0,"Clock":1381,"iFeel":"Off","SensorTemp":"n/a"}}
21:01:15.633 MQT: stat/office_ac_ir/RESULT = {"IRHVAC":{"Vendor":"GREE","Model":"YAW1F","Command":"Control","Mode":"Cool","Power":"On","Celsius":"On","Temp":23,"FanSpeed":"Low","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":0,"Clock":1381,"iFeel":"Off","SensorTemp":"n/a"}}

My climate configuration:

- platform: tasmota_irhvac
  name: "Office AC"
  command_topic: "cmnd/office_ac_ir/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/office_ac_ir/RESULT"
  # State is updated when the tasmota device completes IR transmissionm, should be pretty reliable.
  #state_topic: "stat/your_tasmota_device/RESULT"
  # Uncomment if your 'available topic' of Tasmota IR device are different (if device in HA is disabled)
  #availability_topic: "tele/your_tasmota_device/LWT"
  temperature_sensor: sensor.office_environment_temperature
  humidity_sensor: sensor.office_environment_humidity #optional - default None
  power_sensor: binary_sensor.office_ac_status #optional - default None
  vendor: "GREE"
  # When operating grouped devices at the same time, MQTT commands are intentionally delayed to prevent multiple devices
  # from performing the same operation at the same time. This allows the high current peaks to be shifted.
  mqtt_delay: 0.0 #optional - default 0 int or 0.0 float value in [sec].
  min_temp: 16 #optional - default 16 int value
  max_temp: 30 #optional - default 32 int value
  # target_temp: 25 #optional - default 26 int value
  initial_operation_mode: "off" # optional - default "off" string value (one of the "supported_modes")
  # away_temp: 25 #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" # Use "fan_only" even if Tasmota shows "Mode":"Fan"
    - "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: "Off" #optional - default "Off" string value
  default_econo_mode: "Off" #optional - default "Off" string value
  hvac_model: "YAW1F" #optional - default "1" string value
  celsius_mode: "On" #optional - default "On" string value
  default_light_mode: "On" #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
  default_swingv: "Auto" #optional - default "" string value
  default_swingh: "Off" #optional - default "" string value
  keep_mode_when_off: True #optional - default False boolean value : Must be True for MITSUBISHI_AC, ECOCLIM, etc.
  toggle_list: #optional - default []
    # The toggled property is a setting that does not retain the On state.
    # Set this if your AC properties are toggle function.
    - Beep
    - Clean
    - Econo
    - Filter
    - Light
    - Quiet
    - Sleep
    - SwingH
    - SwingV
    - Turbo
  # When turning off some devices with their remote control they are set to the lowest temperature
  # and this is shown on the thermostat card. Setting `ignore_off_temp` value to True will keep the last target temperature displayed on the card.
  ignore_off_temp: False #optional - default False boolean value

Same Here. Did you mange to find any solution?

Never did, bought some tuya ir remote and flash tasmota on them instead