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

Amazing work.

I wonder if this issue is solved on this latest version: https://github.com/smartHomeHub/SmartIR/issues/205

I remember that I could see a solid green color when the AC was operational on HA lines graph, inside the entity card and also in HomeKit app I could see the icon colored with orange/blue indicating the current operation mode, now it is just green on either modes.

Anyways, thanks for everything! Have a great day.

It is not possible after climate 1.0 changes. I donā€™t want to implement the hvac_action. This attribute is for the actual state of the unit and there is no way to know if a dump AC unit is cooling if it is in cool mode.

1 Like

Iā€™m thinking to drop the built-in updater of SmartIR and allow the HACS to do the job. What do you think?

  • Yes, drop the built-in SmartIR updater
  • No, keep both options

0 voters

Thanks, Iā€™ll give it a try

Code question: anyone know which code goes with the Airwell Electra GREE RC08 remote?

hvala! :slight_smile:

Iā€™m trying to convert my setup from Broadlink to SmartIR and Iā€™m looking for a better way to integrate custom devices. Such as my Xbox 360 and a 5-gang extension lead.
The lead has x5 on and off buttons so I can only make each plug a separate device.
After ā€˜device_code:ā€™ can I put each plug?
eg:

platform: smartir
  name: Living room TV
  device_code: 8010,8012,8013,8014,8015

Or is there a way to keep some Broadlink functionality for this?

After updating home assistant to 0.98 smartir climate stopped working. Just wondering if itā€™s only me or this was supposed to happen?

edit: never mind, fans all good :slight_smile: Running 0.98, just blaster position got bumped.

Same here. Stoppet working after upgrading to 0.98

Update: Fixed it by manually updating.

@LintHart @Tommy_Husebo
Guys, please open an issue at Github. Donā€™t forget to provide your logs.

1 Like

I am trying to make my ac turn on/off at given temperatures. What is the correct way for setting up this?

I donā€™t have SSL setup on my system. Is there another way of getting the device codes set up? (manually copy/paste the codes to the correct format).

My AC isnā€™t in the device list (Mirage Magnum19)

I have 3 units of RM mini 3 devices (one in each room). My configuration is:

switch:
# Broadlink Dormitori Matrimoni
  - platform: broadlink
    host: 192.168.1.X2
    mac: 'c8:f7:42:83:82:XX' 
    
# Broadlink Dormitori doble
  - platform: broadlink
    host: 192.168.1.X3
    mac: 'c8:f7:42:83:60:XX'
    
# Broadlink Menjador    
  - platform: broadlink
    host: 192.168.1.X4
    mac: 'c8:f7:42:83:0e:XX

climate:
  - platform: smartir
    name: "Habitacio Matrimoni"
    unique_id: matrimoni_ac
    device_code: 1282
    controller_data: 192.168.1.X2
    temperature_sensor: sensor.temp_habitacio_matrimoni
    humidity_sensor: sensor.hum_habitacio_matrimoni
    
  - platform: smartir
    name: "Habitacio Doble"
    unique_id: doble_ac
    device_code: 1282
    controller_data: 192.168.1.X3
    temperature_sensor: sensor.temp_habitacio_doble
    humidity_sensor: sensor.hum_habitacio_doble

  - platform: smartir
    name: "Menjador"
    unique_id: menjador_ac
    device_code: 1282
    controller_data: 192.168.1.X4
    temperature_sensor: sensor.temp_menjador
    humidity_sensor: sensor.hum_menjador

But the only firts is responding right. With the broadlink app all is working fineā€¦ Any idea? Any issue with multiple devices?
I will thanks any help.

Can someone tell me how to combine codes?
I used 1040.json for my LG tv and it works fine for basic features (power control, volume, etc) but the source list does not work. I have learned the IR codes using the online tool but I donā€™t know how to go about adding them into the json file. The TV has an ā€œInputā€ button which brings up a list of inputs on the screen and then you choose one from there.

So your 1040.json file is in:

/config/custom_components/smartir/codes/media_player/1040.json

Mine is set out like this:

