A Virtuális HTTP Bemenet-tel, értékeket lehet kiolvasni egy weboldalról. Ez megkönnyíti az adatok lekérdezését a webes felülettel rendelkező eszközökről.
A Loxone Library-ről megfelelő sablonokat lehet beszerezni eszközök integrációjához.
Csak a Basic Authentication Scheme támogatott.
![]() | A weboldalakról történő automatikus adatnyerést (Web scraping) és a kinyert adatok későbbi felhasználását a weboldal szolgáltatási feltételeinek, a helyi szabályozásoknak és az alkalmazandó szabványoknak megfelelően kell végezni. A Loxone nem vállal felelősséget az előírások be nem tartásából eredő következményekért. |
Tartalom
Tulajdonságok↑
| Rövid leírás | Leírás | Mértékegység | Értékhatár | Alapértelmezett érték |
|---|---|---|---|---|
| URL | HTTP lekérdezés URL címe pl.: http://192.168.1.7:80/request.php https://192.168.1.7:443/request.php | - | - | - |
| Lekérdezési ciklus | Lekérdezési gyakoriság másodpercben (minimum 10s) | s | 10...604800 | - |
| Időtúllépés | Időtúllépés határértéke Lassú eszközök illetve rossz adatkapcsolat esetén emeld meg az értéket | ms | 10...8000 | - |
| Időtúllépések maximális száma | A sikertelen lekérdezések száma, ami felett a rendszer hibajelzést küld. 0 értékkel a szolgáltatás kikapcsolható. | - | 0...100 | - |
Programozási példa↑
Előszőr, a Virtuális HTTP Bemenetet létre kell hozni a Virtuális bemenetek alatt:

A webcímet, egy megfelelő lekérdezési ciklust, időkorlátot és a megengedett időkorlátok számát a beállítások ablakban lehet meghatározni.
Ebben a példában a "Hőmérséklet" bemenet értékét a Miniserverről egy webservice parancs segítségével kérik le.
$Ha felhasználói hitelesítésre van szükség, a felhasználónév és jelszó a következőképpen adható meg: http://User:Password@IP-cím

Virtuális HTTP Bemenet Parancs
Annak érdekében hogy adatot nyerj ki az oldalról "Virtuális HTTP Bemenet Parancs" szükséges.
Az értékek lekérdezésére tetszőleges számú parancs hozható létre.

A keresési mintát a beállításokban lehet meghatározni. Ezért megnyitható egy szerkesztőablak, itt megjelenik a weboldal forráskódja, hogy könnyebben el lehessen navigálni a kívánt értékhez.

A bemenetet a programozó oldalra lehet mozgatni drag & drop-pal.
Parancsfelismerés↑
A parancsfelimerést szövegben, forráskódban való navigáláshoz vagy érték kinyerésére használhatjuk.
Érték kinyeréséhez használt karakterek:
v = számos érték
1 = a kimenet 1. bájtjaként értelmezett bájt értéke (2, 3, ...)
- Ha fogadott adat hexadecimáliskét van értelmezve (pl.: "x0A"), a decimális egyenértéket (ebben a példában 10) kapjuk. Ez a módszer működik több hexadecimális bájt esetén is (pl.:"x0Ax0B"). Ezek a bájtok együttesen a 0x0A0B 32 bites egész számot alkotják, és 21, akkor 2571 decimális értéket kapjuk. Ugyan ez az érték, ha 1 -et használunk, a 10-es decimális értéket adja vissza.
- Ha a fogadott adat szövegként van értelmezve, minden bájt egy ASCII karaktart jelent. Például a „Loxone” a szöveg első nagy "L" betűje a 76-os ASCII-kódú karaktert jelenti.
- Az adatok előjeles egész (signed integer) számként használhatók a helyes bájtsorrend figyelembevételével és szükség esetén előjelkiterjesztéssel.
h = hexadecimális számként értelmezett érték
- Ha a fogadott adat egy hexa karakterlánc, amelyet szövegként ábrázolnak (pl. „0A”), akkor az átkonvertálható a decimális megfelelőjére (ebben a példában 10).
- Ez a módszer több hexa adat esetén is működik (pl. „0A0B”). Hexából decimálisra konvertálva a „0A0B” 2571-nek felel meg.
Szövegben való navigáláshoz használt karakterek:
. = bármilyen karakter
w = bármilyen szó
# = bármilyen szám
d = digitek 0-9
m = karakter A-Z/a-z/0-9
a = karakter A-Z/a-z
s12 = kihagy 12 karaktert
- Például.: s12 kihagy 12 karaktert, ha a fogadott üzenet szöveges üzenet.
- Ha a fogadott adat egy hexa karakterlánc, amelyet escape-szekvenciákkal ábrázolunk (pl. xFExFFx00x12xA0xB0xC1xD2xE3xF4x11x16x17), akkor a s12 12 hexa bájtot fog kihagyni. Ebben az esetben x16 mögé fog ugrani, és így összesen 48 szövegkaraktert fog kihagyni (mivel minden hexa bájtot négy szövegkarakter képvisel).
iTexti = ugrás a szöveg mögé"Text"
Speciális karakterek:
x = Hexadecimális szám (pl.: 0x09)
\ = Slash
t = Tab (0x09)
b = Space (0x02) vagy Tab (0x09)
⧵r = Return (0x0d)
⧵n = Newline (0x0a)
A következő példában, a gáz aktuális árát szeretnénk kinyerni:

Miután a "Natural Gas" egy állandó, ezért ehhez a pozícióhoz tudunk ugrani a szövegben. Az aktuális ár kinyeréséhez, ki kell hagynunk az időt. Itt több megoldás is van:
1. Megoldás: da használata
A d segítségével egy digitet és a a-val egy karaktert tudunk kihagyni:

2. Megoldás: #w használata
A # segítségével egy számot és a w-vel egy szót tudunk kihagyni:

3. Megoldás: s8 használata
Miután a példában az idő minden esetben ugyan annyi számból és digitből fog állni, ezért ki lehet őket hagyni a s8 segítségével:

