Entrada virtual HTTP

Con la entrada virtual HTTP, los valores pueden leerse desde una página web. Esto facilita la recuperación de datos desde dispositivos con interfaz web.

Desde la Loxone Library se pueden importar plantillas adecuadas para la integración de dispositivos.

Solo se admite el esquema de autenticación básica.

La extracción automatizada de datos de sitios web (Web scraping) y cualquier uso posterior de los datos extraídos debe realizarse de acuerdo con las condiciones de servicio del sitio web, la normativa local y los estándares aplicables.
Loxone no asume responsabilidad alguna por las consecuencias derivadas del incumplimiento de estas condiciones.

Contenido


Propiedades

Resumen Descripción Unidad Rango de valores Valor por defecto
URL URL para la consulta HTTP(S).
Por ejemplo: http://192.168.1.7:80/request.php
https://192.168.1.7:443/request.php
- - -
Tiempo de ciclo Tiempo de ciclo para la interrogación en segundos (Mínimo 10s) s 10...604800 -
Tiempo de espera Tiempo de espera para la recepción de mensajes
Aumentar para dispositivos lentos o si se tiene una mala conexión
ms 10...8000 -
Número de tiempos de espera permitidos Número de consultas fallidas antes de que se muestre un mensaje del sistema. El valor 0 desactiva la monitorización. - 0...100 -




Ejemplo de programación

En primer lugar, se crea una "Entrada virtual HTTP" en Entradas virtuales:

La dirección web, un ciclo de sondeo adecuado, el tiempo de espera y el número de tiempos de espera permitidos se definen en la ventana de propiedades.
En este ejemplo, el valor de la entrada "Temperatura" se recupera del Miniserver mediante un comando de servicio web.
Si se requiere autenticación de usuario, el nombre de usuario y la contraseña pueden introducirse de la siguiente manera: http://User:Password@IP-address

Comando de entrada HTTP virtual

Para extraer valores de esta página, se necesita un "comando de entrada HTTP virtual".
Se puede crear cualquier número de comandos para recuperar valores.

El patrón de búsqueda se define en la configuración. Por lo tanto, se puede abrir una ventana de edición, aquí se muestra el código fuente de la página web para facilitar la navegación hasta el valor deseado.

Esta entrada se puede mover a la página de programación a través de arrastrar y soltar.


Reconocimiento de comandos

El reconocimiento de comandos se puede utilizar para navegar en un texto o texto fuente y para recuperar valores.

Caracteres utilizados para extraer un valor:
\v = valor numérico
\1= valor del byte interpretado como 1er byte de la salida (\2, \3, ...)
-- Si los datos recibidos se interpretan como hexadecimales (por ejemplo, "\x0A"), se obtiene el equivalente decimal (10 en este ejemplo). Este método también funciona para bytes hexadecimales múltiples (por ejemplo, "\x0A\x0B"). Cuando se combinan, estos bytes forman el entero de 32 bits 0x0A0B, y \2\1devuelve 2571 en decimal. El mismo valor, cuando se extrae con \1,da como resultado 10 en decimal.
- Si los datos recibidos se interpretan como texto, cada byte representa un carácter ASCII. Por ejemplo, "Loxone" corresponde al carácter de avance de línea con un código ASCII de 76.
- Los datos pueden utilizarse como un entero con signo teniendo en cuenta el orden correcto de los bytes y aplicando la extensión de signo si es necesario.
\h = valor interpretado como número hexadecimal
- Si los datos recibidos son una cadena hexadecimal representada como texto (por ejemplo, "0A"), puede convertirse a su equivalente decimal (10 en este ejemplo).
- Este método también funciona para datos hexadecimales múltiples (por ejemplo, "0A0B"). Convertido de hexadecimal a decimal, "0A0B" corresponde a 2571.

Caracteres para navegar por el texto:
\. = any character
\w = any word
\# = cualquier número
\d = dígitos 0-9
\m = caracteres A-Z/a-z/0-9
\a = caracteres A-Z/a-z
\s12 = saltar 12 caracteres
- Por ejemplo, \s12 salta 12 caracteres cuando los datos recibidos son una cadena de texto.
- Si los datos recibidos son una cadena hexadecimal representada con secuencias de escape (por ejemplo, \xFE\xFF\x00\x12\xA0\xB0\xC1\xD2\xE3\xF4\x11\x16\x17), entonces \s12 omitirá 12 bytes hexadecimales. En este caso, saltará detrás de \x16, omitiendo efectivamente un total de 48 caracteres de texto (ya que cada byte hexadecimal está representado por cuatro caracteres de texto).
\iTexto\i = saltar a "Texto"

Caracteres especiales:
\x = número hexadecimal (por ejemplo, 0x09))
\r = Retorno (0x0d)
\n = Nueva línea (0x0a)

En el siguiente ejemplo, siempre queremos extraer el precio actual del gas natural:

Dado que la indicación "Gas Natural" es siempre la misma, saltamos a esta posición en el texto. Para omitir la indicación de la hora para recuperar el precio, hay varias posibilidades:

Variant 1 via \d\a
Con \d dígitos individuales y con \a caracteres individuales se pueden omitir:

Variante 2 a través de \#\w
Con \# un número y con \w se puede omitir cualquier palabra:

Variante 3 vía \s8
Dado que en este ejemplo la hora siempre tendrá la misma cantidad de dígitos y caracteres, se pueden omitir con \s8: