SmartIR is a custom integration for controlling climate, media player, fan and light devices via infrared controllers.
SmartIR currently supports the following controllers:
- Broadlink
- Xiaomi IR Remote (ChuangmiIr)
- LOOK.in Remote
- ESPHome User-defined service for remote transmitter
- MQTT Publish service
- ZHA Zigbee IR remote (May require custom zha quirk for given controller)
More than 120 climate devices are currently supported out-of-the-box, mainly for the Broadlink controller, thanks to our awesome community.
Don't forget to star the repository if you had fun!
This is a fork of the original repository smartHomeHub/SmartIR which seems to be unmaintained at the time with many pull requests pending. As some of those were useful to my usage I decided to fork and merge the work of the corresponding authors to allow for simple usage of the integration through HACS. Therefore all the corresponding rights belong to the original authors. I also lately started to fix some additional users issues, implementing HomeAssistant future compatibility changes and adding some functionality, trying to keep compatibility but please note, that there may be some breaking changes from the original version.
If you use any own/custom codes json files please backup such json files before migrating to this integration from the original one. After instalation (using HACS) please place your custom files into new custom_codes
directory. codes
directory is managed by HACS and you will loose all changes during any HACS update!
If you want HACS to handle installation and updates, add SmartIR url https://github.com/litinoveweedle/SmartIR
as a custom repository in the HACS. This is preffered instalation method as it would allow for automatic updates.
Download latest smartir.zip file and place it's content in the custom_components
folder in your HomeAssistant configuration custom_component/smartir
directory.
The resulting directory structure should look similar to this:
<config directory>/
|-- custom_components/
| |-- smartir/
| |-- __init__.py
| |-- climate.py
|-- controller.py
| |-- fan.py
| |-- media_player.py
|--light.py
| |-- codes/
| |-- climate/
| |-- 1000.json
| |-- .....
| |-- fan/
| |-- 1000.json
| |-- .....
| |-- media_player/
| |-- 1000.json
| |-- .....
|-- light/
| |-- 1000.json
| |-- .....
| |-- custom_codes/
| |-- climate/
| |-- 1000.json
| |-- .....
| |-- fan/
| |-- 1000.json
| |-- .....
| |-- media_player/
| |-- 1000.json
| |-- .....
|-- light/
| |-- 1000.json
| |-- .....
To properly function, specification of your controlled device data including IR codes shall exists either in codes
or in custom_codes
directory as a .JSON file. When installed both using HACS or manual method, codes
directory is populated by device data files maintained by this project. If you would like to create your own device data file, place it in the custom_codes
class climate|fan|media_player|light
subdirectory, this directory is persistent and will be manitained accross HACS updates. Please don't forget to create PR for this new device data file and I will try to include it in a new releases.
Using https://gist.github.com/svyatogor/7839d00303998a9fa37eb48494dd680f?permalink_comment_id=5153002#gistcomment-5153002 you can convert Broadlink code file.
Example: python3 broadlink_to_tuya.py 1287.json > 9997.json
Click on the links below for instructions on how to configure each platform.