Saltar al contenido principal

Integración domótica Theengs / OpenMQTTGateway, gratuita y de código abierto

Integración Theengs / OpenMQTTGateway para Gladys Assistant

Sensores BLE y 433 MHz decodificados por OpenMQTTGateway o Theengs Gateway, leídos por MQTT.

Los sensores Bluetooth (BLE) decodificados por una pasarela OpenMQTTGateway (ESP32) o Theengs Gateway (Raspberry Pi, complemento de Home Assistant, Docker), y con un módulo de radio los sensores de 433 MHz decodificados por rtl_433, leídos en su broker MQTT. La pasarela se encarga del Bluetooth y de la radio: Gladys solo lee lo que publica.

Desarrollada sin el hardware: sus comentarios son bienvenidos. Los mensajes de las pruebas siguen el formato exacto de ambas pasarelas, pero no se conectó ninguna pasarela real.

Lo que obtiene​

  • Sensores: un dispositivo por sensor decodificado que añada, con lo que informa el decodificador: temperatura, humedad, batería, pila baja, humedad del suelo, luminosidad, presión, CO2, PM2,5, PM10, formaldehído, movimiento, apertura (sensores de puerta y ventana), sondas de termómetros de cocina. Xiaomi (LYWSD03MMC, firmware original o ATC / PVVX), SwitchBot, Inkbird, Govee, Qingping, Shelly BLU, BTHome, ThermoBeacon y más de 150 modelos más de Theengs Decoder.
  • Sensores de 433 MHz decodificados por rtl_433 (estaciones meteorológicas Oregon Scientific, Acurite, LaCrosse, Fine Offset…): temperatura, humedad, pila baja, presión, viento, luz, UV, contactos.
  • Pasarelas: en línea o no, tiempo de funcionamiento (OpenMQTTGateway), número de dispositivos oídos.
  • Escenas: un disparador para los botones Bluetooth, un disparador para los códigos 433 MHz, infrarrojos y de mandos rtl_433, una acción para comprobar pilas y sensores sin datos.
  • Panel: el widget Sensores Theengs.

Antes de empezar​

  • Una pasarela que publique en un broker MQTT:
    • OpenMQTTGateway v1.x en un ESP32, con el módulo BLE (y RTL_433, RF o IR si su placa los tiene);
    • o Theengs Gateway con sus temas por defecto (home/TheengsGateway/BTtoMQTT).
  • La dirección del broker, y un nombre de usuario y una contraseña si los pide. El broker instalado por Gladys (integración MQTT) sirve.
  • Los sensores cifrados (Xiaomi con clave de vinculación, Shelly BLU cifrado, BTHome cifrado) solo se decodifican si dio la clave a la pasarela.

Configuración​

CampoFunción
Dirección del brokermqtt:// (1883) o mqtts:// (8883), p. ej. mqtt://192.168.1.10:1883.
Nombre de usuario, contraseñaVacíos para un broker anónimo.
Certificado autofirmadoSolo mqtts://.
Raíz de los temashome: la parte antes del nombre de la pasarela en home/OpenMQTTGateway/BTtoMQTT.
Ofrecer los sensores de 433 MHzDesmárquelo para ocultar todos los sensores rtl_433 en Descubrimiento (los de los vecinos…).
Idioma de los textosNombres de las funciones al añadir un dispositivo, frases de escenas, mensajes de acciones.

Dos botones en la página de la integración: Comprobar la conexión (broker, pasarelas y dispositivos oídos) y Mostrar los últimos códigos (los últimos códigos 433 MHz, infrarrojos y rtl_433, para copiar en una escena).

La integración solo se suscribe a los temas de las pasarelas (BTtoMQTT, RTL_433toMQTT, 433toMQTT, IRtoMQTT, LWT, SYStoMQTT): nunca publica nada.

Dispositivos​

Abra la pestaña Descubrimiento de la integración: lista las pasarelas y los sensores oídos en los últimos 10 minutos que el decodificador reconoció y que informan al menos un valor. Añada los que quiera; deles un nombre y una habitación como a cualquier dispositivo.

  • Un sensor Bluetooth se identifica por su dirección MAC, un sensor rtl_433 por su modelo, canal e identificador. Muchos sensores de 433 MHz baratos eligen un identificador nuevo al cambiar la pila: añada entonces el nuevo dispositivo.
  • Excluidos a propósito: los anuncios no decodificados, los teléfonos, relojes y otros dispositivos con dirección aleatoria (Apple, Microsoft, balizas de notificación de exposición). Para la presencia por habitación, vea la integración ESPresense.
  • Un sensor que informa más tarde un valor nuevo (la sonda de un termómetro conectada…) se vuelve a ofrecer con Actualizar en Descubrimiento.
  • Las medidas se envían a Gladys cada 30 segundos cuando cambian; una puerta, un movimiento o una pila baja, al instante.
  • Un SwitchBot Blind Tilt solo tiene su batería: su open es una posición, no una puerta.

