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

The upgrade was very easy for the most of the users. The way you use the old component was weird. I found from your config that you are using a switch to turn on your unit, a switch to turn off, a switch to oscillate and some automations to set the operation mode of the climate component. This is already provided to the json file I send you. The only changes you need to your automations are to define the operation_mode from ‘idle’ to ‘off’.

@Vassilis thank you so much for smartir. Great work! In less than 1/2 hour I set up a RM mini 3 and was able to control my living room AC.

Now I’ll get 2 more minis for bedrooms and will also control a few dumb TVs and set top boxes.

Hi guys!
I’m trying SmartIR but I can’t control the TV as expected. I can only Power On and Power Off the TV from the Lovelace Card (no other keys on the GUI).
I don’t know if I did somthing wrong or if it’s functionality di SmartIR is correct… so, please, be patient :smiley:

my setup:

media_player:
  - platform: smartir
    name: TV Stanzetta
    unique_id: stanzetta_tv
    device_code: 5100
    controller_send_service: switch.broadlink_send_packet_192_168_1_23
    power_sensor: binary_sensor.tv_power

my 5100.json file:

{
    "manufacturer": "Samsung",
    "supportedModels": [
      "UE40J5100"
    ],
    "supportedController": "Broadlink",
    "commandsEncoding": "Base64",
    "commands": {
        "off": "JgCUAJWUEzcTNxM2ExMTEhMSERQSExE4EjcTOBEUERQSEhITEhMSExI4ERQTExESEhMSExITEjgSExE4EjcTNxM3FDYSNxMAArwJCQsOCwADE5WUEjgSNxM5ERMRFBEUExISExE4EjcTNxMSEhMTExISExISFBA5ExMQExITExMSEhITEjgRExI3FDYTNxI4EjcTNxIADQUAAAAA==",
        "on": "JgCUAJWUEzcTNxM2ExMTEhMSERQSExE4EjcTOBEUERQSEhITEhMSExI4ERQTExESEhMSExITEjgSExE4EjcTNxM3FDYSNxMAArwJCQsOCwADE5WUEjgSNxM5ERMRFBEUExISExE4EjcTNxMSEhMTExISExISFBA5ExMQExITExMSEhITEjgRExI3FDYTNxI4EjcTNxIADQUAAAAA==",
        "previousChannel": "JgDSAJSUEjgTNxI3FBISFBAUEhITERM3EzgTNhMSEhITEhMTEhIUERIUERMSFBE3ExQSERMTETkSNhM4EzcRExI3EzcTNxIABgaVkxQ1EzcTNxITEhQRExISExISOBI5EzUTEhMSEhQRFBITEhITERMSFBITNhQREhMTEhM3EjcSOBI3FBETNxQ1EzcTAAYFlZUQOBI5ETkSEhEUERUQExITEjgSNxM3EhMTEhMTERQSEhITEhMRFBETEjcTExMSERQRORE4EzYUNhITEjgSOBM2EwANBQAAAAAAAA==",
        "nextChannel": "JgCMAJWVETkROBI3ExITExISEhMSExI3EzcTNxIUERMSEhMSExIUERQ2EhMSExM2ExITExITEjcTEhM3EjcSFBE4EjgSNxMABgWWkxQ1EzgROBITExMRFBIRExITNxM3EzcTExESFBITERITEhMTNhMSExITNxITEhITExM2ExMSNxI3ExIUNxU0EjcTAA0FAAAAAAAAAAAAAAAA==",
        "volumeDown": "JgDSAJaSEzgTNhM2FBMRFBETExIRFBI3EjcTOBITERQRFBEUEhITNhM3EhQROREUERMTEhEUExMQFBI2ExMSNxQ2EjcTOBMABgSVkxM3EjkROBIUERQRFBAUERQSNxI3FDYSFBITEhQREhITEjcTNxMTETcTFBETEhMSExITERQROBIUETcSORI2EzcUAAYElZQSNxM4ETkRFBISEhQQFBEUEjcTNxI3ExMRFRAVEBMUEhI2EzcTExE4EhMSExITEhMRFBISEjcTFBE4EjcSORI2EwANBQAAAAAAAA==",
        "volumeUp": "JgDSAJWVETgTNhM3EhMSExMTERQREhM3EjgSOBISExITEhMTEhISOBQ1EzcTEhMTERMSEhMTEhITEhITEjgSNxM3EzcSOBMABgWUlBI4EzcSNxQREhQRExMTERMTNhM3EzcSEhQSExMREhMSEzcSORE3ExMSEhITEhMUERITEhQRExE4EzYVNRQ2EjgTAAYElZUSNxQ1EzcSExMSFBESEhMTEjcTNxI3ExMSFBESExITEhQ3EzYTNhITFBIRExISFBETEhQRFBESOBM3EzYTNxM3EgANBQAAAAAAAA==",
        "mute": "JgDWAAcACyiVlBI4EjcTNxMSExITEhISExMSNxI4FDYSEhMSExITEhMSEzcSOBI3FDYSExMTERIUERQRExITEhQREjgSNxQ2EzcSAAYFlZQUNRM4EjgRExIUEhEUEhISEzcTNxI3ExQREhMTEhISFBE3EzgSNxQ2ExETExISExITEhITEhMSExI3EzgROBM2EwAGBZSUEzgSNxI4EhMTEhITEhISExI4EjgSNxMSEhMSExISExITOBE4EjcTOBISExISExISExQSERMSFBESORE5ETcSOBIADQUAAA==",
        "sources": {
            "Channel 0": "JgDSAJWUEjgSNxM3ExISFBETEhMSEhM3FDUTNxMSExITEhITEhMSOBITEhMRFBE5ERITExITEhQRNxQ2EjcUERQ2EjgUNxEABgWVlBI3EzcSOBMSEhMTEhMSExISOBE5ETkRExEUExIRExIUETgTERQRFBIRORESExMSExISEzcSORE3ExITNxQ2EjgSAAYFlZUSNxM2EzcSEhMSExITEhMUEjYSNxQ3EhITEhITEhMTERM3ExITEhITEzcTEhISExITExI3EjgSNxMSFDYTOBE3EwANBQAAAAAAAA==",
            "Channel 1": "JgDSAJSWETcSOBM2ExMTExISEhMRFBI2EzgTNhIUERMSFREUEBMTEhMSEzYTEhQREhMSExITEjcSNxQSEjkSNxE4EjcTNxMABgSWlBI3EzYTNxQRFBITERITEhMSNxM3FDYSExISFBITEhISExITEhI3ExITEhMTEhISExI4EjgTERM3EjgSORI2EzcTAAYElpMTNxI3EzcUEhEVEBQRFBETEjcTNxI3ExMSExITEhMSFBISERMTNhQSEhMSExIUEBQRNxQ2EhQSNxI4EzgSNhI4EgANBQAAAAAAAA==",
            "Channel 2": "JgDSAJSTFDYTNxI4ExEUEhISFBEUEhI3EzYTNxMTEhISExITEhMTNhMTEjcSFBESFBETEhMSExMROBISFDcTNhI4EjkROBIABgWUlBI5EjcSNxMSEhQRExMRExITOBI3EjgSExISExMRExITEjcTEhM4EhMRFBEUExETERMSEzcTEhI4EjkSNhI4EjcTAAYGk5QTOBE4EjcTEhQSEhITEhQREzYUOBE3ExMTERITEhMSEhQ3ExEUNxIRExITEhMSEhMTEhM2FBETOBI4ETcTNxM3EwANBQAAAAAAAA==",
            "Channel 3": "JgDSAJWVEzYUNRQ2ExITEhITEhMSEhM4EjcTNxITEhQSEhISEhQRFBE4EjcUERQSERQTExETEjcTExISEjkQOBQ3ETcTOBIABgSVlRE4EzkROBITERITExETEhUQOBI3EzkREhMSEhQRExEUERMTNxI4ExEUEhETEhMSExI4EhMRFBE5EzUTNxQ2FDUTAAYFlZMUNhU2FDUUEBQRFBMTEBMSEzcTOBI3FBESEhQRExMTEBQSEzcSNxMSFBETEhMRExIUNxISExEUNxM3ETgTNhM3EwANBQAAAAAAAA==",
            "Channel 4": "JgDSAJaTEjkRNxM4ERMTEhITEhMSEhQ2FDYSNxMTEhIUERITExMSExEUEhITNxETEhMSEhMTFDUTNxI4EhQSNxI4ETgTNhQABgSVkxM4EzYSNxQSEhMRExITEhQRNxM3EjgSExITEhIUERMSExITEhIUEzUTExISExIUERI4EjgSNxMTEjgRNxM4ETgSAAYFlZQTNxM2FDYUERMRExITEhMSFDcROBM2FBISEhMSEhMSExISExMTEhM2EhMSExIUERITNxM3FDYTEhM2EzcTNxI4EgANBQAAAAAAAA==",
            "Channel 5": "JgDSAJSWETgTNxE4EhMSEhMSExISFBE3FDYTNxQREhQSERMTEhMTNhITEhITNxMSEhMTEhITExETOBM3ERMSNxU1FDYTNhQABgWTlhE3EzcSNxMSExITEhMSExITNhQ3ETgSFBETExETEhMTEzYSExMSEzYTEhMSExQQFBETEjcUNhMSEjkROBI3EjgSAAYFlpMTNhI4FDUUEhISExISExIUFTMTNxM3ExISEhMUERMSEhQ2EhQREhM4ERQSEhMSEhQREhM4EjcTEhM2EzcTNxI3FAANBQAAAAAAAA==",
            "Channel 6": "JgDSAJaTEjYUNhM3ExITERUQFBMTEBM3FDYTNxISExITEhMTEhEUExI3ExEUNhQRFBAUERQRFDYUERM3ExETNxU1EzYUOBMABgOVlBI4EjgTNRUREhMSExMQFRAVNhM3FDQUERQRFBETExISFBETNhQRFTUTEhQRFBETERQ2ExMTNhQQFDYUNhM3EzYVAAYDlZMUNxI2FDcTERQRFBEVERITEjYVNhI4EhEUERUQFBETEhUQEzYUERU2FBATEhQRExITNhQSEzYTEhM3EzcUNhM3EwANBQAAAAAAAA==",
            "Channel 7": "JgDSAJOUEzcSOBQ1FBISEhMSFBESExI3EzcTNxQREhMSExIUERITExITEzYTNhMUERITEhIUEjcSNxMTExETOBE3EzcTNxIABgWUlRI4EjgSNhQRFBETEhITEhMSNxM3EjgTEhIUERITEhMSExISExI3FTUUERMSExISFBE3FDYUERMSEjcUOBI3EzcRAAYFlZMTNxI4EzgRExMRFBESExIUETkRNxM3EhMSEhMSExQQExMTExETNhM4ExESExITEhMSNxM4ERQRExI3FDYTNxI3EwANBQAAAAAAAA==",
            "Channel 8": "JgDaAJSUEjgTNhM3FRESExETFBETERM3EzgTNhQQExMSEhMSExMTNhITEjgSNxITEhMTERMSFBETNxITFBEUNhM2EjkRNxMABgWUlhE3EjgTNhQRExITEhMSExISOBI3EzgSEhITFBESExISFDYSExM2FDYTFBESExISFBMREjgSEhMSFDYSORE4EzYTAAYFlJQTOBI4ETgSExISExISEhMSEzgROBI3ExMSEhMTExESExI3ExITORE3EhMSEhMUERMSEhM3EhMSEhM4EzYSNxQ2EwAKPggAAkUKAA0FAAAAAAAAAAAAAAAAAAA=",
            "Channel 9": "JgDUAJSVETgSNxM4ExETExEUEhMSERM4EjcSNxQSEhITExMRFBIUEBM2FDcROBIUERITEhMSEzcSFBISFBATNxM3EjgSNxMABgSVlBI4EjgSNxMSFBESFBISExETOBM2EzcTERMSExITExMSEhISNxM4EjcSExITExEUERQ2ExISFBESEzcTNxI4EjcUAAYDlZQSORE3EzcUERMSEhMSExITEiQLCRI3EjcUERMSExITExETExISOBI4ETgSEhMSExIUExE3EhQSERQSEjcSOBI3FDcTAA0FAAAAAA==",
            "Source": "JgDSAJSVEjgSOBM3ERQSEhITEhMTExA4EjcTNxQSExISEhIUERUQNxMTExMQFBETEhQSEhITERQRORE3EzgTNhQ3ETcTNxQABgOVkxQ2FDYSOBMSEhQRExITERQROBI5EjYSFBETEhQRExIUEDgTEhITExISExITEhMRFBISEjcTNxM3EjgTNhI5ETcTAAYGk5YRNxI5EjYTExIUEBMSFBITETcTOBE4ExISExMTEBQRFBE3ExMTEhMTEBUQFBETEhMSExI3EzcSOBI3EzgSNhM5EQANBQAAAAAAAA=="
        }
    }
}

