/ha.integration.smartir

⏻ Control Home Assistant climate, media and fan devices via IR/RF controllers (Broadlink, Xiaomi, MQTT, LOOKin, ESPHome)

Primary LanguagePythonMIT LicenseMIT

⏻ Smart IR

HACS Badge License Latest Release Code style

Overview

SmartIR is a custom integration for controlling climate devices, media players and fans via infrared controllers.

SmartIR currently supports the following controllers:

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!

Disclaimer

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.

WARNING - custom codes!

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!

Installation

HACS

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.

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

Manual

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
|       |-- codes/
|           |-- climate/
|               |-- 1000.json
|               |-- .....
|           |-- fan/
|               |-- 1000.json
|               |-- .....
|           |-- media_player/
|               |-- 1000.json
|               |-- .....
|       |-- custom_codes/
|           |-- climate/
|               |-- 1000.json
|               |-- .....
|           |-- fan/
|               |-- 1000.json
|               |-- .....
|           |-- media_player/
|               |-- 1000.json
|               |-- .....

Device Data - IR Codes

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 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.

Platform setup instructions

Click on the links below for instructions on how to configure each platform.

See also