Pasarelas​

Un dispositivo pasarela indica si la pasarela está en línea (su último mensaje MQTT, LWT), cuántos dispositivos decodificados oyó en los últimos 10 minutos y, para OpenMQTTGateway, su tiempo de funcionamiento (SYStoMQTT). Varias pasarelas pueden oír el mismo sensor: las medidas son las mismas, las pulsaciones y los códigos cuentan una vez.

Escenas​

  • Botón Bluetooth pulsado (disparador): un botón Bluetooth añadido a Gladys (Shelly BLU Button, mando BTHome…). Filtros: el botón, la pulsación (simple, doble, triple, larga), el número del botón en un mando de cuatro botones. Variables: nombre, pulsación, número, código del evento.
  • Código recibido (disparador): una pasarela recibió un código de 433 MHz (timbre, mando, detector), un código infrarrojo o un mando decodificado por rtl_433. Filtros: el código, su tipo, la pasarela. Pulse el mando y luego Mostrar los últimos códigos en la página de la integración da el código que copiar. Un código repetido en menos de 1,5 segundos cuenta una vez.
  • Comprobar los sensores (acción): los sensores añadidos a Gladys con la pila baja (por debajo del 20 % salvo otra elección) y los que ninguna pasarela ha oído desde hace más de 2 horas (salvo otra elección), en una frase lista para un mensaje, con los dos números. Ejemplo: cada domingo, enviar la frase cuando un número supere 0.

Panel​

El widget Sensores Theengs lista los sensores y pasarelas añadidos a Gladys, los que requieren atención primero: pasarela fuera de línea, sensor sin datos desde hace 2 horas, pila baja. Ajustes: mostrar las pasarelas, mostrar el nivel de las pilas.

Límites​

  • Solo lectura: no se envía ninguna orden a los dispositivos, y el envío de códigos de 433 MHz o infrarrojos no está soportado.
  • Los anuncios no decodificados y los dispositivos con dirección aleatoria se ignoran.
  • Solapamientos: Gladys lee el Bluetooth por sí misma con la integración Bluetooth (en la máquina de Gladys), los 433 MHz con las integraciones RFlink y RFPlayer, y la integración MQTT puede leer cualquier tema a mano. Esta integración sirve para los sensores que una pasarela Theengs u OpenMQTTGateway ya decodifica.
  • El tiempo sin datos de un sensor cuenta como mucho desde el arranque de la integración.

Solución de problemas​

  • Comprobar la conexión no ve ninguna pasarela: compruebe la raíz de los temas (la primera parte de los temas, home por defecto) y que la pasarela use el mismo broker (mosquitto_sub -v -t 'home/#').
  • Falta un sensor en Descubrimiento: debe estar decodificado por la pasarela (model_id en su mensaje) y oído en los últimos 10 minutos. Los sensores cifrados necesitan su clave en la pasarela.
  • Registros detallados: LOG_LEVEL=debug en el contenedor.

Parámetros de configuración​

Estos son los parámetros que Theengs / OpenMQTTGateway te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
Conectar sus pasarelassectionNoOpenMQTTGateway (ESP32) y Theengs Gateway decodifican sensores Bluetooth, y con un módulo de radio sensores y mandos de 433 MHz, y los publican en un broker MQTT. La integración solo lee ese broker.
Dirección del brokerstringSíEl broker donde publican sus pasarelas OpenMQTTGateway o Theengs Gateway: mqtt:// (puerto 1883) o mqtts:// para TLS (puerto 8883). El broker instalado por Gladys también sirve.
Nombre de usuariostringNoDéjelo vacío si el broker acepta clientes anónimos.
ContraseñasecretNo
Aceptar un certificado autofirmadobooleanNoSolo mqtts://: el certificado del broker no se comprueba.
Raíz de los temasstringNohome, salvo si sus pasarelas publican en otro lugar: la parte antes del nombre de la pasarela en home/OpenMQTTGateway/BTtoMQTT.
Ofrecer los sensores de 433 MHzbooleanNoSensores decodificados por rtl_433 en Descubrimiento. Una pasarela oye a menudo las estaciones meteorológicas vecinas: desmárquelo para ocultarlos.
Idioma de los textosselectNoNombres de las funciones al añadir un dispositivo, frases de escenas y mensajes de las acciones.

Cómo instalar Theengs / OpenMQTTGateway en Gladys​

  1. En Gladys, abre Integraciones: Theengs / OpenMQTTGateway aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. Haz clic en Instalar. Gladys descarga la imagen Docker (ghcr.io/guim31/gladys-theengs:1.0.0), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-theengs.

Theengs / OpenMQTTGateway requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.

¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.

Sobre las integraciones externas​

Theengs / OpenMQTTGateway es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