Sensores HTTP

De eedomus - Documentación

El controlador eedomus le permite crear sensores virtuales utilizando los datos contenidos en páginas XML (y, por extensión, en algunas páginas HTML).

eedomus obtiene los datos de forma regular de una página XML y los presenta en la interfaz de usuario.

Contenido

Configuración

Haga clic en Configuración / Añadir o eliminar un periférico / Añadir otro tipo de periférico / HTTP - Sensor / Crear y a continuación vaya a la ventana de configuración del periférico para crear el sensor.

En la siguiente imagen puede ver un ejemplo de sensor basado en una página de prueba disponible en el servidor eedomus: http://api.eedomus.com/test/http_sensor_sample.xml.php


Nota 1: Este sensor virtual puede obtener números enteros, decimales (e incluso texto, limitado a 40 caracteres).

Nota 2: Es posible determinar una correlación entre los valores del XML y los valores que aparecen en eedomus usando la pestaña "Valores" de su sensor HTTP.

Nota 3: Es posible ocultar la unidad mostrada introduciendo un espacio para este parámetro (ya que es un parámetro obligatorio).

Nota 4: Algunas codificaciones XML, como el iso-8859-15, pueden plantear problemas. Si no funciona, no dude en ponerse en contacto con nosotros.

Uso de las variables de usuario

Las etiquetas [VAR1], [VAR2], [VAR3] se pueden usar en la URL y en la ruta XPath.

En ese caso, son sustituidas de forma automática por los valores definidos para cada variable.

Es especialmente interesante cuando se crean varios canales en un mismo periférico HTTP mediante la opción "Adjuntar a" ya que de esta forma basta con modificar una de las variables para que el cambio afecte a todos los canales del periférico.

Frecuencia de actualización

La frecuencia de actualización (también llamada "Polling") equivale al tiempo transcurrido (en minutos) entre 2 llamadas HTTP.

Puede ajustar esta frecuencia en función de sus necesidades. Una frecuencia de 30 minutos es suficiente, en la mayoría de los casos, para obtener un valor de temperatura, por ejemplo. Una frecuencia demasiado alta puede mermar de forma innecesaria los recursos de su controlador eedomus.

Consulta bajo demanda: Puede usar sus sensores HTTP como acción en una regla. En ese caso, la acción equivale a la actualización del sensor.

Suspensión de la actualización: Si desea que el sensor sólo se actualice a través de reglas, puede establecer la frecuencia de actualización automática en "0". De esta forma, el sensor nunca se actualizará (mejor dicho sólo se actualizará cuando se lo pida una regla).

Datos redundantes: Si el valor del sensor no ha cambiado entre dos llamadas HTTP, el sistema sólo lo almacena cada 30 minutos para comprobar que funciona correctamente.

Sensores HTTP y canales

Tal y como se indica en el párrafo anterior, puede ser útil crear distintos canales en un mismo periférico ya que eso permite compartir variables de forma sencilla.

También es útil en la medida en que los parámetros indicados a continuación se comparten entre los distintos canales: [VAR*], "Frecuencia de la petición", "Ignorar los errores".

Ejemplos de periféricos y de configuración de un sensor HTTP

Para recuperar información de un sensor analógico conectado a un IPX800, la configuración es la siguiente:

URL de la llamada:  http://aqui_direccion_IP_del_IPX/status.xml
Ruta XPath : //año1 para recuperar la primera entrada analógica
Ruta XPath : //count0 para el primer recuento (entrada digital configurada en el contador)


Para recuperar información de un sensor 1-Wire usando el servidor Ethernet-1-Wire OW-SERVIDOR-ENET-2

Ruta XPath : //*[local-name() = 'Vdd'] para sortear el namespace por defecto.
y (//*[local-name() = 'Vdd'])[2] para el segundo elemento denominado Vdd


Para recuperar información de un sensor que devuelve un valor sin XML

Use un script para encapsular el valor en un formato XML.
El sensor llama al script PHP: http://127.0.0.1/script/?exec=mi_script.php
El contenido de mi_script.php es el siguiente:
<result><?
$myurlget="http://llamada_a_realizar/"; $http_result = httpQuery($myurlget); echo $http_result ;
?></result>
El XPath que debe usar en el sensor HTTP es por tanto //result


Para obtener la duración de un recorrido con Waze.