API di Monitoraggio Esterno
Obiettivo
Per gli integratori che richiedono visibilità in tempo reale, effettuare polling della nostra Telemetry API introduce ritardi e sovraccarichi sia lato integratore che lato SmartgridOne. Per risolvere questo, il controller può essere configurato per inviare la telemetria a un endpoint designato fornito dall’integratore. Questo "meccanismo webhook" consente flussi di dati live con latenza quasi pari a zero, superando i limiti del polling API tradizionale.
Configurazione Iniziale (Punto di partenza per nuovi utenti)
1. Verifica la tua rete
Assicurati che il tuo SmartgridOne Controller abbia una connessione di rete attiva.
2. Aggiungi i tuoi dispositivi
Accedi all’interfaccia di messa in servizio e verifica che i dispositivi siano stati aggiunti al SmartgridOne Controller.
3. Configura il webhook tramite 'fonti 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 usato per falsificare dati da altri dispositivi, consigliamo fortemente di usare token unici per ogni controller e di vincolare ogni token a una specifica ubicazione nella tua implementazione.
-
La frequenza con cui i dati vengono inviati (in secondi, il default è 60s)
-
Seleziona quali dati devono essere inviati:
- I dati a livello di dispositivo contengono tutti i campi dati specificati di seguito, per singolo nodo connesso al SmartgridOne Controller.
- Il livello tipo dispositivo contiene dati aggregati a livello di tipo dispositivo (es. solare, accumulo, fisso)
Successivamente, seleziona di includere tutti i dispositivi.

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