[](https://www.buymeacoffee.com/vassilis)
SmartIR is a custom [Home Assistant](https://www.home-assistant.io/) 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.
## **Supported controllers**
## Overview
SmartIR is a custom integration for controlling **climate devices**, **media palyers** and **fans** via infrared controllers.<br>
SmartIR currently supports the following controllers:
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`.
More than 120 climate devices are currently supported out-of-the-box, mainly for the Broadlink controller, thanks to our awesome community.<br>
Please don't forget to **star** the repository if you had fun! [**"Buy Me A Coffee**"](https://www.buymeacoffee.com/vassilis) is also welcome. It will help in further development.<br><br>
It should look similar to this after installation:
## Installation
### *Manual*
**(1)** Place the `custom_components` folder in your configuration directory (or add its contents to an existing `custom_components` folder).
It should look similar to this:
```
.homeassistant/
<config directory>/
|-- custom_components/
| |-- smartir/
| |-- __init__.py
@@ -32,36 +27,43 @@ It should look similar to this after installation:
| |-- media_player.py
| |-- etc...
```
3. Add the following to your configuration.yaml file.
**(2)** Add the following to your configuration.yaml file.
SmartIR automatically detects updates after each HA startup and asks you to install them. It also has a mechanism that prevents you from updating if the last SmartIR version is incompatible with your HA instance. You can disable this feature by setting SmartIR as follows:
<palign="center">
<ahref="MEDIA_PLAYER.md"><imgsrc="assets/smartir_mediaplayer.png"width="400"alt="SmartIR Media Player"></a>
</p>
<palign="center">
<ahref="FAN.md"><imgsrc="assets/smartir_fan.png"width="400"alt="SmartIR Media Player"></a>
</p>
```yaml
smartir:
check_updates:false
```
## **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 (Release Candidate), configure SmartIR as follows:
If you would like to get updates from the rc branch (Release Candidate), configure SmartIR as follows:
```yaml
smartir:
update_branch:rc
```
### *HACS*
If you want HACS to handle the updates, add SmartIR as a custom repository. In this case, it is recommended that you turn off automatic updates, as above.
<br><br>
## Platform setup instructions
Click on the images below for instructions on how to configure each platform.