Servidor domótico: 2 - Instalando RFXtrx433e en OpenHab2

RFXCOM RFXTRX433E Transmisor/Receptor USB

Actualización Enero 2021 aprovechando la nueva version 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 RFXMNGR

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 RFXmngr. Pulsamos el icono Connect to RFXCOM device:

Connect to RFXCOM device

y a continuación seleccionamos el puerto USB correspondiente.

Seleccionar USB

Si RFXmngr 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 admitidos en el firmare instalado

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 RFXMNGR

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.

Tipo T3-AOK-AC114-AC123-Motolux

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:

Introducir ID y codigo unidad diferente para cada motor

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 RFXmngr, 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 ellos utilizaremos lsusb, teniendo en cuenta que si se trata de una nueva instalación es probable que debamos instalar antes 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 simplemenente lsusb, sin ningún parametro, 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 Openhab2

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.

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

Pantalla inicial openHAB 3

Necesitamos instalar el enlace RFXCOM, y nos aparecerá escribiendo en la casilla de busqueda rfx:

RFXCOM en openHAB 3

Pinchamos en él, y nos aparece la opción install, pinchamos y openHAB empezará la instalación:

RFXCOM instalando en openHAB 3

Pasados unos instantes, ya lo tendremos disponible en things:

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 posiibles puertos que podemos utilizar. Tenemos que elegir el ttyUSB-rfxtrx433:

Configurar RFXCOM USB Transceiver en openHAB 3

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

Confirmar la creación RFXCOM USB Transceiver en openHAB 3

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 empieza a recibir los primeros mensajes en openHAB 3

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 dispositivos en openHAB 3

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

Seleccionar RFXCOM Blinds1 Actuator en openHAB 3

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 articulo en la aplicación rfxmngr, 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 en openHAB 3

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

Enlanzando los canales necesarios

Ya sólo nos queda crear los canales que nos permitiran 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:

Crear canal Shutter en openHAB 3

Añadimos el nuevo enlace pinchando en Add Link to Item… y seleccionamos Create a new Item:

Crear nuevo item en openHAB 3

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

Finalizamos pinchando en el botón Link:

Enlazar nuevo item en openHAB 3

¿Y ahora?

En próximos artículos, veremos como hacer reglas para que las persianas suban o bajen de manera automática dependiendo de los criterios que queramos. Cómo por ejemplo que suban a una hora determinada o cuando amanezca, o que bajen cuando llueva…

Soy Jaume Ferré, aficionado a los nuevas tecnologias, aunque ya no lo son tanto.
¡Gracias por leerme!

Valora este artículo1 2 3 4 5 (0 votos)

(0 votos)

Categorias del blog

twitter

Últimos tweets