Webservices

Komunikacja (API) z usługami sieciowymi Loxone

Loxone umożliwia sterowanie i konfigurację za pomocą prostych poleceń sieciowych.

Prosta komunikacja

Za pośrednictwem Miniservera i jego usług sieciowych, można za pomocą polecenia http wysyłać informacje, wprowadzać ustawienia, itd. Do komunikacji z Miniserverem stosowana jest technika restful-webservices.

Ogólne

Struktura usług internetowych

(Wykorzystana technika: Restful-webservices)

http://Uzytkownik:[email protected]/polecenie/control/wartosc

  • „control“: może to być dowolne wejście lub wyjście (również wirtualne). Wyjścia mogą być używane tylko do zwracania statusu (tylko zapytanie o status).
  • „wartość“: jeśli „wartość” nie istnieje, ponownie zostanie ustawiona wartość „control“. Dopuszczalne są następujące wartości:: ‚Ein‘, ‚On‘, ‚Aus‘, ‚Off‘, ‚Impuls‘, ‚Pulse‘ lub wartości dziesiętne (po przecinku).
  • Dla wejść cyfrowych z dwoma wyjściami (od wersji 1.5.4.16) dopuszczalne 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ść i wyjść cyfrowych dla ‚On‘ zawsze używa się 1 a dla ‚Off‘ zawsze 0.
  • Wejścia analogowe (0-10 V) działają w zakresie 0-10,00. Formalny limit nie istnieje (na przykład czujnik temperatury EIB 21,5 lub -5,2).
  • Dla wyjść zamiast przecinka dziesiętnego używa się kropki dziesiętnej.

 

Stany i przełączanie

Zapytanie o status
Poleceniehttp://miniserver/dev/sps/io/SwiatlaKuchnia/state
FunkcjaZwraca stan wejścia
Odpowiedź<LL control=“dev/sps/io/SwiatlaKuchnia“ value=“0“ Code=“200“/>
Poleceniehttp://miniserver/dev/sps/io/SwiatlaKuchnia/astate
FunkcjaZwraca wartości przypisanych wyjść (jednoznaczną wartość dla wszystkich lub różne wartości)
Odpowiedź<LL control=“dev/sps/io/SwiatlaKuchnia“ value=“1“ Code=“200“/>
Poleceniehttp://miniserver/dev/sps/io/SwiatlaKuchnia/all
FunkcjaZwraca liczbę przypisanych wyjść i listę ich wartości
Odpowiedź<LL control=“dev/sps/io/SwiatlaKuchnia/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″/>
Poleceniehttp://miniserver/data/status
FunkcjaWyświetla listę i stan wszystkich urządzeń podłączonych do Miniservera
Odpowiedź<Status Modified=““>
<Miniserver Name=“Miniserver biuro“ Internalname=““ IP=““ Mask=““ Gateway=““ DHCP=““ DNS1=““ DNS2=““ MAC=““ Device=““ Version=““>
<Extension Name=““ Internalname=““ Serial=““ Version=““ Online=““/>
</Miniserver>
</Status>

Uwaga: Zapytania o stan za pośrednictwem usług sieciowych są możliwe tylko z wejściami / wyjściami, a nie z blokami funkcyjnymi.

Przełączanie
Poleceniehttp://miniserver/dev/sps/io/PrzyciskSwiatlaKuchnia/Ein
FunkcjaWłącza wejście analogowe lub cyfrowe
Odpowiedź<LL control=“dev/sps/io/PrzyciskSwiatlaKuchnia“ value=“1“ Code=“200“/>

 

Zapytanie o wszystkie zmiany wyjścia
Poleceniehttp://miniserver/dev/sps/changes
FunkcjaWysyła wszystkie wyjścia, które zmieniły się od ostatniego połączenia
Odpowiedź <LL control=“dev/sps/changes“ value=“5″ Code=“200″ n1=“Aktor (Relais) Q1″ u1=“68347a0e-3bfc-11df-8604ea34eeb9b08a“ v1=“0″ n2=“Aktor (Relais) Q2″ u2=“68347a0e-3bfc-11df-8605ea34eeb9b08a“ v2=“0″ n3=“Aktor (Relais) Q3″ u3=“68347a0e-3bfc-11df-8606ea34eeb9b08a“ v3=“0″ n4=“Aktor (Relais) Q4″ u4=“68347a0e-3bfc-11df-8607ea34eeb9b08a“ v4=“0″ n5=“Aktor (Relais) Q5″ u5=“68347a0e-3bfc-11df-8608ea34eeb9b08a“ v5=“1″/>
Poleceniehttp://miniserver/dev/sps/event
FunkcjaGeneruje zdarzenia na serwerze WWW. Zarządzanie zdarzeniami musi być zaprogramowane w kliencie sieciowym (np. nowe źródło zdarzeń (http://LoxLIVE/dev/sps/event).
OdpowiedźWysyła wszystkie wyjścia, które zostały zmienione bez ponownego żądania wysłania.
http://www.w3.org/TR/eventsource/
Event: changed
data: Name
data: uuid
data: Wert
Poleceniehttp://miniserver/dev/sps/enablestatusupdate
FunkcjaUmożliwia automatyczne wysyłanie zmian statusu w WebSockets®.
OdpowiedźWysyła bieżący status przez WebSockets®.

 

Ustawienia i statystyki

POLECENIA SPS
PolecenieFunkcja
http://miniserver/dev/sps/stateZapytanie PLC o status 0 – brak statusu1 – PLC włącza się
2 – Program PLC wczytuje się
3 – PLC uruchamia się
4 – Uruchomienie magistrali
5 – PLC pracuje
6 – PLC zmiana
7 – PLC błąd
8 – obecnie trwa aktualizacja
http://miniserver/dev/sps/stateZapytanie o aktualną częstotliwość PLC
http://miniserver/dev/sps/restartPLC restart
http://miniserver/dev/sps/stopPLC stop
http://miniserver/dev/sps/runPLC uruchomienie
http://miniserver/dev/sps/logPLC włącz globalne statystki
http://miniserver/dev/sps/nologPLC wyłącz globalne statystki
http://miniserver/dev/sps/enumdevLista wszystkich urządzeń PLC Minisever, Extensions, itd)
http://miniserver/dev/sps/enuminLista wszystkich wejść PLC
http://miniserver/dev/sps/enumoutLista wszystkich wyjść PLC
http://miniserver/dev/sps/identifyOd wersji 1.5.6.7: Miniserver musi zostać zidentyfikowany.
W przypadku rozszerzeń numer seryjny musi być parametrem.

 

POLECENIA KONFIGURACJI
PolecenieFunkcja
http://miniserver/dev/cfg/macPokaż adres MAC
http://miniserver/dev/cfg/versionPokaż wersję firmware
http://miniserver/dev/cfg/versiondatePokaż datę firmware
http://miniserver/dev/cfg/dhcpWczytywanie konfiguracji DHCP
http://miniserver/dev/cfg/ipPokaż adres IP
http://miniserver/dev/cfg/maskPokaż maskę podsieci
http://miniserver/dev/cfg/gatewayPokaż bramę sieciową
http://miniserver/dev/cfg/devicePokaż nazwę urządzenia
http://miniserver/dev/cfg/dns1Pokaż adres 1. DNS
http://miniserver/dev/cfg/dns2Pokaż adres 2. DNS
http://miniserver/dev/cfg/ntpPokaż adres NTP
http://miniserver/dev/cfg/timezoneoffsetWczytywanie zmiany strefy czasowej
http://miniserver/dev/cfg/httpPokaż port HTTP
http://miniserver/dev/cfg/ftpPokaż port FTP
http://miniserver/dev/cfg/LoxPLANPokaż port LoxPLAN
http://miniserver/dev/cfg/ftllocalonlyWczytywanie „FTP, Telnet, tylko dostęp do lokalnego oprogramowania“

 

POLECENIA SYSTEMOWE
PolecenieFunkcja
http://miniserver/dev/lan/txpWczyta liczbę przesłanych pakietów
http://miniserver/dev/lan/txeWczyta liczbę przesłanych pakietów błędów
http://miniserver/dev/lan/txcWczyta liczbę przesłanych pakietów kolizji
http://miniserver/dev/lan/exhWczyta liczbę błędów w buforu podczas przenoszenia
http://miniserver/dev/lan/txuWczyta liczbę błędów LAN chyb
http://miniserver/dev/lan/rxpWczyta liczbę odebranych pakietów LAN
http://miniserver/dev/lan/eofWczyta liczbę błędów EOF LAN
http://miniserver/dev/lan/rxoWczyta liczbę błędów – przepełnienie LAN
http://miniserver/dev/lan/nobWczyta liczbę błędów LAN „No receive Buffer“
http://miniserver/dev/bus/packetssentWczyta liczbę pakietów wysłanych do magistrali Loxone
http://miniserver/dev/bus/packetsreceivedWczyta liczbę pakietów odebranych przez magistralę Loxone
http://miniserver/dev/bus/receiveerrorsWczyta liczbę błędów odebranych na magistrali Loxone
http://miniserver/dev/bus/frameerrorsWczyta liczbę błędów „frame“ na magistrali Loxone
http://miniserver/dev/bus/overrunsWczyta liczbę błędów „overflow“ na magistrali Loxone
http://miniserver/dev/bus/parityerrorsWczyta liczbę błędów parzystości na magistrali Loxone
http://miniserver/dev/sys/numtasksWczyta liczbę zadań
http://miniserver/dev/sys/cpuWczyta obciążenie procesora
http://miniserver/dev/sys/contextswitchesWczyta liczbę przełączeń między zadaniami
http://miniserver/dev/sys/contextswitchesiWczyta liczbę przełączeń zadań, które zostały przerwane
http://miniserver/dev/sys/heapWczyta rozmiar pamięci
http://miniserver/dev/sys/intsWczyta liczbę przerw w działaniu systemu
http://miniserver/dev/sys/comintsWczyta liczbę przerw w komunikacji
http://miniserver/dev/sys/lanintsWczyta liczbę przerw w sieci LAN
http://miniserver/dev/sys/watchdogWczyta bity „watchdog“
http://miniserver/dev/sys/datePrzywróci datę
http://miniserver/dev/sys/timePrzywróci czas
http://miniserver/dev/sys/setdatetimeUstawi systemowy format daty i czasu: 2010-04-20 14:35:00 lub 2010/20/04 14:35:00
http://miniserver/dev/sys/spscycleWczyta liczbę cykli SPS
http://miniserver/dev/sys/ntpWymusi żądanie NTP
http://miniserver/dev/task0/nameWczyta zadanie o nazwie 0
(0- http://loxlive/dev/sys/numtasks – 1)
http://miniserver/dev/task0/priorityWczyta priorytet zadania 0
http://miniserver/dev/task0/stackWczyta „stack“ zadania 0
http://miniserver/dev/task0/contextswitchesWczyta liczbę przełączeń zadań 0
http://miniserver/dev/task0/waittimeoutWczyta czas oczekiwania dla zadań w ms
http://miniserver/dev/task0/stateWczyta status zadania 0
http://miniserver/dev/sys/rebootUruchamianie LoxLIVE
http://miniserver/dev/sys/checkWyświetli aktywne połączenia Loxone Config
http://miniserver/dev/sys/logoffPrzerwie istniejące połączenia Loxone Config
http://miniserver/dev/sys/sdtestTestowanie karty SD
http://miniserver/dev/sys/lastcpuWyświetla ostatnią wartość użycia procesora i liczbę cykli PLC
http://miniserver/dev/sys/searchWykona wyszukiwanie podłączonych Extensions
http://miniserver/dev/sys/searchdataLista wyników wyszukiwania
http://miniserver/dev/fslist/Wyświetla katalog główny karty SD
http://miniserver/dev/fslist/path/Wyświetli ścieżkę na karcie SD
http://miniserver/dev/fsget/filepath/Wczyta plik (ścieżka do pliku do zastąpienia)
http://miniserver/dev/fsdel/filepath/Usunie plik (według ścieżki do pliku)
http://miniserver/data/statusWyświetli status Miniservera i wszystkich Extensionów
http://miniserver/statsStatus statystyk
http://miniserver/data/weatheru.xmlWyświetli dane o pogodzie
http://miniserver/data/LoxAPP2.xmlStruktura plików do wizualizacji
http://miniserver/dev/fsget/log/def.logSłuży do pobierania informacji w pliku def.log
http://miniserver/dev/sys/ExtStatistics/05000001Wczyta statystyki z 1-Wire Extension (05000001 zastąpić aktualnym numerem seryjnym)
http://miniserver/dev/sys/AirStatistics/0C000001/DeviceIndexWczyta statystyki z Air Base Extension (0C000001 zastąpić aktualnym numerem seryjnym)
http://miniserver/dev/sys/updatetextRozpocznie aktualizację Extension