This is the lovelace card:

  - entity: media_player.tv_stanzetta
    type: media-control

and how it appears…
smartircard

So, I’m confusued: how can I use all the other keys configured in my .json file from this GUI? I was expected something like a tv remote GUI. Maybe I need to use another kind of card? Could you help me please?

When it is on, click on the 3 dots, a new window will open from which you can control the TV

Hi, @letherwin !

Could you please share how exactly have you done it? Step by step, if you mind.

Thank you!

this is my python script:

canale = data.get('canale')
strcanale = str(canale)
sleep_time = 1
for c in strcanale:
    if c == "1" :  hass.services.call('script', 'bravia_channel_1', {"entity_id":"script.bravia_channel_1"})
    if c == "2" :  hass.services.call('script', 'bravia_channel_2', {"entity_id":"script.bravia_channel_2"})
    if c == "3" :  hass.services.call('script', 'bravia_channel_3', {"entity_id":"script.bravia_channel_3"})
    if c == "4" :  hass.services.call('script', 'bravia_channel_4', {"entity_id":"script.bravia_channel_4"})
    if c == "5" :  hass.services.call('script', 'bravia_channel_5', {"entity_id":"script.bravia_channel_5"})
    if c == "6" :  hass.services.call('script', 'bravia_channel_6', {"entity_id":"script.bravia_channel_6"})
    if c == "7" :  hass.services.call('script', 'bravia_channel_7', {"entity_id":"script.bravia_channel_7"})
    if c == "8" :  hass.services.call('script', 'bravia_channel_8', {"entity_id":"script.bravia_channel_8"})
    if c == "9" :  hass.services.call('script', 'bravia_channel_9', {"entity_id":"script.bravia_channel_9"})
    if c == "0" :  hass.services.call('script', 'bravia_channel_0', {"entity_id":"script.bravia_channel_0"})
    time.sleep(sleep_time)

