RFXtrx433e en OpenHAB 3: Control de persianas con RF433MHz

Transceptor RFXtrx433e listo para ser conectado a Raspberry Pi con OpenHAB
7 min. Lectura
0 Vistas
0 Valoración

Actualización Enero 2021: Artículo actualizado aprovechando la nueva versión OpenHAB 3.

En uno de los artículos anteriores dejamos instalado OpenHAB en nuestro equipo esperando añadir dispositivos para ser controlados por él. Hoy es el día para empezar a integrarlos.

Nuestro primer dispositivo será un Transceptor RFXtrx433E USB que permitirá controlar los motores A-OK de mis persianas utilizando el protocolo RF433MHz. Configuraremos el dispositivo para que reconozca cada uno de los motores, y haremos lo necesario para integrarlo en OpenHAB.

Configurando RFXtrx433E en RFXmgr

Hay una parte que debe realizarse en un equipo con Windows. Yo he utilizado VirtualBox y puedes ver su instalación en este artículo que publiqué en su momento.

Descargamos el programa de www.rfxcom.com y lo instalamos. Conectamos nuestro RFXtrx433E en un puerto USB libre y ejecutamos RFXmgr. Pulsamos el icono Connect to RFXCOM device y a continuación seleccionamos el puerto USB correspondiente.

Conectar dispositivo RFXCOM en RFXmgr

Seleccionar puerto USB en RFXmgr

Si RFXmgr lo detecta correctamente nos aparecerá en la zona amarilla del programa información parecida a esta:

Reset receiver/transceiver
================================================
 Get Status
------------------------------------------------
Packettype = Interface Message
subtype = Interface Response
Sequence nbr = 31
response on cmnd = Get Status
Transceiver type = 433.92MHz
Firmware version = 1022 Firmware
Type = Ext2
Transmit power = 10dBm
Hardware version = 1.3

Y a continuación el listado de todos los protocolos disponibles.

No es aconsejable activar protocolos innecesariamente. Por el momento, sólo utilizaremos el BLIND T1/T2/T3/T4, que es necesario para controlar las persianas. Por lo tanto, sólo marcamos el protocolo anterior y desmarcamos el resto.

Protocolos disponibles en RFXmgr

Pinchamos en SET MODE, y guardamos con SAVE SETTINGS.

Y si ahora pinchamos en GET STATUS obtendremos de nuevo todos los datos con los protocolos activados:

...
FS20/Legrand disabled
ProGuard disabled
BlindsT0 disabled
BlindsT1 enabled
AE disabled
Rubicson disabled
FineOffset disabled
...

Configurando los motores en RFXmgr

En la pestaña BLINDS1 seleccionaremos el tipo T3 A-OK AC114, AC123, MOTOLUX, que es el tipo que necesito para mis persianas A-OK.

Seleccionar tipo de motor A-OK en RFXmgr

Empezamos la programación para el primer motor y le asignaremos un ID y un código de unidad. Hay que tener en cuenta que los valores introducidos son en el sistema hexadecimal. Más adelante necesitaremos reseñar en OpenHAB 3 estos mismos valores pero en decimal.

Programar motores con ID y código de unidad

Desde nuestro mando GIRIUS EMISOR PREMIUM, mantendremos pulsado el botón del medio hasta que la persiana haga un leve movimiento de subida y de bajada. Para otros mandos, consultar su manual.

A continuación pinchamos en TRANSMIT y en breves instantes la persiana realizará de nuevo el movimiento que nos indica que la programación ha terminado.

Probamos que el mando funcione bien, y desde RFXmgr, introduciendo el ID que queramos probar, cambiaremos el COMMAND y pincharemos en transmit. La persiana debe realizar el comando elegido.

Repetiremos el procedimiento anterior en cada uno de los motores que queramos añadir, teniendo en cuenta que cada uno de ellos deberá ser un ID y un código de unidad distinto.

Cuando finalicemos la programación, en la pestaña MAIN, guardaremos todos los cambios pinchando en save settings.

Conectando RFXtrx433E a la Raspberry

Conectaremos nuestro RFXtrx433e a un puerto USB libre de nuestra Raspberry y realizaremos las siguientes operaciones.

Añadimos el usuario openhab3 al grupo uucp:

sudo gpasswd -a openhab3 uucp

Ahora necesitaremos identificar el IDVENDOR, que es el código que identifica al fabricante y el IDPRODUCT que identifica el producto.

Para ello utilizaremos lsusb, teniendo en cuenta que si se trata de una nueva instalación es probable que debamos instalar usbutils antes:

sudo pacman -S usbutils
sudo lsusb -v | grep 'idVendor\|idProduct\|iProduct\|iSerial'
idVendor           0x0403 Future Technology Devices International, Ltd
idProduct          0x6001 FT232 Serial (UART) IC
iProduct                2 RFXtrx433
iSerial                 3 XXXXXXXX

Al principio utilizaba simplemente lsusb, sin ningún parámetro, pero es más fácil con la opción anterior:

lsusb
Bus 001 Device 006: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Bus 001 Device 008: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

El valor del IDVENDOR es el valor comprendido entre el ID y los dos puntos, y el IDPRODUCT el valor comprendido entre los dos puntos y el primer espacio en blanco.

Con toda esta información, creamos el siguiente fichero:

