Avec l'entrée HTTP virtuelle, les valeurs peuvent être lues à partir d'une page Web. Cela facilite la récupération des données à partir d'appareils dotés d'une interface Web.
À partir de la Loxone Library, le templates approprié pour l'intégration d'appareils peut être importé.
Seul le schéma d'authentification de base est pris en charge.
![]() |
L'extraction automatique des données à partir de sites web (Web scraping) et toute utilisation ultérieure des données extraites doivent être effectuées conformément aux conditions de service du site web, aux réglementations locales et aux normes en vigueur. Loxone n'assume aucune responsabilité pour les conséquences découlant du non-respect de ces conditions. |
Table des matières
Propriétés↑
Résumé | Description | Unité | Valeurs | Valeur défaut |
---|---|---|---|---|
URL | URL pour requête HTTP Ex : http://192.168.1.7:80/request.php https://192.168.1.7:443/request.php |
- | - | - |
Cycle d'interrogation | Cycle d'interrogation en secondes (min 10s) | s | 10...604800 | - |
Timeout | Durée d'attente dépassé pour la réception de message Augmentez la durée pour les mauvaises connexions ou les appareils plus lents |
ms | 10...8000 | - |
Nombre de délais autorisés | Nombre de requêtes ayant échoué avant qu'un message système ne soit affiché. La valeur 0 désactive la surveillance. | - | 0...100 | - |
Exemple de programmation↑
Tout d'abord, une « Entrée HTTP virtuelle » est créée sous Entrées virtuelles :
L'adresse Web, un cycle d'interrogation approprié, le délai d'attente et le nombre de délais d'attente autorisés sont définis dans la fenêtre des propriétés.
Dans cet exemple, la valeur de l'entrée "Température" est récupérée du Miniserveur à l'aide d'une commande de service Web. .
Si l'authentification de l'utilisateur est requise, le nom d'utilisateur et le mot de passe peuvent être saisis comme suit : http ://User :Password@IP-address
Commande d'entrée HTTP virtuelle
Pour extraire les valeurs de cette page, une « commande d'entrée HTTP virtuelle » est requise.
N'importe quel nombre de commandes peut être créé pour récupérer des valeurs.
Le modèle de recherche est défini dans les paramètres. Par conséquent, une fenêtre d'édition peut être ouverte, ici le code source du site Web est affiché pour faciliter la navigation jusqu'à la valeur souhaitée.
Cette entrée peut être déplacée vers la page de programmation par glisser-déposer.
Reconnaissance des commandes↑
La reconnaissance des commandes peut être utilisée pour naviguer dans un texte ou un texte source et pour récupérer des valeurs.
Caractères utilisés pour extraire une valeur :
\v = valeur numérique
\1 = valeur de l'octet interprété comme 1er octet de la sortie (\2, \3, ...)
- Si les données reçues sont interprétées en hexadécimal (par exemple, "\x0A"), l'équivalent décimal (10 dans cet exemple) est obtenu. Cette méthode fonctionne également pour plusieurs octets hexadécimaux (par exemple, "\x0A\x0B"). Une fois combinés, ces octets forment l'entier 32 bits 0x0A0B, et \2\1 renvoie 2571 en décimal. La même valeur, lorsqu'elle est extraite avec \1, donne 10 en décimal.
- Si les données reçues sont interprétées comme du texte, chaque octet représente un caractère ASCII. Par exemple, "Loxone" correspond au caractère Line Feed avec un code ASCII de 76.
- Les données peuvent être utilisées comme un entier signé en tenant compte de l'ordre correct des octets et en appliquant l'extension de signe si nécessaire.
\h = valeur interprétée comme un nombre hexadécimal
- Si les données reçues sont une chaîne hexagonale représentée sous forme de texte (par exemple, "0A"), elles peuvent être converties en leur équivalent décimal (10 dans cet exemple).
- Cette méthode fonctionne également pour les données hexagonales multiples (par exemple, "0A0B"). Une fois converti de l'hexagone en décimal, "0A0B" correspond à 2571.
Caractères pour naviguer dans le texte :
\. = tout caractère
\w = n'importe quel mot
\# = n'importe quel nombre
\d = chiffres 0-9
\m = caractère A-Z/a-z/0-9
\a = caractère A-Z/a-z
\s12 = sauter 12 caractères
- Par exemple, \s12 saute 12 caractères lorsque les données reçues sont des chaînes de texte.
- Si les données reçues sont une chaîne hexagonale représentée par des séquences d'échappement (par exemple, \xFE\xFF\x12\xA0\xB0\xC1\xD2\xE3\xF4\x11\x16\x17), alors \s12 sautera 12 octets hexagonaux. Dans ce cas, il passera derrière \x16, sautant ainsi un total de 48 caractères de texte (puisque chaque octet hexadécimal est représenté par quatre caractères de texte).
\iText\i = sauter derrière le "Texte"
Caractères spéciaux :
\x = Nombre hexadécimal (par exemple 0x09)
\\ = Slash
\t = Tab (0x09)
\b = Espace (0x02) ou Tab (0x09)
<b>\r</b> = Retour (0x0d)
<b>\n</b> = Nouvelle ligne (0x0a)
Dans l'exemple suivant, nous voulons extraire le prix actuel du gaz naturel :
Comme le texte "Natural Gas" est constant, nous pouvons passer à cette position dans le texte. Pour extraire le prix actuel, nous devons sauter l'indication de temps. Il existe plusieurs options pour ce faire :
Variant 1 via \d\a
Avec \d un chiffre et avec \a les caractères isolés peuvent être ignorés :
Variant 2 via \#\w
Avec \# un nombre et avec \w n'importe quel mot peut être ignoré :
Variant 3 via \s8
Puisque dans cet exemple l'heure aura toujours le même nombre de chiffres et de caractères, ils peuvent être ignorés avec \s8: