Problema de configuración de bt y mqtt

​Hola,

​Nuevo en Gladys y acostumbrado a manipular en Home Assistant, quise migrar por más simplicidad. Sin embargo, me encuentro con varios problemas debido a una mala configuración de red que hizo que mi servidor Unraid se estrellara.

​Mi Configuración :

  • ​Hardware : Lenovo ThinkCentre M710q.

  • ​Almacenamiento : DAS TerraMaster 4 bahías (USB).

  • ​Dongles : Zigbee (en /dev/ttyACM0) y Bluetooth Asus BT500.

  • ​Gladys : Instalada vía Docker en Unraid (actualmente en modo Bridge en el puerto 8006 para evitar conflictos).

​El problema :

Tras un intento de configurar el dongle Bluetooth, puse Gladys en modo de red Host, lo que provocó un fallo total de Unraid (conflicto de IP/Puertos) y una corrupción de mi clave de arranque. Tuve que recrear una « Nueva Configuración » y eliminar la imagen Docker corrupta.

​Desde entonces, tengo dos problemas mayores :

  1. ​Servicios MQTT y Zigbee : Los contenedores integrados ya no existen. Intenté una reinstalación manual a través de la pestaña Apps de Unraid, pero Gladys ya no parece comunicarse con ellos.

    • ​*¿Hay alguna manera de forzar a Gladys a reinstalar y gestionar por sí misma estos contenedores (Mosquitto/Zigbee2MQTT) para recuperar el funcionamiento nativo ?*

    • ​*¿Cómo asegurarme de que los nuevos contenedores apunten correctamente a mis antiguos datos en /mnt/user/appdata/ ?*

  2. ​Bluetooth (Asus BT500) : Mi dongle aún no es reconocido en la interfaz de Gladys (« No se encontró ningún dispositivo »). Sin embargo, he activado el modo Privilegiado y he intentado un passthrough USB a través de /dev/bus/usb, pero sin éxito.

​¿Tenéis algún truco para estabilizar el Bluetooth en Unraid y vincular correctamente los servicios MQTT/Zigbee después de un fallo así ?

​¡Gracias de antemano por vuestra ayuda !

Cordialmente,

Didier

Hola @DL_STUDIO y bienvenido a Gladys.

Voy a intentar ayudarte con el lado de docker y Gladys, pero no con Unraid (solo lo conozco de nombre).
¿Usas docker run o docker compose?

Para el modo de red, debes estar en host.
Para el puerto, puedes poner 8420.
Para el mapeo de directorios, diría /mnt/user/appdata/gladysassistant:/var/lib/gladysassistant si tienes un directorio gladysassistant en tu appdata, de lo contrario tendrás que ajustar la ruta.

¿Necesitas la integración zigbee2mqtt Y la integración MQTT?
Si solo quieres zigbee, entonces la integración zigbee2mqtt ya gestiona 2 dockers: zigbee2mqtt Y mosquitto.
Si necesitas gestionar dispositivos virtuales y/o suscribirte a temas de otros sistemas, entonces necesitas activar la integración MQTT (espero que sea claro :roll_eyes: ).

No soy un especialista en la línea de comandos de docker porque lo hago todo a través de Portainer para agregar/modificar/eliminar, pero puedes hacer un docker ps para ver qué está en funcionamiento y un docker ps -a para ver todo lo que existe.
Un contenedor de las integraciones puede estar muerto y entonces tendrías que eliminarlo con docker rm nombre-contenedor.

Bueno, pasamos al Bluetooth y seré más rápido porque no tengo :grimacing:
¿Para qué te va a servir el BT?
Según la doc, solo es para la presencia de los teléfonos.

Hola,
Estaba tan harto que hice una instalación limpia… Para el Bluetooth, me gustaría hacer un sistema de presencia usando llaves como se explica en la documentación.

Pero no tengo Bluetooth nativamente y Unraid no parece ser compatible…

Logré hacer que mi truco funcione en el asus BT500. El problema provenía de un conflicto con el puerto 80 de unraid.

Aquí está el método definitivo para que todo funcione perfectamente:

Paso 1: Instalar los controladores Bluetooth en Unraid

Como Unraid es ligero, hay que enseñarle a hablar « Bluetooth ».

  1. En Unraid, ve a la pestaña Plugins > Install Plugin.

  2. En el campo URL, pega esta dirección para instalar la herramienta un-get : https://raw.githubusercontent.com/ich777/un-get/master/un-get.plg y haz clic en Install.

  3. Abre el Terminal de Unraid (el icono >_ en la parte superior derecha).

  4. Escribe un-get update y confirma con Entrée.

  5. Escribe un-get install bluez y confirma. (Esto instala los controladores).

Paso 2: Encender la antena del servidor

Siempre en el terminal de Unraid, escribe el siguiente comando para iniciar el servicio Bluetooth:

  • /etc/rc.d/rc.bluetooth start (¡Tu servidor Unraid ahora entiende tu llave USB!)

Paso 3: La configuración « Mágica » del Docker Gladys

Ve a la pestaña Docker de Unraid, haz clic en el icono de Gladys Assistant y haz Edit. Haz exactamente estas modificaciones:

  1. Network Type: Cámbialo a Host (esencial para ver la antena de radio).

  2. Limpiar la antigua configuración: Elimina tus antiguas reglas de Puerto (ej: 8006:80) y tus antiguos dispositivos USB Bluetooth (ej: --device=/dev/bus/...).

  3. Crear el puente DBUS: Haz clic en Add another Path…

    • Config Type : Path

    • Name : DBUS

    • Container Path : /var/run/dbus

    • Host Path : /var/run/dbus

  4. El truco anti-crash (¡Lo más importante!): Para evitar que Gladys haga que tu servidor se bloquee usando el puerto 80 (ya ocupado por Unraid), haz clic en Add another Path… y crea esta variable:

    • Config Type : Variable

    • Name : Puerto Interno Gladys

    • Key : SERVER_PORT

    • Value : 8006

Paso 4: Aplicar y Escanear!

  1. Haz clic en APPLY abajo para recrear el contenedor.

  2. Ve a la interfaz de Gladys a través de tu navegador (ej: http://IP_DE_TU_SERVIDOR:8006). ¡Tu Unraid no se bloqueará!

  3. Ve a Integrations > Bluetooth. El error habrá desaparecido. Puedes iniciar un escaneo y detectar tus llaves, termómetros, etc.

¡Gracias por toda esta información!
Yo tengo un NAS Unraid, así que siempre puede ser útil. :+1: