Vai al contenuto
Elausys

HyperVisu / Integrazioni

Integrazione HTTP

Controllo e interrogazione delle API HTTP con estrazione JSON e autenticazione flessibile.

elausys · 28 luglio 2026
In questa pagina

Integrazione HTTP

Il protocollo HTTP integra dispositivi e servizi che utilizzano HTTP semplice: API REST, servizi cloud con un’API locale o semplici relè di rete. Funziona in due direzioni:

  • Richieste in uscita — quando cambia il valore di un widget, HyperVisu invia una richiesta (controllo del dispositivo o chiamata webhook).
  • Interrogazione periodica — HyperVisu richiede periodicamente un URL ed estrae un valore dalla risposta in un oggetto del widget.

Connessioni. Attiva prima HTTP Protocol nella pagina Services (vedi «Servizi e protocolli»); su un nuovo server è disattivato. HTTP supporta più connessioni: una per Base URL, ciascuna con i propri Poll Interval (seconds), Timeout (ms) e autenticazione (vedi «Connessioni»). Il timeout è in millisecondi, da 1000 a 120000; lasciandolo vuoto, una richiesta attende 30 secondi.

Scegli l’Authentication Type richiesto dall’API. Cambiare il tipo svuota tutti i campi delle credenziali.

Authentication TypeDati da fornireModalità di invio
NoneNessuna credenziale.Non viene aggiunto nulla.
API Key (Header)Header Name e API Key.Un’intestazione con quel nome e la chiave.
API Key (Query Parameter)Query Parameter e API Key.Aggiunti all’URL di ogni richiesta.
Basic AuthenticationUsername e Password.L’intestazione di autorizzazione Basic standard.
Bearer TokenBearer Token.L’intestazione di autorizzazione Bearer standard.
Custom HeadersUna riga per intestazione, con nome e valore; Add Header aggiunge una riga.Ogni riga, con ogni richiesta.

Compila entrambi i campi di una coppia: una coppia con un campo vuoto non viene inviata. API Key, Password e Bearer Token sono mascherati nell’editor; i valori inseriti in Custom Headers sono mostrati in chiaro.

Una connessione HTTP non ha un pulsante Test. Il suo stato rimane State unknown finché un oggetto associato non ha scambiato una richiesta; Connected indica quindi che l’ultima richiesta è stata accettata e No reply since compare dopo una richiesta non riuscita.

📘 Nota: Un intervallo di interrogazione di 0 rende la connessione di sola scrittura — non viene interrogato nulla, vengono inviate solo richieste in uscita. Anche un intervallo vuoto significa che l’endpoint non viene mai interrogato: inserisci il valore, il 60 grigio è solo un suggerimento.

Associazione di un oggetto. Per ogni oggetto imposta Path e HTTP Method e, per i valori interrogati, come estrarre la lettura dalla risposta con Parse Method e Parse Path:

  • JSON — un percorso con sintassi a punti e array, ad esempio data.sensors[0].temperature. Un indice negativo come [-1] legge l’ultimo elemento; filtri e caratteri jolly non sono supportati.
  • Pattern Matching — per risposte non JSON. Parse Path deve iniziare con PATTERN=, ad esempio PATTERN=Temp:\s\v. Cambiare il metodo di analisi svuota Parse Path, quindi inseriscilo dopo aver scelto il metodo.

Per le richieste in uscita, imposta HTTP Method su POST o PUT e scegli Content Type. Request Body Template è un modello in cui ${value} viene sostituito con il valore inviato, ad esempio {"state": ${value}}.

📘 Nota: L’interrogazione periodica invia sempre un GET al Path dell’oggetto. Un oggetto POST o PUT invia una richiesta solo quando il suo valore cambia.

Esempio pratico — qualità dell’aria esterna dall’API di un sensore locale

Un monitor locale della qualità dell’aria espone GET http://192.168.1.140/api/current, restituisce {"pm25": 8.4, "aqi": 35} e richiede la chiave API in un’intestazione X-Api-Key.

  1. Crea una connessione HTTP: Base URL http://192.168.1.140, Poll Interval (seconds) 60, Timeout (ms) 5000, Authentication Type API Key (Header), Header Name X-Api-Key, la chiave in API Key (vedi «Connessioni»).
  2. In Devices, aggiungi un widget Analog Input «Qualità dell’aria». In Protocol, seleziona la tua connessione HTTP, elencata con il nome che le hai assegnato.
  3. Sul suo oggetto valore imposta Path su /api/current, lascia HTTP Method su GET e Parse Method su JSON e inserisci aqi in Parse Path.
  4. Fai clic su Save object, poi su Apply changes nella barra laterale e conferma. La lettura si aggiorna ogni minuto; imposta unità e decimali sull’oggetto (vedi «Impostazioni degli oggetti, registrazione e notifiche»).
  5. Dopo l’interrogazione successiva, verifica che la connessione mostri Connected nella pagina Connections, quindi confronta il widget con la risposta effettiva dell’API.
Editor degli oggetti HTTP.

Associazione HTTP

Gli oggetti HTTP si configurano anche nella finestra di impostazione dell’oggetto (vedi «Impostazioni degli oggetti, registrazione e notifiche»). La sezione HTTP definisce una richiesta per oggetto:

CampoDescrizione
PathAggiunto all’URL di base della connessione (ad esempio weather?q=London).
HTTP MethodGET, POST o PUT.
Content TypePer POST/PUT: JSON, TEXT o FORM. JSON e FORM impostano l’intestazione del tipo di contenuto corrispondente; TEXT non ne invia alcuna.
Parse MethodJSON — la risposta è JSON e Parse Path identifica il valore. Pattern Matching — la risposta è testo e Parse Path contiene un modello. La guida alla sintassi integrata documenta entrambi. Cambiare il metodo di analisi svuota Parse Path, quindi scegli prima il metodo.
Parse PathCon JSON: un percorso semplice — notazione a punti (data.power), indice di array (sensors[0]), indice negativo ([-1] per l’ultimo elemento) e prefisso facoltativo $.. Filtri e caratteri jolly non sono supportati. Con Pattern Matching: il modello, che deve iniziare con PATTERN= — ad esempio PATTERN=Temp:\s\v.
Request Body TemplatePer POST/PUT: il corpo da inviare, con ${value} come segnaposto per il valore scritto — ad esempio {"state":${value}}.

La lettura utilizza l’intervallo di interrogazione della connessione; un intervallo di 0 rende l’endpoint di sola scrittura (vedi «Connessioni»). L’interrogazione periodica invia sempre un GET al Path dell’oggetto; un oggetto POST o PUT invia la propria richiesta solo quando il suo valore cambia. Un esempio pratico si trova nel capitolo HTTP.

Domande frequenti

HyperVisu può leggere valori da un’API HTTP?

Sì. Interroga l’URL configurato ed estrae un valore tramite un percorso JSON o un modello di testo.

Come imposto un endpoint HTTP per la sola scrittura?

Imposta l’intervallo di interrogazione della connessione su 0. Le richieste in uscita continuano a funzionare, ma le letture periodiche si interrompono.

Come includo il valore del widget in una richiesta?

Usa il segnaposto ${value} nel modello del corpo della richiesta. HyperVisu lo sostituisce con il valore inviato.

Dove si configura l’autenticazione HTTP?

Sulla connessione. Le opzioni includono chiavi API, autenticazione Basic, token Bearer e intestazioni personalizzate.

Continua a esplorare

Trova le altre guide per questo prodotto nella documentazione.

Torna a Integrazioni