SmartIR - Control your Climate, TV and Fan devices via IR/RF controllers

I managed to get around:

configuration.yaml:

smartir:
  check_updates: false

Copy contents from github to the custom_components/smartir/codes folder:
github.com/smartHomeHub/SmartIR/tree/master/codes

Also check network and ipv6 related issues.

2 Likes

Both have now been moved to high quality 3.1amp power supplies.

The issue persists. If I send any command, via HomeKit, Home Assistant or direct from the BroadLink app(s) you can see the device flash, but no response from AC unit.

This is after power up, and confirmed reconnection to the network.

If it didn’t work at all, I’d know it’s the code I’m using, but the fact that it does… I’m a bit bewildered.

You are sure that:

device_code: 1101

is correct for your AC models?

When the system works, it will turn it on, off, change the temperature, fan speed, and cooling / heating / fan etc.

But, I’m still not certain that it is, I’ve tried other codes and had no luck. Being in Australia, I suspect our model names of units are slightly different so identifying the right one has been trial and error.

I should note - that’s not the code for my system.

I’ve gone through every LG code I can find, sadly it didn’t work.

I have tried looking up the remote, because it seems it has been used by GE - but no joy with that either.

My remote model is AKB73215508 - searching online I’ve found that the replacement model is either AKB73315601 or AKB73456109

My BroadLink app actually took the model number of my AC units and it now works 100% with that. I wish I could export it, but I’m on iOS.

It looks like you have to “learn” the IR-codes for your specific AC units to be able to control them through the BroadLink RM3s. With Broadlink Manager (Docker) you can do this in a quite convenient way (comprehensive HA thread here).

Depending on the HA install method used you can either install it directly on your HA device or simply use another RPI. After you have learned the codes you don’t need Broadlink Manager anymore.

Hi everyone, i have a problem with SMARTIR, my log:
‘’‘Traceback (most recent call last):
File “/config/custom_components/smartir/climate.py”, line 366, in send_command
await self._controller.send(self._commands[‘off’])
File “/config/custom_components/smartir/controller.py”, line 111, in send
await self.hass.services.async_call(
File “/usr/src/homeassistant/homeassistant/core.py”, line 1583, in async_call
raise ServiceNotFound(domain, service) from None
homeassistant.exceptions.ServiceNotFound: Unable to find service remote.send_command’’’

My config is:

‘’’ smartir:

climate:

  • platform: smartir
    name: Office AC
    unique_id: office_ac
    device_code: 2800
    controller_data: cmnd/tasmota_72EA3E/irsend
    temperature_sensor: sensor.temperature
    humidity_sensor: sensor.humidity
    power_sensor: binary_sensor.ac_power ‘’’

Home assistant version 2022.3.1

Anybody can help me ?

Hi. Had the same issue. Enable the remote integration:

remote:

That issue is gone. Now I get this:

not a valid value for dictionary value @ data['entity_id']
13:51:15 – (ERROR) SmartIR (custom integration) - message first occurred at 13:50:38 and shows up 2 times

(I have tried to control the climate twice)

UPDATE: Google/github showed how to fix this error.

Update the HVAC codes file. Replace Broadcom with MQTT…

"supportedController":"MQTT",
 "commandsEncoding":"Raw",

Now I get invalid jason in the Tasmota console. But getting closer.

PDJ

1 Like

Ive setup SmartIR with a broadlink RM4 Mini, my configuration looks as follows

climate:
  - platform: smartir
    name: Garage AC
    unique_id: garage_ac
    device_code: 1382
    controller_data: remote.garage_ir_remote
    temperature_sensor: sensor.temperature
    humidity_sensor: sensor.humidity
    power_sensor: binary_sensor.ac_power

For some reason the temp value is shown on HomeAssistant in Celsius, is there any way to change that? Thanks

Edit: When I open up the lovelace Home Assistant believes its in Fahrenheit as theres an F next to the temperature value, however the value is still in Celsius, example 24°F

Edit2: Figured out the solution if anyone was wondering. Turns out the SmartIR device code placed in configuration.yaml is just preconfigured in celsius. Once that code is placed in your configuration file HA retrieves that specific json file and places it in custom_components/smartir/codes/climate/[DEVICE CODE]. Therefore, I just went into that device code .json file and converted the values. After changing that my lovelace card looks correct however I’ve yet to test how accurate the converted units are as its super late in the night.

1 Like

Thanks PDJ, now I have the same problem as you.

I can see mention of a conversion tool. Cant find it anywhere! Also, is it possible to create custom devices? How would that be? Pardon me if it sounds noobish but I am indeed just a few days into HA

HI PDJ, i can fix my problem, Update the HVAC codes file. Replace o base64 codes to my raw code.
Now is work.

I updated my HVAC codes as well.

Success!

Had to do a little playing with the json to match up with the Tasmota-IR that I have.

PDJ

I manually created a new custom HVAC code file. For me, the json codes are seen in the Tasmota console when you hit buttons on the remote. My HVAC is supported in the Tasmota-IR version, so nice decoded json are seen. Tedious to work through all buttons. But working.

Is it possible to create a custom device? If yes, any guide please? For instance, for this media player (AV processor) at this link, which has all its IR codes listed.

Yes. You can create your own device file (JSON) with all the IR codes for the desired remote.

One way would be to simply start from an existing JSON file from the SmartIR repo and swap out the IR codes with the correct one for your device. You won’t be able to use what is on the link you posted as they are not the correct format but you can use HA to read the codes from your remote using the service call remote.learn_command and then pressing the button on the device remote while pointing it at the IR receiver you have integrated to HA (ie: Broadlink). The received code will be listed in a persistent notification. Copy that code into the JSON file for each button press.

1 Like

How do I assign it the code in smart IR? I am assuming the code numbers in the smartir database are reserved. I just create my own random?

Yes, you can just create a new / random number that hasn’t already been used and reference that in the SmartIR config.

1 Like

does anyone have a script that can help make learning ir codes for ac climate control faster/easier? tried using Broadlink tools by Keite Trần but it didn’t work as there isn’t a broadlink.learn command now, currently I’m also trying this but not sure how to get it going GitHub - nickneos/Broadlink-Toolkit: Tools to speed up learning and sending IR commands on a Broadlink device (when i open smartir_generator it asks to pick a json file then it closes after picking it, and I’m not sure how to link my rm3/4 mini to this)

thanks for sharing your script, im currently trying this out and was wondering how do you link your broadlink to the script? and when i try to open a json file the application would close after that