diff --git a/LICENSE b/LICENSE index f7d086cb..a19ab623 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 Vassilis Panos +Copyright (c) 2019 Vassilis Panos, 2024 Li Tin O've Weedle Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/docs/CLIMATE.md b/docs/CLIMATE.md index 0f3ac550..e1ddf62a 100644 --- a/docs/CLIMATE.md +++ b/docs/CLIMATE.md @@ -1,9 +1,7 @@ -

- SmartIR Climate -

+# SmartIR Climate For this platform to work, we need a .json file containing all the necessary IR commands. -Find your device's brand code [here](CLIMATE.md#available-codes-for-climate-devices) and add the number in the `device_code` field. If your device is not working, you will need to learn your own codes and place the Json file in `smartir/codes/climate` subfolders. Please note that the device_code field only accepts positive numbers. The .json extension is not required. +Find your device's brand code [here](CLIMATE.md#available-codes-for-climate-devices) and add the number in the `device_code` field. If your device is not working, you will need to learn your own codes and place the Json file in `smartir/custom_codes/climate` subfolders. Please note that the device_code field only accepts positive numbers. The .json extension is not required. ## Configuration variables: | Name | Type | Default | Description | @@ -22,8 +20,6 @@ Find your device's brand code [here](CLIMATE.md#available-codes-for-climate-devi Add a Broadlink RM device named "Bedroom" via config flow (read the [docs](https://www.home-assistant.io/integrations/broadlink/)). ```yaml -smartir: - climate: - platform: smartir name: Office AC @@ -37,8 +33,6 @@ climate: ## Example (using xiaomi controller): ```yaml -smartir: - remote: - platform: xiaomi_miio host: 192.168.10.10 @@ -57,8 +51,6 @@ climate: ## Example (using mqtt controller): ```yaml -smartir: - climate: - platform: smartir name: Office AC @@ -73,8 +65,6 @@ climate: ## Example (using LOOKin controller): ```yaml -smartir: - climate: - platform: smartir name: Office AC @@ -109,8 +99,6 @@ remote_transmitter: ``` HA configuration.yaml: ```yaml -smartir: - climate: - platform: smartir name: Office AC diff --git a/docs/FAN.md b/docs/FAN.md index f81a10df..d27b0e98 100644 --- a/docs/FAN.md +++ b/docs/FAN.md @@ -1,9 +1,7 @@ -

- SmartIR Media Player -

+# SmartIR Fan For this platform to work, we need a .json file containing all the necessary IR or RF commands. -Find your device's brand code [here](FAN.md#available-codes-for-fan-devices) and add the number in the `device_code` field. The compoenent will download it to the correct folder. If your device is not working, you will need to learn your own codes and place the .json file in `smartir/codes/fan/` subfolders. Please note that the `device_code` field only accepts positive numbers. The .json extension is not required. +Find your device's brand code [here](FAN.md#available-codes-for-fan-devices) and add the number in the `device_code` field. If your device is not working, you will need to learn your own codes and place the .json file in `smartir/custom_codes/fan/` subfolders. Please note that the `device_code` field only accepts positive numbers. The .json extension is not required. ## Configuration variables | Name | Type | Default | Description | @@ -20,8 +18,6 @@ Find your device's brand code [here](FAN.md#available-codes-for-fan-devices) and Add a Broadlink RM device named "Bedroom" via config flow (read the [docs](https://www.home-assistant.io/integrations/broadlink/)). ```yaml -smartir: - fan: - platform: smartir name: Bedroom fan @@ -34,8 +30,6 @@ fan: ## Example (using xiaomi controller) ```yaml -smartir: - remote: - platform: xiaomi_miio host: 192.168.10.10 @@ -53,8 +47,6 @@ fan: ## Example (using mqtt controller) ```yaml -smartir: - fan: - platform: smartir name: Bedroom fan @@ -67,8 +59,6 @@ fan: ## Example (using LOOKin controller) ```yaml -smartir: - fan: - platform: smartir name: Bedroom fan @@ -105,8 +95,6 @@ remote_transmitter: HA configuration.yaml: ```yaml -smartir: - fan: - platform: smartir name: Bedroom fan diff --git a/docs/MEDIA_PLAYER.md b/docs/MEDIA_PLAYER.md index 5b01790e..c17c03a8 100644 --- a/docs/MEDIA_PLAYER.md +++ b/docs/MEDIA_PLAYER.md @@ -1,9 +1,7 @@ -

- SmartIR Media Player -

+# SmartIR Media Player For this platform to work, we need a .json file containing all the necessary IR commands. -Find your device's brand code [here](MEDIA_PLAYER.md#available-codes-for-tv-devices) and add the number in the `device_code` field. The compoenent will download it to the correct folder. If your device is not working, you will need to learn your own codes and place the .json file in `smartir/codes/media_player/` subfolders. Please note that the `device_code` field only accepts positive numbers. The .json extension is not required. +Find your device's brand code [here](MEDIA_PLAYER.md#available-codes-for-tv-devices) and add the number in the `device_code` field. If your device is not working, you will need to learn your own codes and place the .json file in `smartir/custom_codes/media_player/` subfolders. Please note that the `device_code` field only accepts positive numbers. The .json extension is not required. ## Configuration variables: | Name | Type | Default | Description | @@ -20,8 +18,6 @@ Find your device's brand code [here](MEDIA_PLAYER.md#available-codes-for-tv-devi Add a Broadlink RM device named "Bedroom" via config flow (read the [docs](https://www.home-assistant.io/integrations/broadlink/)). ```yaml -smartir: - media_player: - platform: smartir name: Living room TV @@ -33,8 +29,6 @@ media_player: ## Example (using xiaomi controller): ```yaml -smartir: - remote: - platform: xiaomi_miio host: 192.168.10.10 @@ -51,8 +45,6 @@ media_player: ## Example (using mqtt controller): ```yaml -smartir: - media_player: - platform: smartir name: Living room TV @@ -64,8 +56,6 @@ media_player: ## Example (using LOOKin controller): ```yaml -smartir: - media_player: - platform: smartir name: Living room TV @@ -98,8 +88,6 @@ remote_transmitter: ``` HA configuration.yaml: ```yaml -smartir: - media_player: - platform: smartir name: Living room TV diff --git a/docs/README.md b/docs/README.md index 2f7ae52a..d8f96ef8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,7 +1,8 @@ [![](https://img.shields.io/github/v/release/litinoveweedle/SmartIR.svg?style=flat-square)](https://github.com/litinoveweedle/SmartIR/releases/latest) [![](https://img.shields.io/badge/HACS-Custom-orange.svg?style=flat-square)](https://github.com/custom-components/hacs) ## Overview -SmartIR is a custom integration for controlling **climate devices**, **media players** and **fans** via infrared controllers.
+SmartIR is a custom integration for controlling **climate devices**, **media players** and **fans** via infrared controllers. + SmartIR currently supports the following controllers: * [Broadlink](https://www.home-assistant.io/integrations/broadlink/) * [Xiaomi IR Remote (ChuangmiIr)](https://www.home-assistant.io/integrations/remote.xiaomi_miio/) @@ -9,17 +10,21 @@ SmartIR currently supports the following controllers: * [ESPHome User-defined service for remote transmitter](https://esphome.io/components/api.html#user-defined-services) * [MQTT Publish service](https://www.home-assistant.io/docs/mqtt/service/) -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!

+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. ## Installation +### *HACS* +If you want HACS to handle installation and updates, add SmartIR url `https://github.com/litinoveweedle/SmartIR` as a [custom repository](https://hacs.xyz/docs/faq/custom_repositories/) in the HACS. This is preffered instalation method as it would allow for automatic updates. + ### *Manual* -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: +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: ``` / |-- custom_components/ @@ -39,21 +44,27 @@ It should look similar to this: | |-- media_player/ | |-- 1000.json | |-- ..... +| |-- custom_codes/ +| |-- climate/ +| |-- 1000.json +| |-- ..... +| |-- fan/ +| |-- 1000.json +| |-- ..... +| |-- media_player/ +| |-- 1000.json +| |-- ..... ``` -### *HACS* -If you want HACS to handle installation and updates, add SmartIR as a [custom repository](https://hacs.xyz/docs/faq/custom_repositories/). In this case, it is recommended that you turn off automatic updates, as above. -

- +## 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](https://github.com/litinoveweedle/SmartIR/pulls) 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. * [Climate platform](/docs/CLIMATE.md) * [Media Player platform](/docs/MEDIA_PLAYER.md) * [Fan platform](/docs/FAN.md) -

## See also * [Discussion about SmartIR Climate (Home Assistant Community)](https://community.home-assistant.io/t/smartir-control-your-climate-tv-and-fan-devices-via-ir-rf-controllers/) -* [SmartIR Chat on Telegram](https://t.me/smartHomeHub) diff --git a/docs/assets/smartir_climate.png b/docs/assets/smartir_climate.png deleted file mode 100644 index 45554fe9..00000000 Binary files a/docs/assets/smartir_climate.png and /dev/null differ diff --git a/docs/assets/smartir_fan.png b/docs/assets/smartir_fan.png deleted file mode 100644 index 1d088414..00000000 Binary files a/docs/assets/smartir_fan.png and /dev/null differ diff --git a/docs/assets/smartir_mediaplayer.png b/docs/assets/smartir_mediaplayer.png deleted file mode 100644 index 7ea2f926..00000000 Binary files a/docs/assets/smartir_mediaplayer.png and /dev/null differ