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

SmartIR is a component for controlling AC units, TV sets and fans via Infrared and RF controllers. An IR or RF controller such as Broadlink is required.

The key features of the component are:

  • Support for Base64, Broadlink Hex and Pronto codes.
  • Support for external temperature and humidity sensors (Climate platform)
  • Support for external on/off sensor that monitors whether your device is actually On or Off. This may be a power monitor sensor.
  • Support for voice assistants.

Component setup instructions

  1. Create a directory custom_components in your Home Assistant configuration directory.
  2. Copy smartir from this project including all files and sub-directories into the directory custom_components .

It should look similar to this after installation:

.homeassistant/
|- custom_components/
|   |- smartir/
|       |- __init__.py
|       |- climate.py
|       |-- fan.py
|       |- media_player.py
|       |- etc...
  1. Add the following to your configuration.yaml file.
smartir:

Platforms setup instructions

Update the component

The component will check for updates each time HA is restarted. When there is a new version, a Persistent Notification will appear.
Use the services smartir.check_updates to manually check for updates and smartir.update_component to start the automatic update.
If you would like to get update notifications from the rc branch, configure SmartIR as follows:

smartir:
  update_branch: rc

Links

52 Likes

After a bit of fiddling I managed to migrate (I did not see the convert tool :frowning: )

Good work

1 Like

I migrated mine as well. So far so good.

1 Like

Great job @Vassilis!

I’ve migrated to the new component and everything works great.

I really wish this custom component could be integrated with Home Assistant “oficial” components, it is very useful!

Thanks again.

4 Likes

I also want to mention that all INI files submitted by the users to the old repo have already been converted

2 Likes

Migrated across fine. Had a few hiccups due to reading the instructions too fast and missing a step.

None of the codes worked for my Mitsubishi Electric A/C’s. I have 2 different systems, but they share the same codes, so I converted my existing ones which went flawless.

What exactly does the humidity_sensor do with this component?

The humidity_sensor is used to report the humidity from voice assistants that support this feature.

2 Likes

ah. ok. :+1:

Sorry for the noob question i had the broadlink component working with my tv and my ac … i saw the update so far i have managed to get the custom updater to work … i already added the link… but i am a bit lost on how to proceed then … there is no info on the readme.

Dear do i need to put media config as said on github
as in example it tells us to put media_player config in climate,
or we need to put media_player config in media

Blockquote

Example (using broadlink controller):

switch:

  • platform: broadlink
    host: 192.168.10.10
    mac: ‘00:00:00:00:00:00’

climate:

  • platform: smartir
    name: Living room TV
    device_code: 1000
    controller_send_service: switch.broadlink_send_packet_192_168_10_10
    power_sensor: binary_sensor.tv_power

Blockquote

https://github.com/smartHomeHub/SmartIR/tree/master/Docs

JUst finished migrating, worked flawlessly, The codes migrator was easy as. well done

quick question, is there plans to move the fan controller over to this new one?

Yes, there are.

1 Like

@Vassilis
In the previous addon there was an option to ping the media device to get the status of that device in case it was switched on with the remote control (no power sensor on old TV). Is there a way to achieve this with SmartIR?

Yes. Please make a ping binary_sensor

binary_sensor:
  - platform: ping
    name: Living room TV
    host: 192.168.10.72
    scan_interval: 10
1 Like

I just switched over from the broadlink component and all is working well, thanks!

I had an issue with the old component where it doesn’t sync up with google home properly. This component has the same problem, google sees Auto mode as cool/heat mode and doesn’t let me set a temperature in this mode. If I set it to cool or heat mode only then I can set a temp, any ideas?

Thanks

Worked like a charm :+1:

1 Like

I’m not sure if Google Home is supporting the Auto mode. Alexa works fine with this mode.

Could you try to say “Set to heatcool”?

Thanks, glad to know its not just me :slight_smile:
Yes I tried that and it doesn’t work. I think there is a deeper problem because when I set it to heat/cool via the Google home app it doesn’t let me set the temp. Alexa works well.