Con l'ingresso HTTP virtuale, i valori possono essere letti da una pagina web. Questo facilita il recupero dei dati dai dispositivi con interfaccia web.
Dalla Loxone Library si possono importare templates adatti all'integrazione dei dispositivi.
Solo la Basic Authentication Scheme è supportata.
L'estrazione automatica di dati da siti web (Web scraping) e il successivo utilizzo dei dati estratti devono essere condotti in conformità ai termini di servizio del sito web, alle normative locali e agli standard applicabili. Loxone non si assume alcuna responsabilità per eventuali conseguenze derivanti dalla mancata conformità. |
Contenuto
Proprietà↑
Descrizione breve | Descrizione | Unità | Campo di valore | Valore predefinito |
---|---|---|---|---|
URL | URL per richiesta HTTP(S) ad esempio http://192.168.1.7:80/request.php https://192.168.1.7:443/request.php |
- | - | - |
Ciclo di polling | Ciclo di richiesta in secondi (minimo 10s) | s | 10...604800 | - |
Timeout | Timeout per la ricezione del messaggio Aumentare con periferiche lente o con una cattiva connessione |
ms | 10...8000 | - |
Numero di timeout consentiti | Numero di interrogazioni non riuscite prima che venga visualizzato un messaggio di sistema. Il valore 0 disattiva il monitoraggio. | - | 0...100 | - |
Esempio di programmazione↑
Per prima cosa, in Ingressi Virtuali viene creato un "Ingresso HTTP virtuale":
L'indirizzo web, un ciclo di polling adeguato, il timeout e il numero di timeout consentiti sono definiti nella finestra delle proprietà.
In questo esempio, il valore dell'ingresso "Temperatura" viene recuperato dal Miniserver mediante un comando di servizio web.
Se è richiesta l'autenticazione dell'utente, il nome utente e la password possono essere immessi come segue: http://User:Password@indirizzoIP
Comando ingresso virtuale HTTP
Per estrarre i valori da questa pagina, è necessario un "Comando ingresso virtuale HTTP".
È possibile creare un numero qualsiasi di comandi per recuperare i valori.
Il modello di ricerca è definito nelle impostazioni. È quindi possibile aprire una finestra di modifica, in cui viene visualizzato il codice sorgente del sito web per facilitare la navigazione verso il valore desiderato.
Questo ingresso può essere spostato nella pagina di programmazione tramite drag & drop.
Riconoscimento Comandi↑
Il riconoscimento dei comandi può essere utilizzato per navigare in un testo o in un testo sorgente e per recuperare i valori.
Caratteri utilizzati per estrarre un valore:
\v = volore numerico
\1= valore del byte interpretato come 1° byte dell'uscita (\2, \3, ...)
- Se i dati ricevuti vengono interpretati come esadecimali (e.s., "\x0A") si ottiene l'equivalente decimale (10 in questo esempio). Questo metodo funziona anche per byte esadecimali multipli (e.g., "\x0A\x0B"). Quando vengono combinati, questi byte formano l'intero a 32 bit 0x0A0B, e \2\1 restituisce 2571 in decimale. Lo stesso valore, se estratto con \1, risulta 10 in decimale.
- Se i dati ricevuti vengono interpretati come testo, ogni byte rappresenta un carattere ASCII. Ad esempio, “Loxone” corrisponde al carattere Line Feed con codice ASCII 76.
- I dati possono essere utilizzati come numeri interi con segno, considerando l'ordine corretto dei byte e applicando l'estensione del segno, se necessario.
\h= valore interpretato come numero esadecimale
- Se i dati ricevuti sono una stringa esadecimale rappresentata come testo (e.s., “0A”), possono essere convertiti nel loro equivalente decimale (10 in questo esempio).
- Questo metodo funziona anche per i dati esadecimali multipli (ad esempio, “0A0B”). Se convertito da esadecimale a decimale, “0A0B” corrisponde a 2571.
Caratteri per navigare nel testo:
\. = qualsiasi carattere
\w = qualsiasi parola
\# = qualsiasi numero
\d = cifre 0-9
\m = carattere A-Z/a-z/0-9
\a = carattere A-Z/a-z
\s12 = salta 12 caratteri
- Ad esempio,\s12 salta 12 caratteri quando i dati ricevuti sono stringhe di testo.
- Se i dati ricevuti sono una stringa esadecimale rappresentata con sequenze di escape (ad esempio, \xFE\xFF\x00\x12\xA0\xB0\xC1\xD2\xE3\xF4\x11\x16\x17), allora \s12 salterà 12 byte esadecimali. In questo caso, salterà dietro a \x16, saltando di fatto un totale di 48 caratteri di testo (poiché ogni byte esadecimale è rappresentato da quattro caratteri di testo).
\iText\i = salta dietro a “Testo”
Caratteri speciali:
\x= Numero esadecimale (ad es. 0x09)
\\ = Slash
\t = Tab (0x09)
\b = Spazio (0x02) or Tab (0x09)
\r = Return (0x0d)
\n = Nuova linea(0x0a)
Nell'esempio seguente, vogliamo sempre estrarre il prezzo corrente del gas naturale:
Poiché l'indicazione "Gas naturale" è sempre la stessa, saltiamo a questa posizione nel testo. Per ignorare l'indicazione dell'ora e recuperare il prezzo, esistono diverse possibilità:
Variante 1 via \d\a
Con \d le cifre singole e con \a i caratteri singoli possono essere saltati:
Variante 2 via \#\w
Con \# si può ignorare un numero e con \w qualsiasi parola:
Variante 3 tramite \s8
Siccome in questo esempio l'ora avrà sempre lo stesso numero di cifre e caratteri, questi possono essere saltati con \s8: