Webservices

Korzystając z różnych poleceń Web-Service, można pobierać informacje z Miniservera za pomocą paska adresu przeglądarki, dostosowywać ustawienia lub przełączać wyjścia.

Bardziej szczegółowe informacje o interfejsie API

OGÓLNE

  • Polecenia webservice obsługują zarówno dostęp wewnętrzny, jak i zewnętrzny.
  • Obecny Miniserver obsługuje również protokół HTTPS

Struktura polecenia webservice jest następująca:

http://user:password@IPAddressMiniserver/command/control/value

W przypadku korzystania z protokołu HTTP poświadczenia dostępu w adresie URL są przesyłane w postaci zwykłego tekstu!

Ze względów bezpieczeństwa podczas korzystania z protokołu HTTP (Miniserver Gen.1) zaleca się pominięcie poświadczeń dostępu podczas wprowadzania polecenia w pasku adresu. Zamiast tego przeglądarka wyświetli monit o podanie danych logowania w osobnym oknie.

Niektóre polecenia wymagają użytkownika z pełnymi prawami.

Po wykonaniu polecenia wynik jest wyświetlany w przeglądarce.

Na przykład poniższe polecenie pobiera aktualną wersję oprogramowania Miniservera:

Jeśli polecenie się powiedzie, odpowiedź będzie zawierać kod statusu „200”, wskazujący, że żądanie zostało zaakceptowane i przetworzone.

Struktura w szczegółach

  • control: może być dowolnym wejściem lub wyjściem, rzeczywistym lub wirtualnym. Wyjścia mogą być używane tylko do żądań stanu.
  • value: gdy 'value’ nie jest dostępne, zwracana jest bieżąca wartość.
    • Dla wartości cyfrowych dozwolone są następujące wartości:
      • Ein„, „On„, „Aus„, „Off„, „1„, „0„, „Impuls” or „Pulse„.
  • Wirtualne wejścia cyfrowe z 2 wyjściami (góra-dół, lewo-prawo, od wersji 1.5.4.16), dozwolone są następujące wartości.
ImpulsPlus

ImpulsMinus

PulseUp

PulseDown

ImpulsAuf

ImpulsAb

PulseOpen

PulseClose

PlusEin

PlusAus

UpOn

UpOff

AufEin

AufAus

OpenOn

OpenOff

MinusEin

MinusAus

DownOn

DownOff

AbEin

AbAus

CloseOff

CloseOff

    • Dla wejść analogowych dozwolone są następujące wartości:
      • (0-10V) działają w zakresie od 0 do 10,00.
      • Nie ma formalnego ograniczenia (np. temperatury 21,5 lub -5,2 są prawidłowe).
      • Kropka (.) jest używana jako separator dziesiętny.
    • Następujące wartości są dozwolone dla wprowadzania tekstu:
      • Miniserver działa przy użyciu UTF-8, więc każdy znak obsługiwany przez UTF-8 powinien działać poprawnie.

Przykład – wejście impulsowe

Przed wysłaniem impulsu do systemu, Miniserver potrzebuje wirtualnego wejścia, które zaakceptuje polecenie.

Po dodaniu i zapisaniu naszego wirtualnego wejścia do Miniservera należy wysłać polecenie. Poniżej znajduje się przykład aplikacji innej firmy* wysyłającej polecenie impulsowe do Loxone Miniserver:

EN_KB_Computer_Postman_HTT_Command

W tym przykładzie mamy domyślne poświadczenia (nazwa użytkownika: admin, hasło: admin) i wirtualne wejście w poleceniu o nazwie „Test Input”. Po naciśnięciu przycisku „Wyślij” w aplikacji, ciąg użyje adresu IP do znalezienia Miniservera w sieci, zalogowania się, a następnie przetworzenia polecenia.

Jeśli polecenie wysłania zostanie zaakceptowane, zwróconą odpowiedzią w formacie XML będzie:

EN_KB_Computer_Postman_HTT_Command_XML_Response

W Loxone Config wirtualne wejście podświetli się na ułamek sekundy, jeśli aktywny jest podgląd na żywo:EN_KB_Config_Virtual_Input_On

*W tych przykładach Postman jest aplikacją zewnętrzną używaną do wysyłania poleceń.

STATUS I KONTROLA

ZAPYTANIE: STATUS

