Hi guys! This is my new platform, that can control hundreds of Air Conditioners, out of the box, via Tasmota IR transceivers. It is based on “tasmota-ircustom.bin”.
I made GitHub repo with releases named after the HA versions so it would be easy to figure out what version you have to download. Please, excuse me for the poor quality of the readme file, but this is my first time I make read me file in github and I promise I will improve it in future. It is almost the same like this post here.
IMPORTANT: LG Air Conditioners are not well supported, so I made second custom component (also Tasmota based), that enables support for some of them. If this custom_component
does not work for your LG, then try component below:
The schematics to make such Tasmota IR Transceiver is shown on the picture. I recommend not to put this 100ohm resistor that is marked with light blue X. If you’re planning to power the board with microUSB and you have pin named VU
connect the IRLED to it instead of VIN
.
Tasmota configuration looks like this
After configuration open Tasmota console, point your AC remote to the IR receiver and press the button for turning the AC on.
If everything in the above steps is made right, you should see a line like this (example with Fujitsu Air Conditioner):
{'IrReceived': {'Protocol': 'FUJITSU_AC', 'Bits': 128, 'Data': '0x0x1463001010FE09304013003008002025', 'Repeat': 0, 'IRHVAC': {'Vendor': 'FUJITSU_AC', 'Model': 1, 'Power': 'On', 'Mode': 'fan_only', 'Celsius': 'On', 'Temp': 20, 'FanSpeed': 'Auto', 'SwingV': 'Off', 'SwingH': 'Off', 'Quiet': 'Off', 'Turbo': 'Off', 'Econo': 'Off', 'Light': 'Off', 'Filter': 'Off', 'Clean': 'Off', 'Beep': 'Off', 'Sleep': -1}}}
If protocol is no ‘Unknown’ and you see the ‘IRHVAC’ key, containing information, you can be sure that it will work for you.
Next step is to get the code from the github page of “Tasmota IRHVAC” (the link above, in the begining of the post), copy the folder tasmota_irhvac
, and put it in the folder custom_components
.
Reastart Hass.io!
After restart put the following config in your configuration.yaml
file, but don’t save it yet, because you’ll need to replace all values with your AC values.
climate:
- platform: tasmota_irhvac
name: Daewoo IRHvac
command_topic: "cmnd/kitchenMultisensor/irhvac"
state_topic: "tele/kitchenMultisensor/RESULT"
temperature_sensor: sensor.kitchen_temperature #optional this sensor is used to display current temp on the AC card
protocol: "FUJITSU_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
Using your remote and the IR Transceiver do the following steps to find you AC values that you have to fill in. You can find these values by looking in the console for them. They will appear in the ‘IrReceived’ JSON line (mentioned earlier).
Cycle trough all of your AC modes and write them in supported_modes
. I have left some possible values commented.
Cycle trough your fan speeds and and write them down in supported_fan_speeds
If your AC doesnt support horizontal swinging remove horizontal
and both
from supported_swing_list
Enter your hvac_model
Change the “min_temp” and “max_temp” values with your AC min and max temp.
target_temp
is the initial target temp. 26 is default value and if you don’t want to change it, you can just remove the line.
away_temp
is the temp that will be set in away mode. If you don’t want to change it or you don’t need it you can remove that line.
You can also remove all lines that doesn’t need to be changed and are marked with “optional”.
Change the name
with the desired name.
After you finish with the config, save it and restart Hass.io. Once restarted you can add in LovelaceUI new thermostat card and select the newly integrated AC.
This is a pic of 2 of my Tasmota IR transceivers, that I have mounted under my ACs so when using the ACs remote they have direct visual and update the state in Hassio (yes, it can do that too).
As an addition you can add these 2 scripts in your scripts.yaml
and use them to send all kind of HEX IR codes and RAW IR codes, by just naming your multisensors using room name (lowercase) and the word “Multisensor”. Like “kitchenMultisensor” or “livingroomMultisensor”
ir_code:
sequence:
- data_template:
payload: '{"Protocol":"{{ protocol }}","Bits": {{ bits }},"Data": 0x{{ data }}}'
topic: 'cmnd/{{ room }}Multisensor/irsend'
service: mqtt.publish
ir_raw:
sequence:
- data_template:
payload: '0, {{ data }}'
topic: 'cmnd/{{ room }}Multisensor/irsend'
service: mqtt.publish
You can use it like this:
ards:
- cards:
- action: service
color: white
icon: 'mdi:power'
name: Включване на Аудио
service:
action: ir_code
data:
bits: 12
data: A80
protocol: SONY
room: kitchen
domain: script
style:
- color: white
- background: green
- '--disabled-text-color': white
type: 'custom:button-card'
- action: service
color: white
icon: 'mdi:power'
name: Turn Off Audio
service:
action: ir_code
data:
bits: 12
data: E85
protocol: SONY
room: kitchen
domain: script
style:
- color: white
- background: red
- '--disabled-text-color': white
type: 'custom:button-card'
- action: service
color: white
icon: 'mdi:power'
name: Test Clima
service:
action: ir_raw
data:
data: >-
3290, 1602, 424, 390, 424, 390, 424, 1232, 398, 390, 424,
1212, 420, 390, 424, 390, 424, 390, 424, 1232, 398, 1234,
398, 390, 424, 390, 426, 390, 424, 1232, 400, 1230, 398,
392, 424, 390, 426, 390, 426, 390, 424, 390, 424, 390, 424,
390, 424, 392, 424, 390, 424, 392, 424, 390, 424, 390, 424,
390, 424, 1232, 398, 390, 424, 390, 426, 390, 424, 390, 424,
392, 424, 390, 424, 392, 426, 1230, 400, 390, 424, 390, 426,
390, 424, 390, 424, 1232, 400, 1232, 398, 1232, 398, 1232,
400, 1232, 398, 1232, 400, 1232, 400, 1232, 400, 390, 426,
390, 424, 1206, 424, 390, 424, 390, 424, 392, 424, 390, 424,
392, 424, 390, 426, 390, 424, 390, 424, 1230, 402, 1230,
402, 390, 424, 390, 424, 1230, 402, 390, 424, 390, 424, 390,
424, 390, 424, 390, 426, 390, 424, 1230, 402, 1228, 402,
390, 424, 390, 424, 390, 426, 390, 424, 390, 426, 390, 424,
390, 424, 390, 426, 390, 426, 390, 424, 390, 424, 390, 426,
390, 424, 390, 424, 392, 426, 390, 424, 390, 424, 392, 424,
390, 424, 390, 424, 390, 424, 390, 424, 390, 424, 390, 424,
390, 424, 390, 426, 390, 426, 390, 424, 390, 424, 392, 424,
390, 424, 390, 424, 390, 424, 390, 424, 392, 424, 390, 424,
390, 424, 390, 426, 390, 424, 392, 424, 390, 424, 392, 424,
390, 424, 390, 424, 1228, 404, 388, 424, 390, 424, 392, 424,
1228, 404, 1228, 402, 1228, 402, 390, 426, 1228, 402, 390,
424, 390, 424
room: bedroom
domain: script
style:
- color: white
- background: blue
- '--disabled-text-color': white
type: 'custom:button-card'
type: vertical-stack
type: vertical-stack