API de Monitoreo Externo
Objetivo
Para integradores que requieren visibilidad en tiempo real, hacer polling de nuestra Telemetría API introduce retrasos y genera carga tanto en el lado del integrador como en el lado de SmartgridOne. Para resolver esto, el controlador puede configurarse para enviar telemetría a un endpoint designado que proporciona el integrador. Este "mecanismo webhook" permite flujos de datos en vivo con latencia casi nula, evitando las limitaciones del polling tradicional de API.
Configuración inicial (Punto de partida para nuevos usuarios)
1. Verifique su red
Asegúrese de que su SmartgridOne Controller tenga una conexión de red activa.
2. Agregue sus dispositivos
Inicie sesión en la interfaz de puesta en marcha y asegúrese de que los dispositivos estén añadidos al SmartgridOne Controller.
3. Configure el webhook a través de 'fuentes de datos externas'



4. Ingrese los parámetros
-
La URL y endpoint de la API
-
El token de autorización bearer usado para la solicitud API. Para evitar que un controlador comprometido sea usado para falsificar datos de otros dispositivos, recomendamos fuertemente usar tokens únicos por controlador y vincular cada token a una ubicación específica en su implementación.
-
La frecuencia con la que se envían los datos (en segundos, por defecto es 60s)
-
Seleccione qué datos deben enviarse:
- Los datos a nivel dispositivo contienen todos los campos de datos especificados abajo, por cada nodo individual conectado al SmartgridOne Controller.
- El nivel tipo de dispositivo contiene datos agregados a nivel tipo de dispositivo (ej. solar, almacenamiento, fijo)
Luego, seleccione incluir todos los dispositivos.

Datos del Endpoint
El endpoint debe aceptar una solicitud HTTP POST con los siguientes datos:
Si se seleccionó el nivel tipo de dispositivo:
{
"time": "<Unix Timestamp>",
"siteNodeId": "<Site NodeID>",
"grid": "<Grid Fields>",
"solar": "<Solar Fields>",
"storage": "<Storage Fields>",
"heat_pump": "<Heat Pump Fields>",
"switched_load": "<Switched Load Fields>",
"variable_power_load": "<Variable Power Load Fields>"
Si se seleccionó el nivel dispositivo:
{
"time": "<Unix Timestamp>",
"siteNodeId": "<Site NodeID>",
"nodeId1": "<Node Fields>",
"nodeId2": "<Node Fields>",
...
}Más información sobre los campos individuales puede encontrarse aquí: .
