Introducción a la API web JSON

  • El sitio de documentación completa de la API web se puede encontrar en: webapi.egauge.net
  • Si bien se recomienda la última versión de firmware, se marcarán los elementos que requieran una versión de firmware mínima.

eGauge WebAPI es un marco de API basado en JSON que permite la configuración automatizada de medidores, la recuperación de datos registrados, información de estado y más.

eGauge Systems proporciona una biblioteca Python para ayudar con la autenticación y otras interacciones con la WebAPI del medidor eGauge y se puede instalar desde PyPi (pip) o Bitbucket (código fuente).

Notas:

  • La API web se introdujo en la versión 4.2 del firmware; sin embargo, eGauge Systems publica periódicamente nuevas versiones de firmware con correcciones de errores, mejoras y nuevas funciones. Se recomienda usar la última versión del firmware de eGauge. Haga clic aquí para obtener información sobre cómo comprobar y actualizar el firmware del medidor eGauge.

Introducción a Python

Para facilitar el inicio, eGauge ofrece un paquete de Python de código abierto. Se puede instalar con el comando:

pip install egauge-python


Con este paquete instalado, acceder a un medidor eGauge es muy sencillo. Por ejemplo, para obtener el nombre de host del medidor, puede usar:

from egauge import webapi

URI = "https://DEV.egaug.es" # replace DEV with meter name
USR = "USER" # replace USER with user name
PWD = "PASS" # replace PASS with password

dev = webapi.device.Device(URI, webapi.JWTAuth(USR,PWD))

print("hostname is " + dev.get("/config/net/hostname")["result"])

El paquete también contiene varias clases de conveniencia para leer datos del medidor, capturar muestras de formas de onda, convertir entre unidades físicas, etc.

El repositorio GIT oficial de este paquete se encuentra en https://bitbucket.org/egauge/python/ . Se pueden encontrar varios ejemplos de código en el directorio eGauge/examples.


Comenzando sin la biblioteca de Python eGauge

Consulte la página de la biblioteca de soporte sobre autenticación WebAPI para obtener ejemplos de autenticación.


Descripciones de servicios WebAPI comunes

Consulte la documentación de WebAPI para obtener más información y conocer todos los puntos de conexión de servicio disponibles. Los puntos de conexión a continuación son solo algunos de los más utilizados para recuperar datos y configuración.

/auth
Servicio utilizado para obtener o invalidar un token web JSON utilizado para autenticarse con WebAPI.

/config
Este servicio le permite leer y escribir la configuración del medidor.

/register
Este servicio proporciona datos de registro instantáneos e históricos que se graban en el medidor.

/local
Este servicio proporciona información instantánea derivada de las entradas de canal configuradas, incluido el valor RMS, el valor medio, el valor de frecuencia y los valores de potencia y energía instantáneos si se configuran registros de potencia.

Para datos de registro históricos o recientemente generados, utilice el servicio /register .


Otras descripciones de servicios WebAPI

A continuación se muestran los puntos de conexión de servicio adicionales no mencionados anteriormente. Consulte la documentación de WebAPI para obtener más información y conocer todos los puntos de conexión de servicio disponibles.

/capture
El servicio /capture se utiliza para obtener datos de forma de onda sin procesar de las entradas. Para obtener valores RMS, promedio o frecuencia normales directamente de los sensores, utilice el servicio /local. Para obtener datos de registro almacenados o recién generados, utilice el servicio /register.

/cmd
Servicio utilizado para enviar comandos al medidor como reinicio o actualización de firmware.

/ctid
Servicio utilizado para leer o configurar sensores CTid desde un medidor o hacer parpadear el LED en el sensor (solo EG4xxx).

/control
Servicio utilizado para controlar dispositivos remotos compatibles, como el módulo de relé PRM3.

/log
Servicio utilizado para acceder a syslog o a los registros del kernel. Syslog debe habilitarse primero a través del punto final del servicio /config.

/lua
Servicio utilizado para administrar scripts Lua en el medidor.

/providers
Servicio utilizado para obtener información sobre proveedores externos que admiten servicios de medición, como intercambio de datos push, alertas push y tarifas.

/store
Servicio utilizado para almacenar y recuperar preferencias y otras configuraciones normalmente utilizadas en la interfaz del navegador web del usuario.

/remote
Servicio utilizado para configurar dispositivos remotos en el medidor.

/sys
Servicio utilizado para obtener información del sistema, como la versión del firmware, el tiempo de actividad, el número de serie, el modelo del medidor y más.