Dzięki wirtualnemu wejściu HTTP wartości można odczytać ze strony internetowej. Ułatwia to pobieranie danych z urządzeń wyposażonych w interfejs WWW.
Z biblioteki Loxone Library można importować odpowiednie szablony do integracji urządzeń.
Obsługiwany jest tylko podstawowy schemat uwierzytelniania.
![]() |
Automatyczne pobieranie danych ze stron internetowych (Web scraping) i wszelkie późniejsze wykorzystanie wyodrębnionych danych powinno odbywać się zgodnie z warunkami korzystania z witryny internetowej, lokalnymi przepisami i obowiązującymi normami. Loxone nie ponosi odpowiedzialności za jakiekolwiek powstałe konsekwencje z nieprzestrzegania. |
Spis treści
Właściwości↑
Krótki opis | Opis | Jednostka | Zakres wartości | Wartość standardowa |
---|---|---|---|---|
URL | URL dla zapytań HTTP(S) Np.: http://192.168.1.7:80/request.php https://192.168.1.7:443/request.php |
- | - | - |
Cykl odpytywania | Okres odpytywania w sekundach (minimalnie 10s) | s | 10...604800 | - |
Timeout | Przekroczenie czasu (timeout) dla odbierania wiadomości Zwiększ w wypadku powolnych urządzeń lub złego połączenia |
ms | 10...8000 | - |
Liczba dozwolonych limitów czasu | Liczba nieudanych zapytań przed wyświetleniem komunikatu systemowego. Wartość 0 wyłącza monitorowanie. | - | 0...100 | - |
Przykład programowania↑
Najpierw w obszarze Wejścia wirtualne tworzone jest „Wirtualne wejście HTTP”:
Adres internetowy, odpowiedni cykl odpytywania, limit czasu i liczba dozwolonych limitów czasu są zdefiniowane w oknie właściwości.
W tym przykładzie wartość wejścia „Temperatura” jest pobierana z Miniservera za pomocą polecenia usługi internetowej .
Jeśli wymagana jest autoryzacja użytkownika, nazwę użytkownika i hasło można wprowadzić w następujący sposób: http://Użytkownik:Hasło@adres IP
Wirtualne wejście HTTP rozkaz
Aby wyodrębnić wartości z tej strony, wymagane jest „Wirtualne wejście HTTP rozkaz”.
Można utworzyć dowolną liczbę poleceń w celu pobrania wartości.
Wzorzec wyszukiwania jest definiowany w ustawieniach. W związku z tym można otworzyć okno edycji, w którym wyświetlany jest kod źródłowy strony internetowej, aby ułatwić nawigację do żądanej wartości.
Dane wejściowe można przenieść na stronę programowania poprzez przeciągnięcie i upuszczenie.
Rozpoznawanie poleceń↑
Rozpoznawanie poleceń może być używane do nawigacji w tekście lub tekście źródłowym oraz do pobierania wartości.
Znaki używane do wyodrębnienia wartości:
\v = wartość liczbowa
\1 = wartość bajtu interpretowanego jako 1. bajt wyjścia (\2, \3, ...)
- Jeśli odebrane dane są interpretowane jako szesnastkowe (np. „\x0A”), otrzymywany jest dziesiętny odpowiednik (10 w tym przykładzie). Ta metoda działa również w przypadku wielu bajtów szesnastkowych (np. „\x0A\x0B”). Po połączeniu te bajty tworzą 32-bitową liczbę całkowitą 0x0A0B, a \2\1 zwraca 2571 w systemie dziesiętnym. Ta sama wartość, po wyodrębnieniu za pomocą \1, daje 10 w zapisie dziesiętnym.
- Jeśli odebrane dane są interpretowane jako tekst, każdy bajt reprezentuje znak ASCII. Na przykład „Loxone” odpowiada znakowi Line Feed o kodzie ASCII 76.
- Dane mogą być używane jako podpisane liczby całkowite, biorąc pod uwagę prawidłową kolejność bajtów i stosując rozszerzenie znaku, jeśli to konieczne.
\h = wartość interpretowana jako liczba szesnastkowa
- Jeśli odebrane dane są ciągiem szesnastkowym reprezentowanym jako tekst (np. „0A”), można je przekonwertować na ich dziesiętny odpowiednik (10 w tym przykładzie).
- Ta metoda działa również w przypadku wielu danych szesnastkowych (np. „0A0B”). Po przekonwertowaniu z szesnastkowego na dziesiętny, „0A0B” odpowiada 2571.
Znaki do poruszania się po tekście:
\. = dowolny znak
\w = dowolne słowo
\# = dowolna liczba
\d = cyfry 0-9
\m = znak A-Z/a-z/0-9
\a = znak A-Z/a-z
\s12 = pomiń 12 znaków
- Na przykład, \s12 pomija 12 znaków, gdy odebrane dane są ciągiem tekstowym.
- Jeśli odebrane dane są ciągiem szesnastkowym reprezentowanym przez sekwencje specjalne (np. \xFE\xFF\x00\x12\xA0\xB0\xC1\xD2\xE3\xF4\x11\x16\x17), to \s12 pominie 12 bajtów szesnastkowych. W tym przypadku przeskoczy za \x16, efektywnie pomijając łącznie 48 znaków tekstowych (ponieważ każdy bajt szesnastkowy jest reprezentowany przez cztery znaki tekstowe).
\iText\i = skok za „Text”
Znaki specjalne:
\x = liczba szesnastkowa (np. 0x09)
\ = Slash
\t = Tab (0x09)
\b = spacja (0x02) lub tabulator (0x09)
⧵r = Return (0x0d)
⧵n = nowa linia (0x0a)
W poniższym przykładzie chcemy wyodrębnić bieżącą cenę gazu ziemnego:
Ponieważ tekst „Natural Gas” jest stały, możemy przejść do tej pozycji w tekście. Aby wyodrębnić bieżącą cenę, musimy pominąć wskazanie czasu. Istnieje kilka opcji, aby to zrobić:
Wariant 1 \d\a
Z \d pojedyncze cyfry i z \a pojedyncze znaki mogą zostać pominięte:
Wariant 2 \#\w
Za pomocą \# można pominąć liczbę, a za pomocą \w dowolne słowo:
Wariant 3 \s8
Ponieważ w tym przykładzie czas zawsze będzie miał taką samą liczbę cyfr i znaków, można je pominąć za pomocą \s8: