Integración domótica Sensor.Community, gratuita y de código abierto

Calidad del aire, ruido y clima de los sensores ciudadanos Sensor.Community, suyos o cercanos.
Calidad del aire, ruido y clima de los sensores ciudadanos de Sensor.Community (antes Luftdaten): su propia caja airRohr, o los sensores públicos alrededor de su casa.
Desarrollada sin el hardware: sus comentarios son bienvenidos. La integración se escribió y probó con respuestas grabadas de la API pública y del firmware airRohr, no con una caja real. Cuéntenos en el foro de Gladys cómo se comporta con la suya.
Esta integración no está afiliada a Sensor.Community.
Qué hace
- Lee sensores públicos de la red Sensor.Community por su identificador, sin cuenta ni clave.
- Lee su propia caja airRohr directamente en su red, para obtener valores en directo cada minuto (opcional).
- Crea un dispositivo por sensor: PM2.5, PM10, PM1 si se mide, temperatura, humedad, presión, ruido, CO2, según el sensor.
- Calcula el índice europeo de calidad del aire (AEMA) a partir de PM2.5 y PM10, e indica la antigüedad de la última medición: un sensor mudo queda señalado.
- Añade un widget Calidad del aire al panel, un disparador de escena La calidad del aire ha cambiado y una acción de escena Obtener la calidad del aire.
Solo lectura: la integración nunca cambia nada en un sensor.
Requisitos
- Gladys Assistant 5.2.0 o posterior.
- Acceso a Internet para los sensores públicos (la API de datos de Sensor.Community).
- Para su propia caja: una airRohr (o cualquier caja con el firmware de Sensor.Community) accesible desde Gladys, con una dirección IP fija (reserva DHCP en su router).
- Para la búsqueda de sensores cercanos: la ubicación de su casa, en Ajustes → Casas. La integración pide acceso a las coordenadas de las casas en la pantalla de instalación; solo las usa para esta búsqueda.
Configuración
Elegir los sensores
- Abra la pestaña Configuración de la integración.
- Pulse Buscar sensores alrededor de una casa: elija la casa (vacío: la primera casa con ubicación) y un radio (vacío: 2 km). El resultado lista los sensores que han enviado datos en los últimos 5 minutos, del más cercano al más lejano, con su tipo, distancia y mediciones, y los identificadores listos para copiar.
- Copie los identificadores deseados en Identificadores de los sensores, separados por comas (20 como máximo). El identificador es también el número que aparece al pulsar un sensor en el mapa.
- Guarde: los dispositivos aparecen en la pestaña Descubrimiento en cuanto se lee su primera medición. Añádalos a Gladys.
Consejo: el sensor de partículas (SDS011, SPS30…) y el sensor meteorológico (BME280, DHT22…) de una misma caja tienen dos identificadores distintos: añada ambos.
Su propia caja airRohr
Introduzca su dirección IP en Dirección de su caja airRohr (por ejemplo
192.0.2.20). Use la dirección IP: los nombres terminados en .local no se
resuelven desde el contenedor de la integración. La caja se lee cada minuto a
través de su página /data.json; no se necesita contraseña.
Otros ajustes
- Lectura de los sensores públicos: cada 5, 10, 15 o 30 minutos. Los datos públicos cambian cada 5 minutos y Sensor.Community pide moderación: 5 minutos como mínimo.
- Idioma: el idioma de los nombres de las funciones (fijados al añadir un dispositivo) y de los textos enviados a las escenas. Francés por defecto.
El botón Comprobar los sensores lee cada sensor configurado e indica lo que responde: su tipo y la antigüedad de su medición, sin datos, o un error.
Dispositivos
Sensor público
Un dispositivo por identificador, llamado Sensor.Community #<id> (<tipo>).
Sus funciones siguen lo que mide el sensor:
| Función | Unidad | Sensores |
|---|---|---|
| PM2.5, PM10 | µg/m³ | SDS011, SPS30, PMS, HPM, NextPM |
| PM1 | µg/m³ | SPS30, PMS, NextPM |
| Temperatura, Humedad | °C, % | BME280, DHT22, SHT3x, HTU21D |
| Presión | hPa | BME280, BMP280, BMP180 |
| Presión a nivel del mar | hPa | BME280, BMP280, BMP180 |
| Ruido (LAeq), mínimo, máximo | dB | DNMS |
| CO2 | ppm | SCD30 |
| Índice de calidad del aire (EAQI) | 1–6 | todo sensor de partículas |
| Antigüedad de la medición | min | todo sensor |
Cada valor es la media de las mediciones de los últimos 5 minutos, como en el mapa de Sensor.Community. El PM1 se muestra como una función de tipo PM2.5 (Gladys no tiene categoría PM1), llamada «PM1».
Su caja airRohr
Un dispositivo llamado airRohr <id del chip> (por ejemplo
airRohr esp8266-1234567), con todos los sensores conectados a la caja. El
nombre de cada función indica el sensor: «Temperatura (BME280)»,
«Temperatura (DHT22)».
Índice de calidad del aire
El índice europeo de calidad del aire de la Agencia Europea de Medio Ambiente, de 1 a 6: buena, razonablemente buena, regular, desfavorable, muy desfavorable, extremadamente desfavorable. El peor de PM2.5 y PM10 fija el nivel (umbrales revisados en 2024: PM2.5 hasta 5, 15, 50, 90, 140 µg/m³; PM10 hasta 15, 45, 120, 195, 270 µg/m³). La AEMA lo calcula con medias validadas de estaciones de referencia: con un sensor ciudadano y 5 minutos, es orientativo.
Antigüedad de la medición
Los minutos transcurridos desde la última medición del sensor. Pasados 15 minutos, la medición está caducada: la integración deja de enviar sus valores (Gladys sigue mostrando los últimos con su fecha), el widget indica «Caducada» y la antigüedad sigue creciendo, para que una escena pueda avisarle.
Widget
Añada el widget Calidad del aire a un panel.
- Con un sensor elegido en sus ajustes: mosaicos en directo (PM2.5, PM10, temperatura, humedad), el nivel del índice europeo coloreado según su umbral (verde para buena y razonablemente buena, naranja para regular, rojo más allá) y la antigüedad de la medición.
- Sin sensor: una fila por sensor de partículas, con su nivel.
Escenas
Disparador: La calidad del aire ha cambiado
Inicia la escena cuando el índice europeo de un sensor alcanza otro nivel, confirmado por dos lecturas seguidas (una bocanada de humo no lo dispara). Filtros: el sensor, y los nuevos niveles que importan (por ejemplo desfavorable, muy desfavorable, extremadamente desfavorable). Variables disponibles para las acciones siguientes: nombre del sensor, nivel (en palabras, en el idioma configurado), nivel de 1 a 6, nivel anterior, contaminante que fija el nivel, PM2.5 y PM10.
Acción: Obtener la calidad del aire
Da la calidad del aire de un sensor o, sin sensor, la peor de los sensores medidos en los últimos 15 minutos. Salidas: un resumen listo para una notificación («Desfavorable · PM2.5 62 µg/m³ · PM10 80 µg/m³ · hace 3 min»), el nivel en palabras, su clave y su número, PM2.5, PM10 y la antigüedad de la medición.
Ejemplos de escenas
- Cerrar las ventanas cuando el aire empeora: disparador «La calidad del aire ha cambiado» con los niveles desfavorable, muy desfavorable, extremadamente desfavorable → enviar el mensaje «Aire {{triggerEvent.data.level_label}} cerca de {{triggerEvent.data.sensor_name}}: cierre las ventanas».
- Resumen matinal: a las 7:30 → acción «Obtener la calidad del aire» → enviar el resumen en el mensaje de la mañana.
- Sensor mudo: disparador sobre la función «Antigüedad de la medición» por encima de 60 minutos → avisar de que el sensor (o el Wi-Fi de la caja) ha caído.
- Ventilación: cuando el índice de su caja vuelve a buena o razonablemente buena, poner en marcha la ventilación mecánica.
Solución de problemas
- Ningún dispositivo en la pestaña Descubrimiento: un sensor aparece en cuanto se lee su primera medición. Pulse Comprobar los sensores: «sin datos en los últimos 5 minutos» significa que el sensor está desconectado, o que el identificador es erróneo (la API responde lo mismo en ambos casos). Compruebe el identificador en el mapa.
- El estado indica que la API no responde: la API de Sensor.Community no funciona o no es accesible desde Gladys; las lecturas se reanudan por sí solas.
- Su caja no responde: compruebe su dirección IP (fija), que esté
alimentada y en la misma red que Gladys, y abra
http://<su dirección>/data.jsonen un navegador. - Una caja con firmware antiguo (anterior a 2020) no tiene página
/metrics: su dispositivo recibe entonces el nombre de su dirección, y una nueva dirección crea un nuevo dispositivo. Actualice el firmware. - Registros: abra los registros de la integración desde Gladys. Defina
LOG_LEVEL=debugpara ver cada lectura.
Límites
- Datos de sensores ciudadanos, no de estaciones de referencia: los sensores de partículas de bajo coste sobrestiman con aire húmedo (niebla, lluvia). Lea los valores como tendencias.
- Los sensores públicos se leen cada 5 minutos como máximo, y 20 sensores como máximo.
- Solo PM2.5 y PM10 entran en el índice europeo: los demás contaminantes del índice oficial (ozono, NO2, SO2) no los miden estos sensores.
- Los PM4 y los recuentos de partículas (SPS30, IPS-7100) no se muestran: Gladys no tiene categoría para ellos.
- La integración lee; nunca configura una caja.
Parámetros de configuración
Estos son los parámetros que Sensor.Community te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Sensores ciudadanos | section | No | Lea sensores públicos de Sensor.Community (sin cuenta) por su identificador, el número que muestra el mapa, o su propia caja airRohr en su red. Sin afiliación con Sensor.Community. |
| Identificadores de los sensores | string | No | Los identificadores de los sensores públicos que desea leer, separados por comas (20 como máximo). El botón «Buscar sensores alrededor de una casa» más abajo lista los de su zona. |
| Dirección de su caja airRohr | string | No | Opcional: la dirección IP de su propia caja en su red, leída cada minuto para obtener valores en directo. Use su dirección IP: los nombres terminados en .local no se resuelven desde la integración. |
| Lectura de los sensores públicos | select | No | Los datos públicos cambian cada 5 minutos, y Sensor.Community pide moderación: 5 minutos como mínimo. |
| Idioma | select | No | Idioma de los nombres de las funciones (fijados al añadir un dispositivo) y de los textos de escena. |
Cómo instalar Sensor.Community en Gladys
- En Gladys, abre Integraciones: Sensor.Community aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/guim31/gladys-sensor-community:1.0.1), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-sensor-community.
Sensor.Community requiere Gladys >=5.2.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
Sensor.Community 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.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación