Saltar al contenido principal

Integración domótica Emoncms, gratuita y de código abierto

Integración Emoncms para Gladys Assistant

Sus feeds de Emoncms en Gladys (emonPi, emonTx, emonHP): potencia, energía, temperaturas…

Emoncms es el software libre de seguimiento energético de OpenEnergyMonitor: registra los feeds de un emonPi, un emonTx, un monitor de bomba de calor emonHP o de cualquier sensor que le envíe datos, en un servidor local o en emoncms.org. Esta integración trae esos feeds a Gladys: un dispositivo por etiqueta de feed (en la práctica uno por nodo: emonpi, emontx4, heatpump…), una funcionalidad por feed, con el tipo de Gladys adecuado para su unidad. Los feeds de energía acumulada (kWh) pueden servir a la pestaña de energía de Gladys. Una escena puede reaccionar cuando un feed deja de actualizarse, enviar valores de Gladys a Emoncms, y un widget del panel muestra qué feeds siguen activos.

Probada con un servidor Emoncms 11.9.10 real (Docker), con entradas enviadas por su API y transformadas en feeds de potencia, energía, tensión, temperatura y caudal. Desarrollada sin el hardware (sin emonPi ni emonTx a mano): sus comentarios son bienvenidos en las issues. emoncms.org usa la misma API pero no se ha probado (sin cuenta).

Lo que necesita​

  • Gladys Assistant 5.1.0 o posterior.
  • Un servidor Emoncms accesible desde la máquina de Gladys: un emonPi o un emonBase en su red, su propio servidor, o una cuenta en emoncms.org.
  • La clave API de lectura de la cuenta de Emoncms (página My Account de Emoncms). La clave API de escritura solo si quiere enviar valores de Gladys a Emoncms.

La integración solo lee, salvo si usa la acción de escena «Enviar un valor a Emoncms»: entonces solo escribe en las entradas que usted indique.

Primeros pasos​

1. Encontrar la dirección y las claves​

Abra Emoncms en un navegador y anote la dirección: http://192.168.1.20, http://emonpi.local/emoncms (algunos servidores sirven Emoncms bajo /emoncms), o https://emoncms.org. Puede pegar la dirección de cualquier página de Emoncms: la integración conserva la raíz. Abra luego My Account: las claves API de lectura y de escritura tienen 32 caracteres.

2. Configurar la integración​

En Gladys, abra la página de configuración de la integración:

  • Dirección de Emoncms: la dirección anotada.
  • Clave API de lectura: suficiente para leer todos los feeds.
  • Clave API de escritura (opcional): solo para la acción de escena que envía valores.
  • Feeds que seguir: los números de los feeds que se traen a Gladys (columna Id de la página Feeds), separados por comas. Vacío: todos los feeds.
  • Intervalo de actualización: de 5 segundos a 5 minutos, 10 segundos por defecto. Cada actualización es una sola petición para todos los feeds.
  • Feed detenido tras: un feed sin valor nuevo durante este tiempo se considera detenido (15 minutos por defecto, «Nunca» desactiva la comprobación).
  • Idioma de los mensajes: idioma de las variables de escena y de los errores.

Pulse luego Probar la conexión: la integración lee Emoncms e indica el número de feeds, de dispositivos para añadir, de feeds detenidos, y si la clave de escritura funciona.

3. Añadir los dispositivos​

Abra la pestaña Descubrir de la integración: hay un dispositivo por etiqueta de feed (los feeds sin etiqueta se agrupan en un dispositivo llamado «Emoncms»). Añada los que quiera. Un feed nuevo muestra el dispositivo como modificado: pulse Actualizar para añadirlo. Un feed renombrado conserva su primer nombre en Gladys (los nombres se fijan al crearlos).

Los dispositivos​

Cada feed se convierte en una funcionalidad con el nombre del feed, tipada según su unidad:

Unidad de EmoncmsEn Gladys
W, kWPotencia (con signo: una potencia negativa es una inyección)
kWh, Wh, MWhÍndice de energía, usado por la pestaña de energía de Gladys
V, A, mATensión, corriente
°C, °F, KTemperatura
L, m³Volumen
L/min, L/h, m³/hCaudal de agua, en m³/h (12,5 L/min = 0,75 m³/h)
hPa, mbar, Pa, kPa, barPresión
luxLuminosidad
pulsesContador
VA, kVA, var, %, ppm, dBSensor genérico, con su unidad
ninguna, Hz, kWh/d, otraSensor genérico, la unidad en su nombre

Solo los feeds de energía acumulada (kWh, Wh, MWh) se convierten en un índice de energía: un feed kWh producido por el proceso «Power to kWh» de Emoncms lo es. Un feed «kWh/d» sigue siendo un sensor genérico.

Los valores se envían a Gladys cuando cambian. El último valor de un feed detenido no se vuelve a enviar como si fuera reciente: su historial en Gladys termina donde se detuvo el feed. Con Feed detenido tras en «Nunca», esta comprobación no existe: el último valor de un feed muerto se reenvía cada 6 horas. La insignia del dispositivo indica «local» (o «nube» para emoncms.org), e «inaccesible» mientras Emoncms no responde.

