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

File: http_sensor_config.png

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)