O SmartIR é um componente customizado que pode ser instalado via HACS criado para integrar totalmente controles remotos. O componente separa em três categorias: players de media (televisão, aparelhos de som), controles de ventiladores e controles de ar condicionado.
O SmartIR tem suporte para os seguintes controles IR:
Broadlink
Xiaomi IR Remote
LOOK.in Remote
ESPHome User-defined service for remote transmitter
MQTT Publish service
Documentação oficial do componente:
Não tem o HACS instalado? Pode instalar por aqui:
No HACS vá em Integrações.
Clique em “+ EXPLORE & ADD REPOSITORIES” no canto direito embaixo e busque por SmartIR na barra de busca.
Vai achar o componente!
Clique para instalar!
Com ele instalado agora é só configurar corretamente os controles remotos!
Vou usar como exemplo a configuração usando dispositivos Broadlink pois é o que eu uso! Outros dispositivos a configuração está na documentação oficial.
Vá até o configuration.yaml e adicione:
Para Players de Media:
media_player:
- platform: smartir
name: Nome do Controle
unique_id: id_do_controle_
device_code: XXX
controller_data: remote.nomedocontrole
power_sensor: binary_sensor.tv_power
O nome do dispositivo você escolhe, o unique_id também! O device_code varia de controle para controle, na documentação oficial existem alguns já configurados e precisa verificar lá.
Caso não exista precisará criar manualmente.
Em controller_data é preenchida a entidade do seu controle Broadlink.
Após configurado e com o Home Assistant reiniciado irá aparecer um arquivo .json com os códigos do device_code que preencheu na pasta media_player em seu config, seguindo o caminho “custom_components\smartir\codes\media_player” lá poderá verificar os códigos.
Usei o código 1060 para uma televisão da Samsung.
Agora consigo controlar totalmente a televisão! Sobre cartão da lovelace, não encontrei algum que fique legal com media_player, se alguém tiver sugestão agradeço!
Para Ar Condicionados:
climate:
- platform: smartir
name: Nome do Ar Condicionado
unique_id: ar_condicionado
device_code: XXX
controller_data: remote.nomedocontrole
temperature_sensor: sensor.temperatura
humidity_sensor: sensor.umidade
power_sensor: binary_sensor.ac_power
Para os ar condicionados a configuração é parecida mas podemos adicionar outras informações, caso tenha um sensor de temperatura e umidade poderá adicionar as informações deles junto e aparecerão nos cartões na lovelace. Verifique na documentação oficial se existe o código para seu modelo de ar condicionado.
O caminho para verificar os códigos é “custom_components\smartir\codes\climate”. Caso o seu ar condicionado não tenha poderá criar um novo, no meu caso eu criei.
Tenho dois ar condicionados da LG que são modelos mais antigos e usam o controle AKB74295303, então criei o device_code para ele, segue para download quem interessar.
Download: https://drive.google.com/file/d/1EtdxwTTkgA-69QRimImetaNM8YFq4j9x/view?usp=sharing
Existem hoje dois modelos que conheço de cartões para ar condicionados no Home Assistant, um deles é o cartão de Termostato do Home Assistant.
Outro que podem utilizar é o cartão Simple Termostat. Pode ser instalado pelo HACS na parte de Frontend.
Para Ventiladores:
fan:
- platform: smartir
name: Ventilador
unique_id: meu_ventilador
device_code: 1000
controller_data: remote.nomedocontrole
power_sensor: binary_sensor.fan_power
Para ventiladores é igual a configuração, em name e unique_id você escolhe como preencher. Em device_code coloque o código do seu ventilador e em controller_data preencha com seu dispositivo Broadlink. Verifique se já existe o código para seu ventilador.
O caminho para achar seus códigos é “custom_components\smartir\codes\fan”.
No meu caso não existia o código do meu ventilador de teto, então tive novamente que criar.
Uso um ventilador de teto de marca HunterFan. Segue o link de download a quem interessar.
Download: https://drive.google.com/file/d/1LVgogNBf0cskZKZZq-nE3bn1Sp-nXUz-/view?usp=sharing
Sobre o cartão para a Lovelace, no HACS existe um cartão Fan Control Entity Row.
Para configura-lo coloque em adicionar cartão de forma Manual e preencha com o código abaixo.
entities:
- entity: fan.lroom_fan
name: Living Room
type: 'custom:custom-fan-card'
title: Fans
type: entities
É isso, um abraço!