Tasmota MQTT IRHVAC Controller

@artuditu I saw they were preparing for this change, but when I saw it, there wasn’t this post yet. All fixed now. I hope next time they inform developers earlier. I appreciate your help! :slight_smile: Sometimes You and others like You are helping me, more than developers documentation do. I’m very pleased to see people, that knows that I’m doing this thing for them (because I’m still using HA 0.94.1), and instead of being nervous, are trying to help. :slight_smile: Thank you one more time for your help. :slight_smile:

Hello, is it possible to set this up in 110.2? I got the nodeMCU setup with the Tasmotizer app. I’m running Hassio on a RaspberryPi 4 2GB but not sure what to do with the custom_components file can that be done with the file editor add on ?

@gh0s7 This is a great project! I have one question. If I build the hardware with a IR Transmitter and Receiver, will the hardware capture the commands from the remote and send them to the Air Conditioner and update HA accordingly? I want to be able to use the AC remote and HA, but keep everything in sync.

Yes this will operate as you want as long as you have the IR receiver on the controller position near the IR receiver on your AC (so both can receive the commands from the remote)

Works with 110.2.

As the instructions state place the tasmota_irhvac into the custim_components folder

Ok thanks, is it ok to make the custom_components folder in the file editor if it doesn’t exist?

Great, thank you!

Yeah of there isn’t one there just create it.

ok, do the codes need to be in this config or can I use the added on part?

 climate:
- platform: tasmota_irhvac
 name: HAIER IRHvac
 command_topic: "cmnd/bedroomMultisensor/irhvac"
 state_topic: "tele/bedroomMultisensor/RESULT"
 temperature_sensor: sensor.bedroom_temperature #optional this sensor is used to display current temp on the AC card
 protocol: "HAIER_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
 hvac_model: "1" # string value
 celsius_mode: "On" #optional - default "On" string value - you can remove it if you use    celsius 
ir_code:
  sequence:
  - data_template:
      payload: '{"protocol":"{{ NEC }}","Bits": 32,"Data": 0x19F69867'
      topic: 'cmnd/bedroomMultisensor/irsend'
    service: mqtt.publish
ir_raw:
  sequence:
  - data_template:
      payload: '0, {{ data }}'
      topic: 'cmnd/bedroomMultisensor/irsend'
    service: mqtt.publish 
        ```

thanks

That code belongs in you configuration.yaml file

How long have you been using HA for? Asking so I know what level of knowledge you have with the system

Hello, I’m sorry I messed the last post up. This code below is in /config/scripts.yaml
I’ve been using Homeassistant on a Raspberrypi 3 for a number of years 2 to 4 mostly just using the automatically discovered devices Wemo, Philips Hue, and also some Zwave devices. A few months back I upgraded to a Raspberry 4 - 2gb. But I have a lot to learn on the code and configuration side of things. Thanks and sorry for the confusion.

ir_code:
  sequence:
  - data_template:
      payload: '{"protocol":"{{ NEC }}","Bits": 32,"Data": 0x19F69867'
      topic: 'cmnd/bedroomMultisensor/irsend'
    service: mqtt.publish
ir_raw:
  sequence:
  - data_template:
      payload: '0, {{ data }}'
      topic: 'cmnd/bedroomMultisensor/irsend'
    service: mqtt.publish 
       ```

Only needed if you want to use the script.

Ok, long story short all I’m really trying to do is transmit this code to turn the A/C on/off. I believe it’s NEC code 0x19F69867 is there a simple way to do that?

Did you follow the setup procedure to test what codes the control sends to the IR receiver?

Yes,I did that with the Tasmota device and that code came up in the logs.

Hi. Tasmota 8.3.1 Firmware IR.bin Work fine. Hardware- Avatto (Tuya) s08. AC Fujitsu General - ASY7RSCCW, Remote- AR-DB5.
Author, You are a genius! Very original, you solved the problem with feedback from the original remote!

Hi guys
is there anyway that i can use my ac remote control with this project

23:31:07 MQT: tele/ir_remote/RESULT = {"Time":"2020-06-04T23:31:07","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0xA9B577D9"}}
23:31:12 MQT: tele/ir_remote/RESULT = {"Time":"2020-06-04T23:31:12","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x90DE683D"}}
23:31:13 MQT: tele/ir_remote/RESULT = {"Time":"2020-06-04T23:31:13","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0xA9B577D9"}}
23:31:16 MQT: tele/ir_remote/RESULT = {"Time":"2020-06-04T23:31:16","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x73620CD9"}}
23:31:17 MQT: tele/ir_remote/RESULT = {"Time":"2020-06-04T23:31:17","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x49A71C27"}}
23:31:18 MQT: tele/ir_remote/RESULT = {"Time":"2020-06-04T23:31:18","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0xC41D9CE8"}}
23:31:18 MQT: tele/ir_remote/RESULT = {"Time":"2020-06-04T23:31:18","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0xC11D9831"}}
23:31:19 MQT: tele/ir_remote/RESULT = {"Time":"2020-06-04T23:31:19","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0xC11D9831"}}

i can get all commands from remote

After upgrading HA to version 0.111.1 I have the following error:
Screenshot_12

I want send a message :slight_smile:

{"IrReceived":{"Protocol":"DAIKIN","Bits":280,"Data":"0x0x11DA2700C51000E711DA270042FB227111DA27000039280070000006600000C180008A","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN","Model":-1,"Power":"On","Mode":"Cool","Celsius":"On","Temp":20,"FanSpeed":"Max","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}

my configuration is:

  - platform: tasmota_irhvac
    name: "Daikin"
    command_topic: "cmnd/clima_su_est/irhvac"
    state_topic: "tele/clima_su_est/RESULT"
    temperature_sensor: sensor.clima_su_est_temperature
    protocol: "DAIKIN"
    min_temp: 16 #optional - default 16 int value
    max_temp: 32 #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:
      - "heat"
      - "cool"
      - "dry"
      - "fan_only"
      - "auto"
      - "off" #Turns the AC off - Should be quoted
      # Some devices have "auto" and "fan_only" chaned
      # If following two lines are uncommented, "auto" and "fan" shoud be commented
      #- 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: "-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: "On" #optional - default "Off" string value
    default_sleep_mode: "-1" #optional - default "-1" string value
    

how to create a button in lovelance with this command?

Hi @ilgio For making buttons in Lovelace I’m using custom button card. Instructions how to install it you can find on this link:

After installing it read the instructions on the link below. The easiest ways is to create a script (there is an example) and call it on button press (there is example too). :slight_smile:

Also if you scroll up in this thread, you’ll find a few people with similar questions and their answered questions, for Daikin specifically. :slight_smile: