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

Please send your config code formatted

Would someone be kind enough to convert my INI files? (Not a windows user.)

MHI 2.5

MHI 7.1

I will do it. Who is the manufacturer of your unit?

Any errors at logs?
Your config looks ok.
I suggest you remove everything from custom_components folder and start over by following the instructions.

1 Like

Thanks a lot Vassilis :slight_smile: i found out that direct download of json files made mistakes in file. Just copied and past the code on a new .json and all worked flawlessy.

I have another question: as my air conditioner is an old Daikin model , with the remote i have often to push twice the off button to turn off the power. Where do i have to edit to have a repetition of the off input ?

@Vassilis I appreciate that and all that you’ve done with this project.

The units are Mitsubishi Heavy Industry SRK models.


The code files are ready. Please add 1680 and 1681 as device_code and the component will download them.

1 Like

You can repeat the off command by setting it as an array in the json file:


019-04-07 12:44:59 ERROR (MainThread) [homeassistant.core] Error doing job: Future exception was never retrieved
Traceback (most recent call last):
File “/usr/local/lib/python3.7/concurrent/futures/”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/homekit/”, line 250, in update_state
if isinstance(target_temp, float) and current_temp > target_temp:
TypeError: ‘>’ not supported between instances of ‘NoneType’ and ‘float’

@Vassilis Hey thanks for the amazing contribution. Works well but it seems like a lot of the commands are missed while controlling my AC using a broadlink RM mini 3.

I need to send them twice or even 4 times for them to work.

Here’s my config:


  - platform: broadlink
    host: x.x.x.x
    mac: 'x:x:x:x:x:x'

  - platform: smartir
    name: xxxx
    unique_id: xxxxx
    device_code: 1281
    controller_send_service: switch.broadlink_send_packet_x_x_x_x

Am i doing something wrong?

1 Like

I’m seeing occasional missed commands as well, but only in 1 out 10 cases, I would say.
Still trying to figure out if Broadlink fails to send the command, or if Aircon simply doesn’t receive it.

Same here with Hisense Cond. But only 1/10 works and randomly… I used the available code in the repository, that is not exposing the model name. I suppose it can be from another one different from mine. The “old” custom component worked, so i’m planning to complete the manual code acquisition fro the old ini and ask for a conversion.

But the random cases in which it works makes me think that something is not going in the right way with the new component.

The broadlink pro is working correctly using its own app, even when HA seems not sending the command…And the same command sent by the “switch” component from ha works correctly…

Could you send me your json file and tell me which command is not sending?

1 Like

Pozdrav @ Igor_Jurisic!

I’m also using a Xiaomi door / window sensor to keep track of whether my Toshiba split system is on / off. As you can see below, I have a Xiaomi camera positioned beneath the AC which was really helpful while I was testing things out. I still keep it there just as an additional method of checking :slight_smile:

Regarding some commands not getting through, I found the OFF command sometimes wouldn’t work, so in my script that turns off the AC, I actually fire the OFF command twice. I’m using a Broadlink RM Mini 3.

    alias: Switch off toshiba air conditioner
      - service: climate.set_operation_mode
          entity_id: climate.toshiba_air_conditioner
          operation_mode: 'off'
      - delay:
          seconds: 2
      - service: climate.set_operation_mode
          entity_id: climate.toshiba_air_conditioner
          operation_mode: 'off'



Amazing job on the SmartIR Climate Vassilis. Keep up the good work.

Awesome work @vassilis
Is there any chance that your component could also work with this :

It has same functionality as the Broadlink rm mini 3.

thank you !

Pozdrav @pkozul :slight_smile:

I’m doing the same…furthermore I’ve added contingency plans for situations in which the “on” command doesn’t fire. It checks when climate component turns on, and if within 15 secs the xiaomi sensor doesn’t report “open” it will send “on” command once again.

- id: '0063'
  alias: 'Aircon Livingroom Infrared On Failed'
  - platform: state
    entity_id: climate.livingroom_ac
    from: 'off'
    to: 'heat'
      seconds: 15
  - platform: state
    entity_id: climate.livingroom_ac
    from: 'off'
    to: 'cool'
      seconds: 15
  - condition: state
    entity_id: binary_sensor.0x00158d0003132f63_contact
    state: 'off'
  - service: climate.turn_on
      entity_id: climate.livingroom_ac
1 Like

I have tried 1281.json and 1284.json

The previous custom component worked pretty well, however most of my commands get dropped, whereas Google Home and app are able to send commands.

I have enabled debug, will let you know if I see something.

Also, is there a way to learn commands using HA?
(whenever I start learn command service, there’s an error in log saying cannot connect to broadlink or something.)


@VasileyI was wondering if there’s a way to use your code to achieve something in reverse (add an IR receiver near AC IR receiver, and get any commands sent to the AC?)

This will be useful to keep HA in sync with any changes made via manual remote/Google

Thanks in anticipation