Automatización de TVs Xiaomi: De CEC a Wake-on-LAN

Automatizar el encendido y apagado de los televisores es un desafío clásico para cualquier entusiasta de la domótica. Al principio, parece que la solución más obvia es utilizar un splitter HDMI con soporte CEC (Consumer Electronics Control). Sin embargo, tras investigar a fondo, se descubrió que esta vía es extremadamente frágil. La mayoría de los splitters comerciales bloquean o ignoran las señales de control bidireccionales, lo que hace imposible sincronizar dos TVs Xiaomi Mi TV L43MA-AFLA simplemente conectando un adaptador pasivo.

Esquema de un splitter HDMI mostrando señales de video y audio bloqueadas para CEC.
El splitter HDMI 1×4 estándar y su limitación con el protocolo CEC.

El problema con el hardware estándar es que, aunque replican la señal de video y audio perfectamente, actúan como un muro para los comandos CEC. Esto obliga a buscar alternativas más robustas, como utilizar ADB (Android Debug Bridge) o herramientas de red como `catt` para controlar el volumen y la reproducción.

El verdadero punto de inflexión llegó al analizar las especificaciones del modelo L43MA-AFLA. Al principio se pensó que era posible encender los dispositivos desde cero, pero tras probar controladores Bluetooth LE y emuladores IR, quedó claro que el hardware requiere un encendido manual inicial o mediante un estímulo físico.

Televisor Xiaomi conectado por cable directamente al router de red.
La conexión Ethernet es clave para que el Wake-on-LAN funcione con estas TVs.

La solución definitiva para la automatización completa es combinar Wake-on-LAN (WOL) con scripts de red. Al conectar las TVs por cable Ethernet, se garantiza una conexión estable y fiable, evitando los problemas de latencia que presentaba la red Wi-Fi local.

Wake-on-LAN: El despertar silencioso

La implementación más elegante para este setup es utilizar el sistema LibreELEC en un nodo de red. Mediante una tarea programada o cron job, se envía un paquete mágico directamente a la dirección MAC del televisor conectado por Ethernet. Esto permite que las TVs se despierten desde su estado de reposo profundo sin necesidad de mantener un ordenador encendido 24 horas al día.

Vista de una consola mostrando el comando adb y catt ejecutándose correctamente.
Ejecución de las órdenes ADB y catt para controlar el volumen y la pantalla.

Una vez que el sistema operativo ha recibido el comando WOL, los scripts de automatización pueden asumir el control total del dispositivo. Se envían comandos ADB para apagar la pantalla y silenciar el audio, creando una experiencia de «apagado» visualmente convincente sin interrumpir los servicios de red subyacentes.

Pantalla del sistema operativo LibreELEC con una tarea programada activa.
Automatización en LibreELEC que envía el comando Wake-on-LAN sin necesidad de PC encendido.

Conclusión

La combinación de WOL vía Ethernet, control ADB para la gestión de estado y scripts en LibreELEC representa el estándar más fiable para este tipo de automatización. Al eliminar la dependencia de hardware externo o PCs siempre encendidos, se logra un equilibrio perfecto entre funcionalidad y simplicidad.