API di monitoraggio esterno
Obiettivo
Per gli integratori che richiedono visibilità in tempo reale, il polling della nostra API di telemetria introduce ritardi e un sovraccarico sia dal lato dell'integratore sia dal lato di SmartgridOne. Per risolvere questo problema, il controller può essere configurato per inviare la telemetria a un endpoint designato fornito dall'integratore. Questo "meccanismo webhook" abilita flussi di dati in tempo reale con una latenza quasi nulla, aggirando i limiti del polling tradizionale delle API.
Configurazione iniziale (punto di partenza per i nuovi utenti)
1. Verifica la tua rete
Assicurati che il tuo SmartgridOne Controller disponga di una connessione di rete attiva.
2. Aggiungi i tuoi dispositivi
Accedi all'interfaccia di messa in servizio e assicurati che i dispositivi siano aggiunti al SmartgridOne Controller.
3. Configura il webhook tramite le "fonti di dati esterne"



4. Inserisci i parametri
-
L'URL e l'endpoint dell'API
-
Il token di autorizzazione bearer utilizzato per la richiesta API. Per evitare che un controller compromesso venga utilizzato per falsificare i dati di altri dispositivi, consigliamo vivamente di utilizzare token univoci per ogni controller e di associare ogni token a una posizione specifica nella tua implementazione.
-
La frequenza con cui vengono inviati i dati (in secondi, il valore predefinito è 60 s)
-
Seleziona quali dati devono essere inviati:
- I dati a livello di dispositivo contengono tutti i campi dati specificati di seguito, per ogni singolo nodo connesso al SmartgridOne Controller.
- Il livello di tipo di dispositivo contiene dati aggregati a livello di tipo di dispositivo (ad es. solare, accumulo, fisso)
Successivamente, seleziona l'opzione per includere tutti i dispositivi.

Dati dell'endpoint
L'endpoint deve accettare una richiesta HTTP POST con i seguenti dati:
Se è stato selezionato il livello di tipo di 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>",
}Se è stato selezionato il livello di dispositivo:
{
"time": "<Unix Timestamp>",
"siteNodeId": "<Site NodeID>",
"nodeId1": "<Node Fields>",
"nodeId2": "<Node Fields>",
...
}Ulteriori informazioni sui singoli campi sono disponibili qui: Struttura del payload di feedback.