Command http://miniserver/dev/sps/io/LivingroomLight/state
Function Zwraca stan na wejściu
Answer <LL control=”dev/sps/io/LivingroomLight” value=”0″ Code=”200″/>
Command http://miniserver/dev/sps/io/LivingroomLight/astate
Function Zwraca wartość na żądanych wyjściach (albo unikalną wartość dla wszystkich – albo ? dla różnych wartości.
Answer <LL control=”dev/sps/io/LivingroomLight” value=”1″ Code=”200″/>
Command http://miniserver/dev/sps/io/LivingroomLight/all
Function Zwraca liczbę żądanych wyjść i listę wartości na tych wyjściach.
Answer <LL control=”dev/sps/io/LivingroomLight/all” value=”8″ Code=”200″

n1=”Aktor (Relais) Q1″ u1=”68347a0e-3bfc-11df-85f6ea34eeb9b08a” v1=”0″

n2=”Aktor (Relais) Q2″ u2=”68347a0e-3bfc-11df-85f6ea34eeb9b08a” v2=”0″

n3=”Aktor (Relais) Q3″ u3=”68347a0e-3bfc-11df-85f6ea34eeb9b08a” v3=”0″

n4=”Aktor (Relais) Q4″ u4=”68347a0e-3bfc-11df-85f6ea34eeb9b08a” v4=”0″

n5=”Aktor (Relais) Q5″ u5=”68347a0e-3bfc-11df-85f6ea34eeb9b08a” v5=”0″

n6=”Aktor (Relais) Q6″ u6=”68347a0e-3bfc-11df-85f6ea34eeb9b08a” v6=”1″

n7=”Aktor (Relais) Q7″ u7=”68347a0e-3bfc-11df-85f6ea34eeb9b08a” v7=”0″

n8=”Aktor (Relais) Q8″ u8=”68347a0e-3bfc-11df-85f6ea34eeb9b08a” v8=”0″/>

Command http://miniserver/status
Function Wyświetla listę wszystkich urządzeń podłączonych do Miniservera wraz z ich statusem.
Answer <Status Modified=” „>

<Miniserver Name=”LoxMiniserver” Internalname=” ” IP=” ” Mask=” ” Gateway=” ” DHCP=” ” DNS1=” ” DNS2=” ” MAC=” ” Device=” ” Version=” „><Extension Name=” ” Internalname=” ” Serial=” ” Version=” ” Online=” „/></Miniserver></Status>

Icon Exclamation Mark LoxoneŻądania stanu za pośrednictwem usługi internetowej są możliwe tylko w przypadku wejść i wyjść i nie są możliwe w przypadku bloków funkcyjnych.

PRZYCISK

Command http://miniserver/dev/sps/io/PushbuttonLivingRoomLight/On
Function Sterowanie wejściem analogowym lub cyfrowym
Answer <LL control=”dev/sps/io/PushbuttonLivingRoomLight” value=”1″ Code=”200″/>

Przykład – Push Button

Przed wysłaniem polecenia do systemu, Miniserver potrzebuje bloku funkcyjnego Przycisk, który zaakceptuje polecenie.

Teraz, po dodaniu i zapisaniu naszego przycisku Push Button w Miniserverze, należy wysłać polecenie. Poniżej znajduje się przykład aplikacji innej firmy* wysyłającej komendę „On” do Loxone Miniserver:

EN_KB_Computer_Postman_HTTP_Command

W tym przykładzie mamy domyślne poświadczenia (nazwa użytkownika: admin, hasło: admin) i przycisk Push Button w poleceniu o nazwie „Push-Button”. Po naciśnięciu przycisku „Wyślij” w aplikacji, ciąg użyje adresu IP, aby znaleźć Miniserver w sieci, zalogować się, a następnie przetworzyć polecenie. Możemy zmienić ostatnią część polecenia na „On” lub „Off”, w zależności od różnych sytuacji.

Jeśli polecenie wysłania zostanie zaakceptowane, zwróconą odpowiedzią w formacie XML będzie:

EN_KB_Computer_Postman_HTT_Command_XML_Response

Kod „200” oznacza, że polecenie zostało zaakceptowane i przetworzone.

W interfejsie Loxone zobaczysz również, że przycisk będzie zmieniał stan w zależności od wysłanego polecenia (włącz/wyłącz).

*W tych przykładach Postman jest aplikacją zewnętrzną używaną do wysyłania poleceń.

ZAPYTANIE: ZMIANY STATUSU

Command http://miniserver/dev/sps/enablestatusupdate
Function Umożliwia automatyczne wysyłanie zmian statusu w WebSocket.
Answer Wysyła bieżący status przez WebSocket

Konfiguracja, statystyki i polecenia Miniservera

Poniższe polecenia zapewniają sterowanie systemem, operacje PLC, statystyki sieciowe i opcje konfiguracji dla Miniservera.

1. Polecenia PLC (programowalny sterownik logiczny)

Polecenia te umożliwiają monitorowanie i sterowanie systemem PLC.

Command Function
http://<miniserver-ip>/dev/sps/state Pobiera stan sterownika PLC (0-8 stanów)

0 – Brak statusu

1 – Uruchamianie PLC

2 – Program sterownika PLC jest załadowany

3 – PLC został uruchomiony

4 – Loxone Link został uruchomiony

5 – PLC działa

6 – Zmiana PLC

7 – Błąd PLC

8 – Aktualizacja jest w toku

http://<miniserver-ip>/dev/sps/status Pobieranie bieżącej częstotliwości PLC
http://<miniserver-ip>/dev/sps/restart Uruchom ponownie sterownik PLC
http://<miniserver-ip>/dev/sps/stop Zatrzymanie sterownika PLC
http://<miniserver-ip>/dev/sps/run Wznowienie wykonywania PLC
http://<miniserver-ip>/dev/sps/log/ip Włącz logowanie do określonego adresu IP
http://<miniserver-ip>/dev/sps/log Zatrzymaj rejestrowanie
http://<miniserver-ip>/dev/sps/enumdev Lista wszystkich urządzeń PLC (Miniserver i rozszerzenia)
http://<miniserver-ip>/dev/sps/enumin Lista wszystkich wejść PLC
http://<miniserver-ip>/dev/sps/enumout Lista wszystkich wyjść PLC
http://<miniserver-ip>/dev/sps/identify Identyfikacja Miniservera lub rozszerzeń (wymaga numeru seryjnego)

2. Polecenia konfiguracyjne

Polecenia te umożliwiają pobieranie lub modyfikowanie ustawień programu Miniservera.

Command Function
http://<miniserver-ip>/dev/cfg/mac Pobieranie adresu MAC
http://<miniserver-ip>/dev/cfg/version Pobieranie wersji oprogramowania sprzętowego
http://<miniserver-ip>/dev/cfg/versiondate Pobieranie daty produkcji oprogramowania układowego
http://<miniserver-ip>/dev/cfg/dhcp Pobieranie lub ustawianie konfiguracji DHCP
http://<miniserver-ip>/dev/cfg/ip Pobieranie lub ustawianie adresu IP
http://<miniserver-ip>/dev/cfg/mask Pobieranie lub ustawianie maski IP
http://<miniserver-ip>/dev/cfg/gateway Pobieranie lub ustawianie adresu bramy
http://<miniserver-ip>/dev/cfg/device Pobieranie lub ustawianie nazwy Miniservera
http://<miniserver-ip>/dev/cfg/dns1 Pobieranie lub ustawianie adresu DNS 1
http://<miniserver-ip>/dev/cfg/dns2 Pobieranie lub ustawianie adresu DNS 2
http://<miniserver-ip>/dev/cfg/ntp Pobieranie lub ustawianie adresu NTP
http://<miniserver-ip>/dev/cfg/timezoneoffset Pobieranie lub ustawianie przesunięcia strefy czasowej
http://<miniserver-ip>/dev/cfg/http Pobieranie lub ustawianie portu HTTP
http://<miniserver-ip>/dev/cfg/ftp Pobieranie lub ustawianie portu FTP
http://<miniserver-ip>/dev/cfg/ftllocalonly Odzyskaj lub ustaw lokalny dostęp do „FTP, Telnet i lokalnego oprogramowania”

3.Polecenia monitorowania systemu

Polecenia te dostarczają informacji o wydajności i statystykach systemu.

Command Function
http://<miniserver-ip>/dev/sys/numtasks Pobieranie liczby zadań
http://<miniserver-ip>/dev/sys/cpu Pobieranie obciążenia procesora
http://<miniserver-ip>/dev/sys/heap Pobieranie użycia pamięci
http://<miniserver-ip>/dev/sys/ints Pobieranie liczby przerwań systemowych

4. Zarządzanie datą i czasem

Zarządzanie systemowymi ustawieniami daty i godziny.

Command Function
http://<miniserver-ip>/dev/sys/date Pobieranie daty lokalnej
http://<miniserver-ip>/dev/sys/time Pobieranie czasu lokalnego
http://<miniserver-ip>/dev/sys/setdatetime Ustaw datę i godzinę systemową (Format: RRRR-MM-DD GG:MM:SS lub DD/MM/RRRR GG:MM:SS)
http://<miniserver-ip>/dev/sys/ntp Wymuś żądanie NTP

5. Monitorowanie zadań

Pobieranie statusu i właściwości zadań systemowych.

Command Function
http://<miniserver-ip>/dev/task0/name Pobieranie nazwy zadania 0
http://<miniserver-ip>/dev/task0/priority Pobieranie priorytetu zadania 0
http://<miniserver-ip>/dev/task0/stack Pobieranie użycia stosu zadania 0
http://<miniserver-ip>/dev/task0/contextswitches Pobieranie ilości przełączeń kontekstowych Task 0
http://<miniserver-ip>/dev/task0/waittimeout Czas oczekiwania zadania pobierania 0 (ms)
http://<miniserver-ip>/dev/task0/state Pobieranie stanu zadania 0

6. Kontrola systemu i zarządzanie plikami

Polecenia te umożliwiają ponowne uruchomienie Miniservera i zarządzanie plikami systemowymi.

Command Function
http://<miniserver-ip>/dev/sys/reboot Reboot Miniservera
http://<miniserver-ip>/dev/sys/wsextension/<serial>/Reboot Ponowne uruchomienie określonego rozszerzenia
http://<miniserver-ip>/dev/sys/check Sprawdź aktywne połączenia
http://<miniserver-ip>/dev/sys/logoff Wylogowanie wszystkich połączeń
http://<miniserver-ip>/dev/sys/sdtest Test karty SD
http://<miniserver-ip>/dev/fslist/ Lista katalogów głównych karty SD
http://<miniserver-ip>/dev/fslist/path/ Lista określonych ścieżek katalogów
http://<miniserver-ip>/dev/fsget/filepath/ Pobieranie pliku z karty SD
http://<miniserver-ip>/dev/fsdel/filepath/ Usuwanie pliku z karty SD

7. Logi i statystyki systemowe

Pobieranie logów i danych systemowych.

Command Function
http://<miniserver-ip>/data/status Wyjściowy stan systemu w XML
http://<miniserver-ip>/stats Wyświetlanie statystyk systemowych
http://<miniserver-ip>/dev/fsget/log/def.log Pobieranie pliku deflog
http://<miniserver-ip>/dev/sys/updatetolatestrelease Aktualizacja oprogramowania Miniservera do najnowszej wersji

8. Wykonanie webservice zewnętrznie

Wysyłanie żądań webservice do urządzeń zewnętrznych.

Command Function
http://<miniserver-ip>/jdev/sys/sendwebservice?json={"address":"192.168.1.70", "webservice":"/monitor/logs/lwsd"} Wysyłanie żądania webservice do innego urządzenia w sieci z Miniservera

Polecenia dla urządzeń

Extensions

Poniższe polecenia mają zastosowanie do rozszerzeń.

Do ich wykonania wymagany jest użytkownik z pełnymi prawami dostępu.

http://<miniserver-ip>/dev/sys/wsextension/<serial>/ForceUpdate/0C000001/DeviceIndex Wymusza aktualizację oprogramowania sprzętowego dla określonego urządzenia.
http://<miniserver-ip>/dev/sys/wsextension/<serial>/Reboot Restartuje określone urządzenie.

Urządzenia Tree i Air

Poniższe polecenia dotyczą określonych urządzeń Tree lub Air.

Do ich wykonania wymagany jest użytkownik z pełnymi prawami dostępu.

http://<miniserver-ip>/dev/sys/wsdevice/<serial>/ForceUpdate/0C000001/DeviceIndex Wymuś aktualizację oprogramowania sprzętowego dla określonego urządzenia
http://<miniserver-ip>/dev/sys/wsdevice/<serial>/Reboot Restartuje określone urządzenie.
Zamiast <serial> należy użyć numeru seryjnego urządzenia (bez dwukropków).

Alternatywnie można użyć nazwy urządzenia z Loxone Config.

Jeśli używana jest nazwa urządzenia, musi być ona unikalna i nie może zawierać znaków specjalnych.

Korzystanie z interfejsu internetowego Miniservera w ramce iFrame

Domyślnie serwer Miniserver nie zezwala na osadzanie w ramkach iFrame ze względów bezpieczeństwa. Aby włączyć tę funkcję, należy jawnie zezwolić na nią za pomocą następującego polecenia usługi sieci Web:

http://<miniserver-ip>/dev/sys/allowhttpiframe/1