then comes my “this” ifttt applet:

then comes the “that” part:

of course for doing this you must enable webhooks for your home assistant

Thank you very much!

I’ll try to make it work.

I forgot to say that every “bravia_channel_X” script calls something like this:

bravia_channel_3:
  alias: Bravia 3
  sequence:
  - service: switch.broadlink_send_packet_192_168_1_132
    data:
      packet: JgCIAU4VEhUmFRIVExQTFBMVEhUmFRIVExQTFRIAA3ZOFRIVJhUSFRMUExQTFRIVJhUTFBMUExUSAAN2ThQTFCcUExUSFRMUExQTFSYUExUSFRMUEwADdk0VExQnFBMUExUSFRMUExQnFBMVEhUSFRMAA3ZNFRMUJhUTFBMUExUSFRMUJxQTFBMVEhUTAAN1ThUSFSYVEhUTFBMVEhUSFSYVExQTFBMVEgADdk4UExUmFRIVExQTFBMVEhUmFRIVExQTFBMAA3ZOFBMVJhQTFRIVExQTFBMVJhUSFRMUExQTAAN2ThQTFCcUExQTFRIVExQTFCcUExUSFRMUEwADdk0VExQnFBMUExUSFRMUExQnFBMUExUSFRMAA3ZNFRIVJhUTFBMUExUSFRMUJhUTFBMVEhUTAAN1ThUSFSYVEhUTFBMUExUSFSYVExQTFBMVEgADdk4UExUmFRIVExQTFBMVEhUmFRIVExQTFBMAA3ZOFBMUJxQTFRIVExQTFBMVJhUSFRIVExQTAA0F

