AR Smart IR – Modern IR Control for Home Assistant (No YAML Required)

This is awesome! Thank you so much!

I set up an integration for Haier AC. Through the UI, I can fully control the AC.

But, through the LLM Assist, I can only control the temperature and not the mode (heat/cool/fan).

Any ideas on how to get that working?

Hi there ill have a look

I have a Tuya ZS06 which is functionally the same as Moes UFO-R11 and I was able to get it to control a Sharp AirCon via AR SmartIR. I disabled ZHA and used Zigbee2mqtt.

Are you ever going to make the linknlink eremote to your integration?

I did, just not sure its working as yet

Hi, I have added support for the UFO-R11 and can confirm it is working correctly. :white_check_mark:

I have an IR blaster on a BK7238 flashed by OpenBeken. It is integrated into HA by MQTT and allows you to control the air conditioner by publishing a topic such as cmnd/bk7238/IRSend with a value such as VESTEL_AC,56,0xF041E181AEF201. Is it possible to control it using AR Smart IR?

Is this a linknlink eremote?

Tested this with both of my IR devices , everything worked flawlessly. The UI upgrade is a great improvement. Thanks for the hard work! :folded_hands:

Hi, I downloaded version Version 1.2.6. Everything is working great, except that I can't find where to set the temperature step to 1 (intead of 0.5) in a climate device.
In the JSON for the device I have this:
{
"manufacturer": "Classe",
"supportedModels": [
"MTDB-12CF-Q"
],
"supportedController": "Broadlink",
"commandsEncoding": "Base64",
"minTemperature": 17.0,
"maxTemperature": 30.0,
"precision": 1.0,....

But the tile control manage the step as 0.5. It is ignoring the precision parameter.

Hi, Please Test V1.2.7?

1 Like

Fantastic! thanks for your prompt response. One thing, I created a custom json 4000.json for my airco, but the update deleted the file, I had to copy it back. Is there a way to not loose it after updates?

The Airco is working; Then I tried a simple remote fan. But it's now rorking as expected. Can you help me?. I use your AR Smart IR Builder integration to generate this code:

{
  "id": "sankey_wall_fan",
  "version": 1,
  "minor_version": 1,
  "name": "Sankey Wall Fan",
  "manufacturer": "Unknown",
  "model": "Sankey Wall Fan",
  "type": "fan",
  "supportedModels": [
    "Sankey Wall Fan"
  ],
  "supportedController": "Broadlink",
  "commandsEncoding": "Base64",
  "commands": {
    "on": "JgBoAAABIZQQORAVEBQQFRAUEBURExAVEBQQORE4EDkQOBA5EDkQORA5EDkQFBEUEBUQFBAVEBQQFBAVEDkQORA5DzkROBA5EDkROBAVEBQQFRETEBUQFBAVEBQQORE4ETgQOBE4EDkQAA0F",
    "off": "JgBoAAABIZQQORAVEBQQFRAUEBURExAVEBQQORE4EDkQOBA5EDkQORA5EDkQFBEUEBUQFBAVEBQQFBAVEDkQORA5DzkROBA5EDkROBAVEBQQFRETEBUQFBAVEBQQORE4ETgQOBE4EDkQAA0F",
    "swing_on": "JgBoAAABIJUQOREUEBQQFRAUERQQFRAUERQQOBA5EDkQORA5EDkQORA5ETgRExAVEDkQFBAVEBQQFRAUEDkQORAVEDkQOBE5EDkQOBEUEBUQOBEUEBURExAVEBQQORA5EBQROBE4EDkQAA0F",
    "swing_off": "JgBoAAABIJUQOREUEBQQFRAUERQQFRAUERQQOBA5EDkQORA5EDkQORA5ETgRExAVEDkQFBAVEBQQFRAUEDkQORAVEDkQOBE5EDkQOBEUEBUQOBEUEBURExAVEBQQORA5EBQROBE4EDkQAA0F",
    "fan_low": "JgBoAAABIJQROBAVEBQRFBEUEBQQFRETERQQOBE4EDkQORA5EDkQORA5EDkQORAUEBUQFBAVEBUQFBAVEBQQORA5EDkQORA5EDkRNxE4DxYQFBEUEBUQFBAUEBUQFRA4ETkPORA5EDkRAA0F",
    "fan_medium": "JgBoAAABIJQROBAVEBQRFBEUEBQQFRETERQQOBE4EDkQORA5EDkQORA5EDkQORAUEBUQFBAVEBUQFBAVEBQQORA5EDkQORA5EDkRNxE4DxYQFBEUEBUQFBAUEBUQFRA4ETkPORA5EDkRAA0F",
    "fan_high": "JgBoAAABIJQROBAVEBQRFBEUEBQQFRETERQQOBE4EDkQORA5EDkQORA5EDkQORAUEBUQFBAVEBUQFBAVEBQQORA5EDkQORA5EDkRNxE4DxYQFBEUEBUQFBAUEBUQFRA4ETkPORA5EDkRAA0F"
  }
}

Now, this did not work. I tried to modify the syntax from other models to get something like this:

{
  "manufacturer": "Sankey",
  "supportedModels": [
    "FN-1826RC", "FN-1853RC", "FN-1828RC", "FN-1847RC"
  ],
  "supportedController": "Broadlink",
  "commandsEncoding": "Base64",
  "speed": [
    "1-3"
  ],
  "commands": {
    "off": "JgBoAAABIZQQORAVEBQQFRAUEBURExAVEBQQORE4EDkQOBA5EDkQORA5EDkQFBEUEBUQFBAVEBQQFBAVEDkQORA5DzkROBA5EDkROBAVEBQQFRETEBUQFBAVEBQQORE4ETgQOBE4EDkQAA0F",
    "default": {
      "1-3": "JgBoAAABIJQROBAVEBQRFBEUEBQQFRETERQQOBE4EDkQORA5EDkQORA5EDkQORAUEBUQFBAVEBUQFBAVEBQQORA5EDkQORA5EDkRNxE4DxYQFBEUEBUQFBAUEBUQFRA4ETkPORA5EDkRAA0F"
    },
    "oscillate": "JgBoAAABIJUQOREUEBQQFRAUERQQFRAUERQQOBA5EDkQORA5EDkQORA5ETgRExAVEDkQFBAVEBQQFRAUEDkQORAVEDkQOBE5EDkQOBEUEBUQOBEUEBURExAVEBQQORA5EBQROBE4EDkQAA0F"
  }
}

This one, I named it 1250.json and it allows me to create a fan entity. My fan only has POWER (toggle), not ON/OFF. Same for the SPEED (it loops LOW,MED,HI with the same code) and OSCILLATE (toggle). The fan created with this JSON fails on some commands, and actualy pressing OSCILATE produce Press1 -> ON, PRESS2 OFF. The other commads fail.

On the Broadling Remote this is the definition I have and everythong works well using remote.send :

"fan_sankey": {
      "onoff": "JgBoAAABIZQQORAVEBQQFRAUEBURExAVEBQQORE4EDkQOBA5EDkQORA5EDkQFBEUEBUQFBAVEBQQFBAVEDkQORA5DzkROBA5EDkROBAVEBQQFRETEBUQFBAVEBQQORE4ETgQOBE4EDkQAA0F",
      "swing": "JgBoAAABIJUQOREUEBQQFRAUERQQFRAUERQQOBA5EDkQORA5EDkQORA5ETgRExAVEDkQFBAVEBQQFRAUEDkQORAVEDkQOBE5EDkQOBEUEBUQOBEUEBURExAVEBQQORA5EBQROBE4EDkQAA0F",
      "speed": "JgBoAAABIJQROBAVEBQRFBEUEBQQFRETERQQOBE4EDkQORA5EDkQORA5EDkQORAUEBUQFBAVEBUQFBAVEBQQORA5EDkQORA5EDkRNxE4DxYQFBEUEBUQFBAUEBUQFRA4ETkPORA5EDkRAA0F"
    }

Any suggestions?. Thanks a lot!

Could you please try v1.2.9

1 Like

You are awsome!. Worked perfectly, thanks a lot.

1 Like

+1 for this integration! Great support from the author.

1 Like

this is fantastic, thank you very much. I am a newbie but still was able to use quite easily. Any advice on how to connect a second rm4 mini? New profile doesn't want to connect to the new device, only the original.

1 Like

Hi, To add a second RM4 Mini:

  1. Add it in Home Assistant first — Settings → Devices & Services → Add Integration → Broadlink → enter its IP. This gives it its own remote entity, separate from your first one.
  2. In the Builder, when you create a new profile and pick the category (climate/media/etc.) and manufacturer, you'll get to a Controller data / service name field — that's where you select which Broadlink device that profile should use.

So each profile is tied to whichever hub you pick there. You can spread profiles across as many Broadlink devices as you've added to HA.

Hi marsh, I have a new issue with the fan, didn’t noticed until I try to make assist to turn on the fan. It does not work.

action: fan.turn_on
target:
  entity_id:
    - fan.smartir_sankey_fan
data:
  percentage: 33

This command fails : Failed to perform the action fan.turn_on. Unknown error. But setting the speed works:

action: fan.set_percentage
target:
  entity_id:
    - fan.smartir_sankey_fan
data:
  percentage: 33

Toggle works, apparently is Turn On the one that doesn’t. Any ideas?
Thanks for your patience and support.