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
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„.
- Dla wartości cyfrowych dozwolone są następujące wartości:
- 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.
- Dla wejść analogowych dozwolone są następujące wartości:
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:
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:
W Loxone Config wirtualne wejście podświetli się na ułamek sekundy, jeśli aktywny jest podgląd na żywo:
*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> |
Żą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:
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:
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. |
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