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 testo sorgente e per recuperare valori.
Caratteri utilizzati per estrarre un valore:
\v = valore numerico
\1 = valore del byte interpretato come primo byte dell'uscita (\2, \3, ...)
- Se i dati ricevuti vengono interpretati come esadecimali (ad esempio, “\x0A”), si ottiene l'equivalente decimale (10 in questo esempio). Questo metodo funziona anche per più byte esadecimali (ad esempio, “\x0A\x0B”). Quando vengono combinati, questi byte formano l'intero a 32 bit 0x0A0B, e \2\1 restituisce 2571 in decimale. Lo stesso valore, quando viene 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 di avanzamento riga con un codice ASCII di 76.
- I dati possono essere utilizzati come un intero 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 (ad esempio, "0A"), può essere convertita nel suo equivalente decimale (10 in questo esempio).
- Questo metodo funziona anche per più dati esadecimali (ad esempio, "0A0B"). Quando convertito da esadecimale a decimale, "0A0B" corrisponde a 2571.
Caratteri per navigare attraverso il testo:
\. = qualsiasi carattere
\w = qualsiasi parola
\# = qualsiasi numero
\d = cifre da 0 a 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 una stringa 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 \x16, saltando di fatto un totale di 48 caratteri di testo (poiché ogni byte esadecimale è rappresentato da quattro caratteri di testo).
\iText\i = saltare dietro a “Text”
Caratteri speciali:
\x = Numero esadecimale (ad esempio 0x09)
\\ = Slash
\t = Tab (0x09)
\b = Spazio (0x02) o Tab (0x09)
⧵r = Return (0x0d)
⧵n = Nuova Linea (0x0a)
Nell'esempio seguente, vogliamo estrarre il prezzo attuale del gas naturale:
Poiché il testo "Gas Naturale" è costante, possiamo saltare direttamente a questa posizione nel testo. Per estrarre il prezzo attuale, dobbiamo saltare l'indicazione del tempo. Ci sono diverse opzioni per farlo:
Variante 1 tramite \d\a
Con \d possono essere saltate singole cifre e con \a singoli caratteri:
Variante 2 tramite \#\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: