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


Thank you so much @keitetran


Yes. I’m working on it.


Hello Vassilis,

I used your “Smirtir” Media_Player and it works fine !!! I can not program but your instructions here and on Github are super written, there is no problem to set up in HA!
Thank you for your work!!! :+1::checkered_flag:


Glad to hear this. I have no confidence in my English at all.


but i have a small problem, when i add

  • 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
  • platform:

check config error
Platform not found: media_player.smartir
Platform not found: media_player.broadlink

could you help me


Hello mshafiksh,

have you already done this installation?

I had to create the folders “codes/media_player” manuell !!!

Here are also files that are needed!!!
Click at the Folder “smartir”. Copy and paste "" and “” to your HA files.

In the folder “codes / media_player” a file has to be created in .json format. Example here:
Of course this file needs to be customized with your own IR codes in Base64 !!!


I want to add that the codes can be in Broadlink Hex and Pronto format too. You need to define it to the commandsEncoding key in the Json file. The accepted values ​​are “Base64”, “Hex” and “Pronto”.


Thank you Vassilis,
I read out the “IR codes” with the “Broadlink Manager”
and saved them in the ??? json file, allos without problems.

Here in this forum you will find everything you need, great !!!:+1:


Broadlink Manager is a great tool. It provides you both Base64 and Broadlink Hex variations.


I like this so far, but it only displays the set temperature in Celsius and I need it in Fahrenheit. How can I make this change?


Did you configure the unit_system of HA to imperial?


Yes, it is.

metric for Metric, imperial for Imperial

unit_system: imperial

directly from my configuration.yaml


Can you clarify what you mean by the set temperature is in Celsius? Is the symbol or the value that actually corresponds to celsius (eg 18-30)?


It shows the set temperature as 27, with no symbol shown. image


Of course. The device Json file is in Celsius. You have to convert it to Fahrenheit. Please open an issue on GitHub in order to help you.


did anyone managed to link these commands to Alexa? for instance “Alexa set AC to 23 degrees”


New version 1.2.1 is out!
Replace the, and files. I hope for the last time :wink:
Add the following to your configuration.yaml file.




  - platform: smartir
    name: ...
    device_code: ...
    controller_send_service: ...

The component will check for updates each time HA is restarted. When there is a new version, a new Persistent Notification will appear. Two new services will also be created. The smartir.check_updates to manually check for updates and smartir.update_component to start the automatic update!


Brand new installation Hassio on Docker here. Last version of SmartIR installed but still did not work for me :frowning:
The component doesn’t show in UI
Here is my log:

019-02-26 14:48:02 WARNING (MainThread) [homeassistant.loader] You are using a custom component for smartir which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-02-26 14:48:06 WARNING (MainThread) [homeassistant.loader] You are using a custom component for smartir.climate which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-02-26 14:48:07 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/”, line 352, in _async_add_entity
await entity.async_update_ha_state()
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/”, line 239, in async_update_ha_state
attr = self.state_attributes or {}
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/climate/”, line 234, in state_attributes
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/”, line 22, in display_temp
“Temperature is not a number: {}”.format(temperature))
TypeError: Temperature is not a number: 25
2019-02-26 14:48:07 ERROR (MainThread) [homeassistant.core] Error doing job: Exception in callback <function EventBus.async_listen_once..onetime_listener at 0x7333fc00>
Traceback (most recent call last):
File “uvloop/cbhandles.pyx”, line 64, in uvloop.loop.Handle._run
File “/usr/local/lib/python3.7/site-packages/homeassistant/”, line 626, in onetime_listener
self._hass.async_run_job(listener, event)
File “/usr/local/lib/python3.7/site-packages/homeassistant/”, line 333, in async_run_job
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/person/”, line 342, in person_start_hass
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/person/”, line 363, in person_updated
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/person/”, line 374, in _update_state
for entity_id in self._config.get(CONF_DEVICE_TRACKERS, []):
ypeError: ‘NoneType’ object is not iterable

Any idea how to solve this?

Thanks a lot


Please post the issue on GitHub!


already did but no answer :frowning: