Como dar de alta dispositivos Broadlink en Openhab para usar por IR

En este tutorial, os vamos a detallar como dar de alta dispositivos Broadlink en Openhab, para poder utilizar los controles infrarrojos (IR) que tiene estos equipos y así poder controlar cualquier aparato que tengamos en casa que funcione por infrarrojos.

Openhab permite gestionar muchas tecnologías desde un único sistema domótico, lo que lo hace un sistema muy atractivo y con mucho poder, al poder crear reglas en las que intervengan dispositivos domóticos que utilicen diferentes protocolos de comunicación.

Broadlink nos aporta una gama de productos domóticos que pueden controlar dispositivos por Infrarrojos y por Radiofrecuencia a 433Mhz. Por ejemplo, el Broadlink RM4 Pro. También tiene una gama de dispositivos más económicos pero bastante potentes también, con los que podemos controlar únicamente dispositivos por Infrarrojos, como por ejemplo el Broadlink RM4 mini. además de otros productos compatibles como sensores de temperatura, calidad del aire, etc

Instalar el binding de Broadlink

Damos por hecho que sabéis lo que son los binding de Openhab. Openhab tiene unos binding incluidos en su sistema y que se pueden instalar desde UI, pero el binding de broadlink no lo tiene en su base de datos. Por lo que vamos a pasar a explicar como instalar el binding obteniéndolo desde un enlace externo creado por desarrolladores, que lo abren para que los usuarios de Openhab lo puedan utilizar, por lo que hay que agradecérselo.

Como requisito, este binding necesita que esté instalado la «transformations» MAP Transformations, ya que será donde se almacenen los códigos obtenidos por infrarrojos.

Pasamos a detallar el proceso de instalación:

  • Descargamos el binding de Broadlink pulsando aquí. O podemos copiar la siguiente url y pegarla en un navegador: https://github.com/themillhousegroup/openhab2-addons/releases/download/BROADLINK_3.1.M5.4/org.openhab.binding.broadlink-3.1.0-SNAPSHOT.jar.
  • Una vez descargado el fichero .jar con el binding, debemos de subirlo al directorio de  addons de nuestro sistema Openhab, dependiendo del SO:
    • Linux: /usr/share/openhab/addons
    • Windows: C:openHABaddons

En nuestro caso, lo hacemos sobre un sistema basado en Debian (Openhabian):

Directorio Addons para binding broadlink

Con estos pasos ya tendremos nuestro binding instalado. Se recomienda un reinicio del sistema Openhab, por si no ha reconocido todavía en binding, aunque suele ser instantáneo. Podemos verlo en logs de Openhab, ejecutando el siguiente comando:

				
					tail -f /var/log/openhab/openhab.log /var/log/openhab/events.log
				

Dar de alta el Thing de nuestro dispositivo Broadlink

El siguiente paso es dar de alta nuestro dispositivo Broadlink como Thing en el sistema Openhab, para ello podemos hacerlo vía UI o vía fichero de texto (desde rincondomotica, aconsejamos vía fichero de texto, ya que es más fácil la migración a un nuevo equipo donde esté instalado Openhab).

En la siguiente tabla veremos los diferentes dispositivos permitidos por el binding y sus Things ID para darlos de alta en el sistema Openhab:

Thing ID Description
a1 Broadlink A1 multi sensor
mp1 Broadlink MP1 WiFi Smart Power Strip (4 sockets)
mp1_1k3s2u Broadlink MP1 1K3S2U WiFi Smart Power Strip (3 sockets, 2 USB)
mp2 Broadlink MP2 WiFi Smart Power Strip (3 sockets, 3 USB)
sp1 Broadlink SP1 WiFi Smart Socket
sp2 Broadlink SP2 WiFi Smart Socket with night light
sp3 Broadlink SP3/Mini WiFi Smart Socket with night light
sp3s Broadlink SP3s WiFi Smart Socket with Power Meter
rm2 Broadline RM2/Pro WiFi IR/RF Transmitter with temperature sensor
rm3 Broadlink RM3/Mini WiFi IR Transmitter
rm3q Broadlink RM3 WiFi IR Transmitter with Firmware v44057
rm4 Broadlink RM4 WiFi IR Transmitter with temperature and humidity sensors

En nuestro caso estamos añadiendo un dispositivo Broadlink RM3 mini como ejemplo.

Vía UI:

  • Navegamos hasta Configuración>Things y pulsamos sobre el icono de la parte inferior derecha «+» para añadir un nuevo Thing. Nos cargará todos los binding que tenemos instalados en nuestro sistema. Buscaremos el binding de broadlink.

Binding Broadlink Openhab add new device ui

  • Pulsamos sobre el binding y el sistema escaneará nuestra red buscando dispositivos broadlink conectados a ella y si lo encuentra nos aparecerá el dispositivo para darlo de alta. En caso de no encontrarlo, debemos añadirlo manualmente, seleccionando el modelo dentro de todas las opciones que nos aparecerán.
  • Una vez pinchado sobre el nuevo dispositivo, nos pedirá que le asignemos un nombre. También nos pedirá que asignemos un fichero donde guardar los códigos infrarrojos obtenidos en el aprendizaje que contaremos más adelante.
  • Para finalizar ya veremos nuestro dispositivo creado en nuestros Things, con sus respectivas características:

Openhab Thing Broadlink ui