Hi, thanks! Now it works.
Echopage please could you share also your “direct solution” without IFTT? Thanks

1 Like

is custom updater working with smartir
as when i put
smartir: in config files
i get this error
Invalid config for [smartir]: [platform] is an invalid option for [smartir].
i have smartir config for media and swith in their respective +.yaml files
Please reply

No, the custom updater doesn’t work with this component, but the component has a built-in update feature.

Did you put ‘platform’ after ‘smartir:’ in your config file? If so, you shouldn’t put anything after ‘smartir:’.
Also, you should put ‘smartir:’ in your main config file, which is configuration.yaml.
Check the readme on the GitHub repo.

1 Like

Hi, I have a climate with ir climate component.
I set up all. All is good but I cannot see humidity sensor that I have with Home assistant(xiaomi sensor pressure, temperature and Humidity) can you help me. The same sensor for temperature I can see in climate entity. But pressure not why???

Because climate component is not supposed to show you humidity. It’s incorporated so that voice assistances like Google Home could answer your question “what’s the humidity in … room?” as it usually asks climate component for this data.

1 Like

Hi @Vassilis thanks for creating this new component. I have been using your old ones since you first created them. I’m trying to transition over to this one but couldn’t get the converter to work with my .ini file for my Onkyo receiver. It’s just a basic one I created for a few functions, not the entire remote. Is it possible to get this converted for me? or does it need more functions included? I’d be happy to generate the remaining codes for the remote to create a full .ini file for the database if you like.

I have it pasted here.

I try to convert my ini file with tools but always I have an error.

can someone help me with my climate ini file to convert in Json
here my ini file , is for FUJIKO climate, I spend so much time to take all codes.
https://pastebin.com/E5RXAPN2
Please someone know why tool can’t convert, someone now how to covert it?

Hi All,

I’m with latest version of HA 0.90, and i’m having an issue with media player.
the state of the media player is not changing, the commands are working but state on the media is stuck on the same state even when i turn of the the TV.

basically the media player it is always on

This is my config.yaml :
smartir:
update_branch: rc

media_player:

  • platform: smartir
    name: Bedroom TV
    device_code: 1000
    controller_send_service: switch.broadlink_send_packet_192_168_0_131
    power_sensor: binary_sensor.tv_power

lovelace config:

  - type: media-control
    entity: media_player.bedroom_tv![1123|427x500](upload://eH8v4yNxSU3uGXn1npOjG1aA0zD.gif)

The state will change when the binary sensor is true.

Thank you i deleted the binary sensor!

Please add device code 1640 to your configuration and the component will download your file.

1 Like

https://pastebin.com/S6FYdMrh