Hace unos días compre un Gateway Zigbee SilverCrest vendido por Lidl por unos 15€ ( lo podéis encontrar aquí ) para tenerlo como backup del Gateway zigbee que tengo actualmente , para poder integrarlo en Home Assistant tendremos que modificarlo , extraer la clave de root y cambiarle el firmware
El equipo para el precio que tiene viene exquisitamente embalado
![](https://rivas.cloud/wp-content/uploads/2022/10/photo_2022-10-22_00-44-51.jpg)
En el interior nos encontramos con el Gateway , un adaptador de 220 a 5V USB , un cable USB a micro USB y un cable ethernet plano
![](https://rivas.cloud/wp-content/uploads/2022/10/photo_2022-10-22_00-44-50.jpg)
Abriremos el equipo con cuidado desde la parte inferior hasta liberar la tapa de las ocho grapas que sujetan ambas caras
![](https://rivas.cloud/wp-content/uploads/2022/10/photo_2022-10-22_00-44-49.jpg)
Una vez abierto , extraemos la placa soltando dos grapas laterales de plástico
![](https://rivas.cloud/wp-content/uploads/2022/10/photo_2022-10-22_00-44-48.jpg)
En la parte trasera de la placa podemos serigrafiadas las señas procedentes de la uart donde nos conectaremos
![](https://rivas.cloud/wp-content/uploads/2022/10/photo_2022-10-22_00-44-45-2.jpg)
Para mayor comodidad soldaremos una ristra de cuatro pines empezado a contar desde el centro de la placa hacia el exterior
![](https://rivas.cloud/wp-content/uploads/2022/10/photo_2022-10-22_00-44-39-2.jpg)
Conectaremos a la ristra de pines nuestro adaptador teniendo en cuenta que RX y TX van cruzados y que la alimentación es de 3,3Vdc
![](https://rivas.cloud/wp-content/uploads/2022/10/photo_2022-10-22_00-44-35.jpg)
Así quedarían conectadas las señales de nuestro adaptados 232 TTL
![](https://rivas.cloud/wp-content/uploads/2022/10/image-42.png)
Mediante Hyperterminal , Putty o cualquier otro programa similar crearemos una sesión con los siguientes datos de comunicación , Velocidad 38400 , 8 bits de datos , 1 bit de stop , sin paridad y sin control de flujo.
Ahora viene el tema divertido , sin alimentar previamente daremos alimentación al adaptador USB , pulsaremos conectar en la pantalla de hyperterminal , y pulsaremos repetidamente la tecla ESC , deberíamos ver el mensaje “Escape booting by user” , si no somos lo suficientemente rápidos veremos en la pantalla todo el log de inicialización y luego los mensajes de “Sendig discover” , yo tuve que repetirlo unas cinco veces ya que estos tres pasos hay que hacerlos en menos de un segundo aproximadamente.
Una vez que esta en modo de arranque por usuario , introduciremos estos dos comandos
FLR 80000000 401802 16 DW 80000000 4
![](https://rivas.cloud/wp-content/uploads/2022/10/image-46.png)
Anotaremos toda la linea que nos devuelve el comando
Ahora introduciremos estos dos comandos
FLR 80000000 402002 32 DW 80000000 8
![](https://rivas.cloud/wp-content/uploads/2022/10/image-47.png)
Anotaremos las dos líneas que nos da como respuesta a la lectura de la memoria flash
Decodificando la contraseña de root
Descargaremos este fichero y extraeremos el fichero lidl_auskey_decode.py
Al ejecutarlo nos pedirá una a una las tres líneas que hemos guardado previamente , nos devolverá la clave de encriptación y la contraseña del usuario root que apuntaremos bien ya que la usaremos varias veces posteriormente
![](https://rivas.cloud/wp-content/uploads/2022/10/image-45.png)
Ahora conectaremos el gateway a nuestra red , localizaremos la ip que le ha asignado nuestro router y entraremos vía SSH a través del puerto 2333 con usuario root y la contraseña previamente extraída y ejecutaremos el siguiente comando comando
![](https://rivas.cloud/wp-content/uploads/2022/10/image-48.png)
Una vez dentro ejecutaremos este comando y al acabar nos volveremos a conectar por SSH pero por el puerto 22 en lugar del 2333
if [ ! -f /tuya/ssh_monitor.original.sh ]; then cp /tuya/ssh_monitor.sh /tuya/ssh_monitor.original.sh; fi echo "#!/bin/sh" >/tuya/ssh_monitor.sh reboot
![](https://rivas.cloud/wp-content/uploads/2022/10/image-49.png)
Descargaremos este fichero
Desde una maquina con Linux ( yo use la misma maquina donde tengo home assistant y el resto de dockers ) subiremos el fichero con este comando
cat serialgateway.bin | ssh root@[gateway_ip] "cat >/tuya/serialgateway"
![](https://rivas.cloud/wp-content/uploads/2022/10/image-50.png)
Entraremos en el Gateway y ejecutaremos este comando
if [ ! -f /tuya/tuya_start.original.sh ]; then cp /tuya/tuya_start.sh /tuya/tuya_start.original.sh; fi cat >/tuya/tuya_start.sh <<EOF #!/bin/sh /tuya/serialgateway & EOF chmod 755 /tuya/serialgateway reboot
![](https://rivas.cloud/wp-content/uploads/2022/10/image-51.png)
Descargaremos y descomprimiremos estos ficheros
Nos aseguraremos que el scritp sea ejecutable con chmod +x ./firmware_upgrade.sh
Ejecutaremos el siguiente comando
./firmware_upgrade.sh [gateway_ip] 22 V7 NCP_UHW_MG1B232_678_PA0-PA1-PB11_PA5-PA4.gbl
Durante la ejecución nos pedirá la contraseña del root varias veces
Empezara a enviar los ficheros
![](https://rivas.cloud/wp-content/uploads/2022/10/image-52.png)
Y al acabar nos deberemos reiniciar el Gateway
![](https://rivas.cloud/wp-content/uploads/2022/10/image-53.png)
Integración con zigbee2mqtt
En la pagina de Zigbee2mqtt aparecen inventos para montarlo sobre ser2net y otras cosas diferentes , pero realmente es mucho mas sencillo , basta con configurarlo como puerto TCP y poner el puerto 8888 como el puerto de comunicación en el fichero configuration.yaml de nuestro zigbee2mqtt
serial: # port: /dev/ttyACM0 adapter: ezsp port: tcp://192.168.1.243:8888
Nada mas arrancarlo veremos en los logs como ya esta funcionando a la perfección
![](https://rivas.cloud/wp-content/uploads/2022/10/image-55.png)
Con esto y un bizcocho ………….
Enlaces de interes :