sudo nano /etc/udev/rules.d/10-local.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="XXXXXXX", SYMLINK+="ttyUSB-RFX433E"

De esta manera, siempre al conectar el dispositivo al puerto USB, el sistema lo identificará como /dev/ttyUSB-RFX433E.

Para que OpenHAB lo reconozca, además de lo anterior, hay que modificar el siguiente fichero:

sudo nano /etc/default/openhab3
EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/ttyUSB-rfxtrx433"

Añadiendo RFXtrx433E a OpenHAB 3

Bindings (enlaces)

Para empezar a añadir cosas, en OpenHAB things, antes debemos instalar el enlace correspondiente.

Desde nuestro navegador favorito accederemos a OpenHAB con la IP de la Raspberry y en el puerto 8080:

http://ipRaspberry:8080

Seleccionamos en el menú de la izquierda Configuración, things.

Pantalla inicial de OpenHAB 3 mostrando la sección Things

Ahora mismo no tenemos ningún dispositivo conectado, por lo tanto OpenHAB no listará nada. En la parte inferior derecha nos encontramos con el botón que nos permitirá añadirlos.

Necesitamos instalar el enlace RFXCOM, y nos aparecerá escribiendo en la casilla de búsqueda rfx. Pinchamos en él, y nos aparece la opción install, pinchamos y OpenHAB empezará la instalación.

Instalación del binding RFXCOM en OpenHAB 3

Pasados unos instantes, ya lo tendremos disponible en things.

Binding RFXCOM instalando en OpenHAB 3

Binding RFXCOM disponible en OpenHAB 3

Things (cosas)

Una vez que tenemos el enlace que necesitamos, hacemos clic en él, y nos aparecerá todos los dispositivos disponibles con el enlace RFXCOM.

El que nos interesa añadir es el RFXCOM USB Transceiver, el responsable de recibir y emitir los mensajes a los diferentes dispositivos. Filtramos, por ejemplo, por TRANS y elegimos el que nos interesa.

Añadir RFXCOM USB Transceiver en OpenHAB 3

Por el momento, sólo debemos introducir el puerto serie. Desplegamos, y OpenHAB nos listará los posibles puertos que podemos utilizar. Tenemos que elegir el ttyUSB-rfxtrx433.

Configurar puerto serie RFXCOM USB Transceiver

Crearemos el enlace con el botón Create Thing que se encuentra al final de la página.

Confirmar creación RFXCOM USB Transceiver

RFXCOM USB Transceiver disponible en OpenHAB 3

En este momento nuestro RFXCOM empezará a recibir mensajes de los diferentes dispositivos que transmitan en 433MHz, que se encuentren dentro de su alcance.

RFXCOM USB Transceiver recibiendo mensajes

Añadiendo los motores de las persianas

Una vez instalado RFXCOM, es el turno de empezar a añadir los motores de las persianas.

Una vez más, desde Things, pinchamos en el icono + que se encuentra en la parte inferior derecha de la página.

Añadir nuevo dispositivo en OpenHAB 3

A continuación, pinchamos en el enlace RFXCOM binding, y buscamos RFXCOM Blinds1 Actuator.

Seleccionar RFXCOM Blinds1 Actuator

Rellenamos el campo label introducimos una descripción del motor que estamos añadiendo. En el campo bridge, desplegamos y seleccionamos el que hemos creado en el paso anterior.

Ahora tenemos que recuperar los valores que hemos introducido al inicio de este artículo en la aplicación RFXmgr, con la diferencia de que ahora hay que introducirlos en decimal en lugar de hexadecimal. Existen varias páginas dedicadas a convertir de un sistema a otro. Yo he utilizado www.calculadoraconversor.com.

Una vez tengamos los valores en el sistema decimal lo introduciremos en el campo Device Id. Y por último, y en mi caso, utilizaré A-OK AC114/AC123 en el campo Sub type.

Configurar RFXCOM Blinds1 Actuator

Finalizamos la creación con el botón Create Thing que se encuentra al final de la página.

Enlazando los canales necesarios

Ya sólo nos queda crear los canales que nos permitirán controlar las persianas desde OpenHAB 3. Para ello seleccionamos la persiana deseada desde Things, y seleccionamos la pestaña Channels.

Crear canal en OpenHAB 3

Elegimos Shutter y añadimos el nuevo enlace pinchando en Add Link to Item... y seleccionamos Create a new Item.

Seleccionar canal Shutter

Crear nuevo Item

No es necesario modificar nada más por el momento.

Finalizamos pinchando en el botón Link.

Enlazar nuevo Item


Con esta configuración ya tendrás tus persianas con motores A-OK completamente integradas en OpenHAB 3, listas para ser controladas desde tu sistema domótico.

¿Te ha sido útil?

Ayúdame a mejorar con tu puntuación y comentarios.

0.0 (0 votos)
Jaume Ferré

Jaume Ferré

Soy un entusiasta de las nuevas tecnologías, apasionado por explorar su potencial innovador. Colecciono CDs en formato físico y disfruto creando mezclas musicales. Además, la fotografía es otra de mis pasiones, capturando momentos y expresiones con cada disparo. ¡Gracias por leerme!

💬 Comentarios

Los comentarios están gestionados por GitHub Discussions. Necesitas una cuenta de GitHub para participar. ¡Es gratis y rápido!