Como me gusta que todo el sistema domotico sea o redundante o que en pocos minutos pueda estar funcionando he decidido programar y configurar un SONOFF Zigbee 3.0 USB Dongle Plus para tenerlo de reserva por si se averiase mi coordinador LAUNCHXL-CC26X2R1 tener toda la red zigbee funcionando de nuevo en pocos minutos
Prepararemos el SONOFF Zigbee 3.0 USB Dongle Plus para sustituir el LAUNCHXL-CC26X2R1 en caso de averia
Flashearlo es bastante sencillo ,yo he seguido este manual de Domotica en casa y en tres minutos estaba ya a punto de caramelo para empezar las pruebas , aquí os dejo una serie de enlaces donde podéis encontrar los ficheros e información extendida.
- https://notenoughtech.com/home-automation/sonoff-zigbee-3-0-usb-dongle-plus/
- https://domoticaencasa.es/tutorial-flasheo-sonoff-zigbee-3-0-dongle-plus/
- https://www.zigbee2mqtt.io/guide/adapters/#notes
Y aquí para que no andéis perdiendo el tiempo ni registrándoos en TI os dejo los ficheros necesarios para flashear el chiquitin.
https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin
Una vez programado mediante Flash programmer si todo ha ido bien pasaremos a probar y configurar nuestros dispositivos zigbee con el nuevo coordinador
De entrada al montarlo en un NAS QNAP con un linux a medida no me reconocía el nuevo dispositivo , en el foro de QNAP encontré esta solución para que lo detectara
Entrar por SSH al NAS , introducir esto comandos y reiniciar el NAS
mknod /dev/ttyUSB0 c 188 0 insmod /usr/local/modules/usbserial.ko insmod /usr/local/modules/cp210x.ko
Una vez reiniciado ya aparece el nuevo dispositivo
Este es el docker-compose.yml que teníamos original con el LAUNCHXL-CC26X2R1
zigbee2mqtt2: image: koenkk/zigbee2mqtt:1.23.0 hostname: zigbee2mqtt container_name: zigbee2mqtt2 environment: - TZ=Europe/Madrid volumes: - /share/Container/zigbee2mqtt/data:/app/data - /run/udev:/run/udev:ro devices: - /dev/ttyACM0:/dev/ttyACM0 restart: always privileged: true network_mode: host
Cambiaremos en el docker-compose.yml el puerto al que ira conectado el docker y regeneraremos el docker con docker-compose up -d
# - /dev/ttyACM0:/dev/ttyACM0 - /dev/ttyUSB0:/dev/ttyUSB0
En el configuration.yaml de zigbee2mqtt cambiaremos el puerto serie por el nuevo
serial: port: /dev/ttyUSB0
Y empezara a funcionar como el que teníamos previamente detectando todos nuestros chismes zigbee y comunicando con el servidor MQTT
El problema ahora viene con que cada vez que reiniciemos el NAS perderemos los drivers , para ello tendremos que crear un autorun.sh y que se ejecute en cada arranque
https://wiki.qnap.com/wiki/Running_Your_Own_Application_at_Startup
Starting from QTS 4.3.3 it’s required to enable the autorun.sh processing in the Control Panel -> Hardware -> General: Run user defined startup processes (autorun.sh)
mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config
Create/Edit /tmp/config/autorun.sh.
- either using vi:# vi /tmp/config/autorun.sh
- Get vi editor into edit mode: press a
- Edit whatever you need to
- Exit edit mode: press ESC
- Save and exit: x
- or editing it using a desktop PC and e.g. SFTP
- Ensure that /tmp/config/autorun.sh is executable# chmod +x /tmp/config/autorun.sh
- IMPORTANT: Unmount the mounted flash partition:# umount /tmp/config
mknod /dev/ttyUSB0 c 188 0 insmod /usr/local/modules/cp210x.ko
De esta forma al arrancar el NAS tendremos los drivers correctos para el dongle sonoff zigbee , con esto y un bizcocho ………..