Panel​

El widget Feeds de Emoncms tiene un ajuste, Dispositivo (vacío: resumen):

  • vacío, muestra el número de feeds activos y detenidos, y luego una fila por dispositivo, naranja cuando uno de sus feeds se ha detenido;
  • con un dispositivo, muestra sus seis primeros feeds en mosaicos en directo, y luego los feeds detenidos con el tiempo desde su último valor.

Escenas​

Disparadores​

Feed de Emoncms detenido o de vuelta: un feed no recibió valores nuevos durante el plazo ajustado en Feed detenido tras, o vuelve a actualizarse. Filtros: el dispositivo, y el cambio (Detenido, Activo de nuevo). Variables: el feed, su número, el dispositivo (etiqueta), el estado, los minutos desde el último valor y el último valor. Nada se dispara al iniciar la integración, solo con un cambio visto mientras funciona.

Acciones​

Enviar un valor a Emoncms: envía un número a una entrada de Emoncms, como lo haría un emonTx, con la clave de escritura. Campos: Nodo (gladys por defecto), Nombre de la entrada, Valor. El valor puede ser una variable de escena, por ejemplo un valor leído justo antes por la acción «Obtener valor del dispositivo». En Emoncms, la entrada aparece en la página Inputs: regístrela en un feed para conservar su historial. Salida: Enviado.

Ideas de escenas​

  • emonTx averiado: disparador «Feed de Emoncms detenido o de vuelta», cambio «Detenido», dispositivo emontx → enviar el mensaje «Emoncms: {{feed_name}} detenido desde hace {{minutes}} min».
  • Guardar un sensor Zigbee en Emoncms: disparador sobre la temperatura de un sensor de Gladys, acción «Obtener valor del dispositivo», y luego «Enviar un valor a Emoncms» con el nodo gladys, la entrada salon y el valor leído.
  • Potencia de la bomba de calor: con el feed de potencia de la bomba de calor añadido, una escena puede apagar un calentador de agua cuando la potencia supera un umbral (un disparador de dispositivo de Gladys, nada propio de la integración).

Solución de problemas​

  • «Emoncms no responde»: compruebe la dirección en un navegador desde una máquina de la misma red que Gladys. Un emonPi puede estar en http://emonpi.local, pero el contenedor de la integración no resuelve los nombres .local: use preferiblemente la dirección IP.
  • «No hay API de Emoncms en esta dirección»: la dirección abre otra página web. Añada o quite la subruta /emoncms.
  • «Clave API rechazada por Emoncms»: copie de nuevo la clave API de lectura desde My Account. Una clave de escritura también lee, pero no es necesaria.
  • Un feed aparece detenido aunque se actualiza: los relojes de Gladys y del servidor Emoncms difieren, o el feed se registra con menos frecuencia que el plazo. Aumente Feed detenido tras.
  • Falta un feed nuevo: compruebe Feeds que seguir y luego actualice el dispositivo en la pestaña Descubrir.

Límites​

  • Una cuenta de Emoncms por instalación de la integración.
  • Los números y etiquetas de los feeds identifican las funcionalidades: un feed movido a otra etiqueta se convierte en una funcionalidad nueva de otro dispositivo, sin el historial anterior.
  • Las entradas de Emoncms no se leen: solo los feeds. El historial que ya está en Emoncms no se importa en Gladys.
  • Gladys no puede enviar automáticamente los estados de sus dispositivos a Emoncms: una escena con la acción «Enviar un valor a Emoncms» lo hace, un valor cada vez.
  • emoncms.org: misma API, no probado; respete sus normas de uso (una actualización cada 10 segundos o más lenta es suficiente).

Parámetros de configuración​

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

ParámetroTipoObligatorioDescripción
Su servidor EmoncmssectionNoUn emonPi, un emonBase, su propio servidor o emoncms.org. Las claves API están en la página My Account de Emoncms. Cada etiqueta de feed (emonpi, emontx…) se convierte en un dispositivo: añada los que quiera desde la pestaña Descubrir.
Dirección de EmoncmsstringSíLa dirección en la que abre Emoncms, con su subruta si la hay (/emoncms en algunos servidores).
Clave API de lecturasecretSíSuficiente para leer los feeds. 32 caracteres, en la página My Account.
Clave API de escritura (opcional)secretNoSolo para la acción de escena que envía valores de Gladys a Emoncms. Si no, déjela vacía.
Feeds que seguirstringNoNúmeros de feed separados por comas (columna Id de la página Feeds). Vacío: todos los feeds.
Intervalo de actualizaciónselectNoUna petición por actualización para todos los feeds. Emoncms guarda cada 10 segundos.
Feed detenido trasselectNoUn feed sin valor nuevo durante este tiempo se considera detenido: su último valor ya no se envía a Gladys y se activa el disparador de escena.
Idioma de los mensajesselectNoIdioma de las variables de escena y de los errores (Gladys no comunica el suyo a una integración).

Cómo instalar Emoncms en Gladys​

  1. En Gladys, abre Integraciones: Emoncms 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-emoncms: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-emoncms.

Emoncms 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​

Emoncms 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 🙂