{
    "manufacturer": "Philips",
    "supportedModels": [
      "Unknown"
    ],
    "supportedController": "Broadlink",
    "commandsEncoding": "Base64",
    "commands": {
        "off": "JgAaAB0dOx4cHhweHR4cHhw8HR0dHhweOzsdAA0FAAAAAAAAAAAAAAAAAAA=",
        "on": "JgAcABweHR07HhweHR0dHhw8HR0dHhweHB4dHhwADQUAAAAAAAAAAAAAAAA=",
        "previousChannel": "JgAaAB0eHB46Hh0eHB4cHh07Ox4cHh0dHTwcAA0FAAAAAAAAAAAAAAAAAAA=",
        "nextChannel": "JgAaAB0dHR47HR0dHR4dHRw8Ox4cHhweHR0dAA0FAAAAAAAAAAAAAAAAAAA=",
        "volumeDown": "JgAaABwePBwfHBweHB4dHR0eHDw9Gx0eHDwdAA0FAAAAAAAAAAAAAAAAAAA=",
        "volumeUp": "JgAaABweOx0fHBweHB4dHhweHDw7HR0eHB4dAA0FAAAAAAAAAAAAAAAAAAA=",
        "mute": "JgAaAB0dOx4cHh0dHR4cHh0dHR4cPBwePDsdAA0FAAAAAAAAAAAAAAAAAAA=",
        "sources": {
            "EXT1": "JgAYAB8bHxs9HB4cHzkfHDwcHxsfOjwcHwANBQ==",
            "EXT2": "JgAaAB8bPRsfHB4cHxsfHB46HxsfHDwcHzkfAA0FAAAAAAAAAAAAAAAAAAA=",
            "HDMI": "JgAaAB8cHxs9Gx8cHzkfGx8cHhwfGz0cHjofAA0FAAAAAAAAAAAAAAAAAAA=",
            "HDMI Side": "JgAYAD06PBwfGx85HxwfGx8bHxw9OR8bHwANBQ==",
            "Channel 1": "JgAcAB8cPBweHB8bHxweHB4cHxweHB4cHxweOh4ADQUAAAAAAAAAAAAAAAA=",
            "Channel 11": [
                "JgAcAB8cPBweHB8bHxweHB4cHxweHB4cHxweOh4ADQUAAAAAAAAAAAAAAAA=",
                "JgAcAB8cPBweHB8bHxweHB4cHxweHB4cHxweOh4ADQUAAAAAAAAAAAAAAAA="
            ]
        }
    }
}

As you can see by the sequence to press ā€˜Channel 11ā€™, it is two button presses. So in the ā€˜sourceā€™ list are your inputs (DVD, HDMI etc). In your case you would need to record the two buttons to get to the desired input on your tv and add them to the .json file as in the Channel 11 example.
I would also recommend making your own .json file and giving it a custom name so that you can edit it and it wonā€™t get over-written by the default 1040.json.

Apparently, the climate component for smartir does not work with the emulated hue on homeassistant.

I have used NodeRed (using node-red-contrib-alexa-local and node-red-contrib-home-assistant-websocket) instead to make this work using Alexa.

Thanks @mattc222
I tried to do that but for some reason itā€™s not working. Have a look at my json file below. Each of HDMI 1 and HDMI 2 has 2 button presses, the first is for the ā€œInputā€ button on my TV remote and the second is to select HDMI1 / HDMI2 from the Input screen. It just doesnā€™t work. In some cases the command will bring up the input screen but not choose the actual input so I donā€™t know if itā€™s having trouble processing the 2 button presses in sequence

{
    "manufacturer": "LG",
    "supportedModels": [
      "22MT47DC"
    ],
    "supportedController": "Broadlink",
    "commandsEncoding": "Base64",
    "commands": {
        "off": "JgBoAAABKZUSExEUETgSExITEhMSExEUEjgROREUETkRORE5ETkSNxMSExISExM3EhMSExITERQSOBE5ETkRFBI4EjgSOBE4EgAFLQABKUsRAAxkAAEnTBIADGMAASlLEgAMYwABKEwSAA0F",
        "on": "JgBoAAABKZUSExEUETgSExITEhMSExEUEjgROREUETkRORE5ETkSNxMSExISExM3EhMSExITERQSOBE5ETkRFBI4EjgSOBE4EgAFLQABKUsRAAxkAAEnTBIADGMAASlLEgAMYwABKEwSAA0F",
        "previousChannel": "JgBgAAABK5MTEhMSEzcTEhMSExITEhMSEzcTNhQSEzYUNhQ2FDYUNhQ2ExITEhMSExITEhMSExITEhM3EzcTNhQ2FDYUNhQ2FAAFKwABK0kTAAxjAAErSRMADGIAAStJEwANBQAAAAAAAAAA",
        "nextChannel": "JgBgAAABK5MTEhMSEzYUEhMRFBEUERQRFDYUNhQRFDYTNxM3EzcTNxMSExITEhMSExITEhMSExITNhQ2FDYUNhQ2EzcTNxM3EwAFLAABKkkTAAxjAAEqSRQADGIAASpJEwANBQAAAAAAAAAA",
        "volumeDown": "JgBgAAABK5IUERQRFDYUERMSExITEhMSEzcTNxMSEzcTNxM3EzgSNxM2FDYUERQRFBEUERQRFBEUERQREzcTOBI3EzcTNxM3EwAFLQABKUkUAAxiAAErSRMADGMAAStIFAANBQAAAAAAAAAA",
        "volumeUp": "JgBgAAABK5IUEhMRFDYUERQRFBEUERQRFDYTNxMSEzcTNxM3EzcTNxMSEzcTEhMSExITEhMSExITNxMSEzYUNhQ2FDYTNxM3EwAFLAABK0kTAAxjAAErSBQADGIAAStJEwANBQAAAAAAAAAA",
        "mute": "JgBgAAABK5MTEhMSEzcTEhMSExITEhMSEzcTNxMSEzYUNhQ2FDYUNRU2FBEUERQ2ExITEhMSExITEhM3EzcTEhM3EzYUNhQ2FAAFKwABK0kTAAxjAAEqShMADGMAASpJFAANBQAAAAAAAAAA",
        "sources": {
            "HDMI 1": [  
                "JgBYAAABJJMSEhETEzYRFBMRExERExEUEzYROBETETkTNhI3ETkTNhE4FDYTERE4ERMRFBAUERMSEhEUEzYRExQ1FDYTNhE4EQAFMwABJEkTAAxSAAEkSxEADQU=",
                "JgBUABITEBQROBETERQQFBETERMRORE4EhIRORA5ETgRORM2ERMRExE5ExERExQQETkQFBE4ETkQFBM2ETgRORETETgRAAUzAAEkShEADFMAASVJFAANBQAAAAA="
              ],
            "HDMI 2": [  
                "JgBYAAABJJMSEhETEzYRFBMRExERExEUEzYROBETETkTNhI3ETkTNhE4FDYTERE4ERMRFBAUERMSEhEUEzYRExQ1FDYTNhE4EQAFMwABJEkTAAxSAAEkSxEADQU=",
                "JgBUABITEBQROBETERQQFBETERMRORE4EhIRORA5ETgRORM2ERMRExE5ExERExQQETkQFBE4ETkQFBM2ETgRORETETgRAAUzAAEkShEADFMAASVJFAANBQAAAAA="
              ]
        }
    }
}

Can we rule out the obvious? Try calling the Broadlink send service under dev tools and send (not sure of the .json -GIYF) just the HDMI 1 code, you may not need both as it might be just for your handset. My amp is the same.
Then try more , to delay sending the second command (not sure about this one)
Or how about putting the first or second command in twice? One might get through!

Thanks for the suggestion @mattc222
I tried using the Services tool (Broadlink -> send) in Dev Tools but the results were pretty much the same.
The funny thing is that when I send the packets (just HDMI1 or HDMI2 without the Input button packets) the TV acts like the input has changed but not really. It shows the name of the current input without changing it. Letā€™s say Iā€™m on HDMI1 and I send the code for HDMI2, the tv will receive the packets and display HDMI1 and the resolution on the screen as if Iā€™ve just switched to it (but Iā€™ve been there all along). Sending the packets for the Input button from Dev Tools works just as it does in SmartIR