Vía Fichero de texto:

  • Navegamos a la ruta donde se encuentran los ficheros de texto de configuración de Things (/etc/openhab/things). Aquí veremos nuestros ficheros .things y editamos o creamos el fichero en el que queramos añadir nuestro dispositivo nuevo:
				
					Thing broadlink:rm3:34-ea-34-40-a5-9f "Broadlink Salón" [ ipAddress="XXX.XXX.XXX.XXX", port=80, staticIp=true, macAddress="34:ea:34:40:a5:9f", authorizationKey="097628343fe99e23765c1513accf8b02", iv="562e17996d093d28ddb3ba695a2e6f58", mapFilename="broadlink.map", pollingInterval=30 , retries=1, ignoreFailedUpdates=false]
				

Con esto ya tendremos creado nuestro Thing y podemos pasar al paso de dar de alta los items necesarios.

Crear items del dispositivo Broadlink

Pasamos a detallar como dar de alta los items:

Vía UI:

  • Dentro del Thing que hemos creado anteriormente , seleccionamos la pestaña Channel, donde definimos los items necesarios. Pulsamos sobre el canal al que queremos asociar un item yseleccionamos la opción «Add Link to Item…» y luego pulsamos sobre la opción «create a new item«. A partir de aquí rellenamos los campos oportunos:

Broadlink add item ui

  • Al pulsar el botón link del final, habremos terminado de crear el item asociado a este canal. Tendremos que crear los items oportunos para los canales que ofrece el Thing creado.

Vía Fichero de texto:

  • Navegamos a la ruta donde se encuentran los ficheros de texto de configuración de Items (/etc/openhab/items). Aquí veremos nuestros ficheros .items y editamos o creamos el fichero en el que queramos añadir nuestros items nuevos:
				
					String IR_Control_Salon "IR Control Salon" { channel="broadlink:rm3:34-ea-34-40-a5-9f:command" }
String Learning_Control_Salon "Aprender IR Salon" { channel="broadlink:rm3:34-ea-34-40-a5-9f:learningControl" }
				

Con esto ya tendremos creados nuestros Items y utilizarlos para interactuar con nuestro dispositivo Broadlink desde Openhab. 

Dar de alta aparatos controlados por IR en Openhab

Para finalizar vamos a detallar los pasos a seguir para dar de alta aparatos controlados por IR en nuestro sistema Openhab a través del dispositvo Broarlink RMx que tengamos en casa.

Este procedimiento se realiza mediante UI, salvo el guardar el código obtenido para controlar una opción de un aparato que se debe de guardar en el fichero de texto .map que hayamos definido a la hora de crear el Thing.

Vamos a tomar como ejemplo (para todos los demás dispositivos es igual) un Broadlink RM3 mini. Los pasos a seguir son los siguientes: 

  • En la interfaz web de openHAB, navegua hasta Configuración > Things y selecciona el Thing dado de alta de tu dispositivo Broadlink. Haz clic en la pestaña Channels.
  • Busca el canal de Control de Aprendizaje Remoto (Remote Learning Control) y seleccionamos el item creado anteriormente, si no lo tienes, créalo en el momento.
  • Haz clic en el item, y haz clic en el área rectangular que está marcada como NULL.
  • En el menú emergente que aparece, seleccione «Enter infrared learn mode» para que nuestro dispositivo Broadlink entre en modo de aprendizaje y así, podamos añadirle los comandos IR del mando a distancia del aparato que queremos sincronizar. El LED del dispositivo Broadlink RM se iluminará en un color Blanco.
  • Apunta con tu mando a distancia por infrarrojos a tu dispositivo Broadlink RM y pulsa el botón que deseas que aprenda el sistema. El LED de tu dispositivo Broadlink RM se apagará una vez que haya aprendido el comando.
  • Ahora haz clic de nuevo en el área rectangular (que ahora mostrará «Enter infrared learn mode«)
  • Selecciona la opción «Check last captured IR code» en el menú emergente.
  • Inspecciona el archivo de log openhab.log en tu servidor OpenHAB, deberías ver algo parecido a lo siguiente:
				
					==> /var/log/openhab/openhab.log <==
2021-10-01 15:58:03.540 [INFO ] [handler.BroadlinkRemoteModel3Handler] - BEGIN LAST LEARNT CODE (972 bytes)
2021-10-01 15:58:03.543 [INFO ] [handler.BroadlinkRemoteModel3Handler] - 000000000000000000000000811a76a7fedf80f1d5685b2b4de7892ee4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013db
2021-10-01 15:58:03.545 [INFO ] [handler.BroadlinkRemoteModel3Handler] - END LAST LEARNT CODE (1944 characters)
				
  • Si copias cuidadosamente la línea de registro entre los mensajes BEGIN y END, tienes el código que debes incluir en el fichero .map asociado a un comando para que sea llamado junto al item de tipo command que hemos creado anteriormente.
  • Ahora puedes pegar una nueva entrada en tu archivo .map, con el nombre que desee. Por ejemplo:
				
					Television_ON = 000000000000000000000000811a76a7fedf80f1d5685b2b4de7892ee4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013dbe4655190ffc044b1793351c1f71013db
				
  • Ya tenemos todo lo necesario para hacer una llamada a nuestro items de tipo command, pasándole como parámetro el comando que hemos introducido en nuestro fichero .map. En este ejemplo que estamos haciendo, nuestro item de tipo command se llama IR_Control_Salon y le mandamos el comando Television_ON.
				
					IR_Control_Salon.sendCommand('Television_ON')
				

Con esto hemos conseguido dar de alta el encendido de nuestra televisión.

Comparte

Un comentario en «Como dar de alta dispositivos Broadlink en Openhab para usar por IR»

  • el 25 de diciembre de 2021 a las 14:18
    Enlace permanente

    Interesante método, no lo conocía. Cuando agregué los 2 Broadlink que tengo lo hice por medio de un cliente mqtt Python llamado broadlink-mqtt. Está bien saberlo como alternativa. Muchas gracias.

    Respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta su uso.    Más información
Privacidad