Modificar e integrar Gateway Zigbee SilverCrest (LIDL) en Home Assistant

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

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

Abriremos el equipo con cuidado desde la parte inferior hasta liberar la tapa de las ocho grapas que sujetan ambas caras

Una vez abierto , extraemos la placa soltando dos grapas laterales de plástico

En la parte trasera de la placa podemos serigrafiadas las señas procedentes de la uart donde nos conectaremos

Para mayor comodidad soldaremos una ristra de cuatro pines empezado a contar desde el centro de la placa hacia el exterior

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

Así quedarían conectadas las señales de nuestro adaptados 232 TTL

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

Anotaremos toda la linea que nos devuelve el comando

Ahora introduciremos estos dos comandos

FLR 80000000 402002 32
DW 80000000 8

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

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

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

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"

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

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

Y al acabar nos deberemos reiniciar el Gateway

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

Con esto y un bizcocho ………….

Enlaces de interes :

20 comentarios en «Modificar e integrar Gateway Zigbee SilverCrest (LIDL) en Home Assistant»

  1. Muy bien explicado, me ha servido para liberar el mío, lo único que no entiendo es la parte final dónde se hace la integración con zigbee2mqtt

    Muchas gracias

    Responder
  2. Gracias por tu guia en español, poco se encuentra. Yo estoy teniendo un problema a la hora de subir el serialgateway.bin a la gateway.

    Me da el siguiente error.

    Unable to negotiate with 192.168.1.28 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss

    ¿Alguna idea? Gracias.

    Responder
  3. Yo tuve un problema para sacar la contraseña, el conversor ttl se reiniciaba al enchufar el hub, solución, lo he alimentado desde el enchufe, y tx-rx-gnd al conversor. Ahora funciona sin problema.

    Responder
    • Buenas , eso me ha ocurrido a mi tambien mas de una vez con algunos dispositivos , por eso lo alimento directamente con una alargo usb A – usb A desde el PC

      Responder
  4. No se puede utilizar como router? Cuando hablas de tenerlo como backup del que tienes, ¿Cómo funciona el backup? Si el tuyo falla vas al yaml del zigbe2mqtt cambias los parámetros y pasas a enrutar con este, pero, todos los dispositivos se auto-enlazan a este? Gracias.

    Responder
  5. Quiero comprar uno de backupo tambien y no lo encuentro en LIDL sabeis si suele ser algo temporal o ya no lo venden?
    En caso de que no lo vendan sabais si hay algun modelo replica que funcione igual? encontre este en aliexpress pero nose si es el mismo: https://es.aliexpress.com/item/1005004133821820.html?spm=a2g0o.ppclist.product.4.23f0V4pLV4pLKB&pdp_npi=2%40dis%21EUR%2115%2C64%E2%82%AC%215%2C95%E2%82%AC%21%21%21%21%21%40211b5e2b16854498400794098e03dd%2112000028145617587%21btf&_t=pvid%3A901c2d58-267e-47b6-8de0-8b9546a12cbc&afTraceInfo=1005004133821820__pc__pcBridgePPC__xxxxxx__1685449840&gatewayAdapt=glo2esp

    Responder
  6. Hola,

    Muchas gracias por el manual super currado. Acabo de conseguir hacerlo aunque me costó la parte del ESC, tuve que probar con varios adaptadores e incluso hacerlo desde Linux porque sino no era capaz de entrar a tiempo.

    Un saludo

    Responder
  7. Hola,
    Tengo este hub como coordinador realizando el proceso tal y como describes en esta entrada. el tema es que como soy un manazas compre 2 por si a la primera me lo cargaba y ahora tengo un bonito hub en el cajón. Quería saber si existe algún firmware para que funcione el hub simplemente como router (repetidor).

    Responder
  8. Hola, me vas a perdonar porque soy muy nuevo en esto pero cuando dices:

    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 qué parte hay que configurar esto? Tengo instalado de MQTT pero no sé dónde tengo que configurar esas líneas.
    Muchas gracias y disculpas de nuevo por esta pregunta de novato total….

    Responder

Deja un comentario