Sensori HTTP
Da eedomus - Documentazione.
La box eedomus vi permette di creare sensori virtuali utilizzando i dati contenuti nelle pagine XML (e per estensione alcune pagine HTML). I dati verranno recuperati da una pagina XML con i tuoi eedomus box su base regolare, e disponibili nell'interfaccia web.
Come?
Iniziare con l'aggiunta di un modulo '"HTTP - Sensor" con l'interfaccia 'eedomus (Setup / Aggiungi dispositivo / Other tipi di dispositivi / HTTP - Sensor).
Poi andate nella schermata Device Configuration per impostare il sensore:
Un esempio di un sensore costruito intorno ad una pagina di prova disponibili sul server eedomus: http://api.eedomus.com/test/http_sensor_sample.xml.php
La semantica delle espressioni [XPath http://fr.wikipedia.org/wiki/XPath] è descritta [qui http://fr.wikipedia.org/wiki/XPath].
Le espressioni possono essere valutate questa pagina di test
Nota 1: Questo sensore virtuale in grado di raccogliere numeri interi e decimali (o testo, limitato a 40 caratteri).
Nota 2: E 'possibile determinare una corrispondenza tra i valori XML ed i valori visualizzati in eedomusutilizzando la scheda "Valori"del tuo HTTP sensore.
Nota 3: E possibile nascondere l'unità visualizzata inserendo uno spazio per questo parametro è obbligatorio.
Nota 4: Alcune codifiche XML, come iso-8859-15 può essere un problema, non esitate a segnalare i casi che non avrebbe funzionato.
Esempio
Per recuperare informazioni da un sensore analogico di IPX800, la configurazione è la seguente
Richiesta URL: http://ici_adresse_IP_de_l IPX / status.xml XPath: / / year1 per recuperare il primo ingresso analogico
Usa Advanced con [XPath operatori http://www.w3schools.com/xpath/xpath_operators.asp]
E 'possibile manipolare i risultati dei nodi XML con operatori xPath, ecco alcuni esempi:
- Per dividere per 10 il risultato:
(//SENSORI DI TEMPERATURA /VALUE) div 10
- Per moltiplicare il risultato per 100:
(//SENSORI DI TEMPERATURA /VALUE) * 100
Le seguenti funzioni sono supportate:
Per arrotondare frazioni verso il basso (troncamento)
floor (numero)
Per arrotondare all'intero successivo
soffitto (numero)
Per arrotondamento al più vicino all'entrata
round (numero)
Per contare il numero di nodi che restituisce l'XPath
count (XPath)
Per concatenare due stringhe
concat (stringa1, stringa2)
Prendi solo una parte di una stringa
substring (string, start, length) substring (string, start)
Lasciando solo i dati prima di un dato carattere
substring-before (stringa1, stringa2)
Lasciando solo i dati dopo un determinato carattere
substring-after (stringa1, stringa2)
Per recuperare la lunghezza di una stringa
string-length (string)
Per sostituire caratteri con altri
tradurre (stringa1, stringa2, string3)
Esempio: translate ('12: 30 ', '30', '45 ') Risultato: '12: 45 '
Esempio: translate ('12: 30 ', '03', '54 ') Risultato: '12: 45 '
Esempio: translate ('12: 30 ', '0123', 'abcd') Risultato: 'bc: da'
Sostituire la funzione () non è supportato, ma una variazione funzione specifica () può essere utilizzato.
La funzione può essere pellée una o più volte alla fine di un'espressione XPath per sostituire una stringa in un altro:
scambio (string, ricerca new_string)
Alcuni esempi di utilizzo di funzioni:
- Per mantenere i dati dopo il '.':
substring-after (//SENSORI DI TEMPERATURA /VALUE, '.')
- Per recuperare solo il carattere seconda lettura:
substring (// SENSORI DI TEMPERATURA /VALUE, 2, 1)
- Per contare il numero di nodi XML:
count (// SENSORI DI TEMPERATURA)