Durante 2021 me he dedicado un poco a SmartHome con aplicaciones opensource. La verdad es que me gusta mantenerme al tanto en software opensource, y esta area lucia como una muy buena opción durante los tiempos de COVID (invertir un poco en casa, ya que pasare tanto tiempo en ella). Quizás mas adelante escriba una entrada mas completa sobre la instalacion y configuración de Home Assistant en una servidor linux, pero de momento, me gustaría mostrarles algo mas concreto.
En mi sala de estar tengo varias consolas, dispositivos, y la televisión. La cantidad de controles remotos es abrumante. Por eso me gustaría reunir varios de ellos bajo un mismo software-hardware.
Me decidí al finalmente por un Broadlink RM4 mini. Son unos pequeños dispositivos capaces de recibir y enviar señales infrarrojas. El RM4 Pro ademas puede enviar y recibir señales RF, y ambos dos pueden usar el accesorio HTS2, que reemplaza el cable de alimentación de energía, y agrega sensor de humedad y temperatura.
Los Broadlink RM4 tienen integración con Home Assistant, pero la configuración inicial debe ser realizado con una aplicación android. Ademas es recomendable cerrar el flujo de datos de red que sale de esos dispositivos (realizar chequeo constante por actualizaciones).
Pero mas allá de usar botones Lovelace para activar las funciones del control remoto, seria bueno tener una visión mas representativa de un control remoto.
Es por eso que use este Card: https://github.com/marrobHD/tv-card
Como pueden ver, cada botón es mas menos independiente del resto de los botones. Pero la visualización no lo es. Cada tarjeta tiene como mínimo los botones de prendido, arriba, abajo, derecha, izquierda y entrar. Los botones de volumen se agregan con la opción “tv: true”.
Luego, hay que ver los nombres de los botones que queremos configurar en https://github.com/marrobHD/tv-card e ingresar la acción a realizar. En el caso de aquí, quiero invocar servicios. Para ellos hay que indicar que “service” se invocara, y cual es la data a pasar. Importante notar que la la entrada para ello es “service_data”, y en el caso de RM4 send_command, este requiere el nombre del comando, el dispositivo, y la entidad a realizar el comando.
type: 'custom:tv-card'
entity: remote.rm4pro_remote
name: Bluray Remote
tv: true
power:
service: remote.send_command
service_data:
command: power
device: samsung_bluray
entity_id: remote.rm4pro_remote
volume_up:
service: remote.send_command
service_data:
command: volume_up
device: samsung_bluray
entity_id: remote.rm4pro_remote
volume_down:
service: remote.send_command
service_data:
command: volume_down
device: samsung_bluray
entity_id: remote.rm4pro_remote
volume_mute:
service: remote.send_command
service_data:
command: volume_mute
device: samsung_bluray
entity_id: remote.rm4pro_remote