Webservices

Komunikace (API) s webovými službami Loxone

Loxone umožňuje ovládání a konfiguraci přes jednoduché webové příkazy.

Jednoduchá komunikace

Prostřednictvím Miniserveru a jeho webových služeb lze pomocí http příkazů odesílat informace, provádět nastavení, … Pro komunikaci s Miniserverem se používá technika Restful-webservices.

Obecně

Struktura webových služeb

(Použita technika Restful-webservices)

http://Uzivatel:Heslo@AdresaMiniserveru/prikaz/control/hodnota

  • „control“: může se jednat o jakýkoliv vstup a nebo výstup (také virtuální). Výstupy mohou být použity pouze k vrácení stavu (pouze dotaz na stav).
  • „hodnota“: Pokud „hodnota“ neexistuje, bude zpět nastavena hodnota „control“. Přijatelné jsou následující hodnoty: ‚Ein‘, ‚On‘, ‚Aus‘, ‚Off‘, ‚Impuls‘, ‚Pulse‘ a nebo desetinné hodnoty (za desetinnou čárkou)
  • Pro digitální vstupy se dvěma výstupy (od verze 1.5.4.16) jsou možné následující hodnoty:
ImpulsPlus
ImpulsMinus
PulseUp
PulseDown
ImpulsAuf
ImpulsAb
PulseOpen
PulseClose
PlusEin
PlusAus
UpOn
UpOff
AufEin
AufAus
OpenOn
OpenOff
MinusEin
MinusAus
DownOn
DownOff
AbEin
AbAus
CloseOff
CloseOff
  • U digitálních vstupů a výstupů se používá pro ‚On‘ vždy 1 a pro ‚Off‘ vždy 0.
  • Analogové vstupy (0-10V) se pracuje v rozsahu 0-10,00. Neexistuje žádný formální limit (například i EIB teplotního senzoru 21,5 nebo -5,2)
  • Pro výstupy se používá desetinná tečka místo desetinné čárky.

Stavy a přepínání

Dotaz na stav

Příkazhttp://miniserver/dev/sps/io/SvetlaKuchyne/state
FunkceVrátí status vstupu
Odezva<LL control=“dev/sps/io/SvetlaKuchyne“ value=“0“ Code=“200“/>
Příkazhttp://miniserver/dev/sps/io/SvetlaKuchyne/astate
FunkceVrací hodnoty přiřazených výstupů (buď jednoznačnou hodnotu pro všechny a nebo různé hodnoty)
Odezva<LL control=“dev/sps/io/SvetlaKuchyne“ value=“1“ Code=“200“/>
Příkazhttp://miniserver/dev/sps/io/SvetlaKuchyne/all
FunkceVrací počet přiřazených výstupů a seznam jejich hodnot
Odezva<LL control=“dev/sps/io/SvetlaKuchyne/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″/>
Příkazhttp://miniserver/data/status
FunkceZobrazí seznam a stav všech zařízení, připojených k Miniserveru
Odezva<Status Modified=““>
<Miniserver Name=“Miniserver kancelář“ Internalname=““ IP=““ Mask=““ Gateway=““ DHCP=““ DNS1=““ DNS2=““ MAC=““ Device=““ Version=““>
<Extension Name=““ Internalname=““ Serial=““ Version=““ Online=““/>
</Miniserver>
</Status>

Poznámka: Dotaz na stav přes webové služby je možný pouze se vstupy / výstupy a nikoliv s funkčními bloky.

Přepnutí

Příkazhttp://miniserver/dev/sps/io/VypinacSvetlaKuchyne/Ein
FunkceZapne analogový nebo digitální vstup
Odezva<LL control=“dev/sps/io/VypinacSvetlaKuchyne“ value=“1“ Code=“200“/>

Dotaz na všechny změny výstupu

Příkazhttp://miniserver/dev/sps/changes
FunkceZašle všechny výstupy, které se změnily od posledního volání
Odezva <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″/>
Příkazhttp://miniserver/dev/sps/event
FunkceGeneruje události ve webserveru. Řízení událostí musí být naprogramováno ve webovém klientovi (např.: nový zdroj události (http://LoxLIVE/dev/sps/event).
OdezvaOdešle všechny výstupy, které byly změněny bez obnovené žádosti k poslání.
http://www.w3.org/TR/eventsource/
Event: changed
data: Name
data: uuid
data: Wert
Příkazhttp://miniserver/dev/sps/enablestatusupdate
FunkceUmožňuje automatické odesílání stavových změn ve WebSockets®.
OdezvaOdešle aktuální stav přes WebSockety®.

Nastavení a statistika

SPS příkazy

PříkazFunkce
http://miniserver/dev/sps/statePLC dotaz na stav 0 – žádný stav

1 – PLC startuje
2 – PLC program je načten
3 – PLC se spustí
4 – spuštění sběrnice
5 – PLC běží
6 – PLC změna
7 – PLC chyba
8 – v současné době se provádí aktualizace

http://miniserver/dev/sps/stateDotaz na aktuální frekvenci PLC
http://miniserver/dev/sps/restartPLC restart
http://miniserver/dev/sps/stopPLC stop
http://miniserver/dev/sps/runPLC spuštění
http://miniserver/dev/sps/logPLC povolit globální statistiku
http://miniserver/dev/sps/nologPLC vypnout globální statistiku
http://miniserver/dev/sps/enumdevSeznam všech PLC zařízení Minisever, Extensions,…)
http://miniserver/dev/sps/enuminSeznam všech PLC vstupů
http://miniserver/dev/sps/enumoutSeznam všech PLC výstupů
http://miniserver/dev/sps/identifyOd verze 1.5.6.7: Miniserver musí být identifikován
U rozšíření musí být sériové číslo jako paramter.

Konfigurační příkazy

PříkazFunkce
http://miniserver/dev/cfg/macZískat MAC adresu
http://miniserver/dev/cfg/versionZískat verzi firmware
http://miniserver/dev/cfg/versiondateZískat datum firmware
http://miniserver/dev/cfg/dhcpNačtení konfigurace DHCP
http://miniserver/dev/cfg/ipZískat IP adresu
http://miniserver/dev/cfg/maskZískat masku sítě
http://miniserver/dev/cfg/gatewayZískat bránu
http://miniserver/dev/cfg/deviceZískat názvy zařízení
http://miniserver/dev/cfg/dns1Získat adresu 1. DNS
http://miniserver/dev/cfg/dns2Získat adresu 2. DNS
http://miniserver/dev/cfg/ntpZískat adresu NTP
http://miniserver/dev/cfg/timezoneoffsetNačtení posunu časové zóny
http://miniserver/dev/cfg/httpZískat HTTP port
http://miniserver/dev/cfg/ftpZískat FTP port
http://miniserver/dev/cfg/LoxPLANZískat LoxPLAN port
http://miniserver/dev/cfg/ftllocalonlyNačtení „FTP, Telnet, pouze přístup pro lokální software“

Systémové příkazy

PříkazFunkce
http://miniserver/dev/lan/txpNačte počet přenesených paketů
http://miniserver/dev/lan/txeNačte počet přenesených chybových paketů
http://miniserver/dev/lan/txcNačte počet přenesených paketů s kolizí
http://miniserver/dev/lan/exhNačte počet chyb přetečené v zásobníku (buffer) při přenášení
http://miniserver/dev/lan/txuNačte počet LAN chyb podjetí
http://miniserver/dev/lan/rxpNačte počet přijatých LAN paketů
http://miniserver/dev/lan/eofNačte počet EOF LAN chyb
http://miniserver/dev/lan/rxoNačte počet chyb – přeplnění LAN
http://miniserver/dev/lan/nobNačte počet LAN „No recieve Buffer“ chyb
http://miniserver/dev/bus/packetssentNačte počet paketů poslaných na Loxone sběrnici
http://miniserver/dev/bus/packetsreceivedNačte počet paketů přijatých na Loxone sběrnici
http://miniserver/dev/bus/receiveerrorsNačte počet chyb přijatých na Loxone sběrnici
http://miniserver/dev/bus/frameerrorsNačte počet „frame“ chyb na Loxone sběrnici
http://miniserver/dev/bus/overrunsNačte počet „overflow“ chyb na Loxone sběrnici
http://miniserver/dev/bus/parityerrorsNačte počet počet paritních chyb na sběrnici Loxone sběrnici
http://miniserver/dev/sys/numtasksNačte počet úkolů
http://miniserver/dev/sys/cpuNačte zatížení procesoru
http://miniserver/dev/sys/contextswitchesNačte počet přepnutí mezi úkoly
http://miniserver/dev/sys/contextswitchesiNačte počet přepnutí mezi úkoly, které byly přerušeny
http://miniserver/dev/sys/heapNačte velikost paměti
http://miniserver/dev/sys/intsNačte počet přerušení systému
http://miniserver/dev/sys/comintsNačte počet přerušení komunikace
http://miniserver/dev/sys/lanintsNačte počet přerušení LAN
http://miniserver/dev/sys/watchdogNačte „watchdog“ bitů
http://miniserver/dev/sys/dateVrátí datum
http://miniserver/dev/sys/timeVrátí čas
http://miniserver/dev/sys/setdatetimeNastaví systémové datum a časový formát: 2010-04-20 14:35:00 nebo 2010/20/04 14:35:00
http://miniserver/dev/sys/spscycleNačte počet SPS cyklů
http://miniserver/dev/sys/ntpVynutí NTP požadavek
http://miniserver/dev/task0/nameNačte úkol pojmenovaný 0
(0- http://loxlive/dev/sys/numtasks – 1)
http://miniserver/dev/task0/priorityNačte prioritu úkolu 0
http://miniserver/dev/task0/stackNačte „stack“ úkolu 0
http://miniserver/dev/task0/contextswitchesNačte počet přepínání úkolů 0
http://miniserver/dev/task0/waittimeoutNačte čekací dobu úkolu v ms
http://miniserver/dev/task0/stateNačte stav úkolu 0
http://miniserver/dev/sys/rebootLoxLIVE bootování
http://miniserver/dev/sys/checkZobrazí aktivní připojení Loxone Config
http://miniserver/dev/sys/logoffPřeruší stávající Loxone Config připojení
http://miniserver/dev/sys/sdtestTestování SD karty
http://miniserver/dev/sys/lastcpuUkazuje poslední hodnotu využití procesoru a počet PLC cyklů
http://miniserver/dev/sys/searchProvede se hledání připojených Extensionů
http://miniserver/dev/sys/searchdataSeznam výsledků hledání
http://miniserver/dev/fslist/Zobrazí list kořenového adresáře na SD kartě
http://miniserver/dev/fslist/path/Zobrazí se list adresářové cesty na SD kartě
http://miniserver/dev/fsget/filepath/Načíst soubr (cesta k souboru k nahrazení)
http://miniserver/dev/fsdel/filepath/Odstraní soubor (podle cesty souboru)
http://miniserver/data/statusZobrazuje stav Miniserveru a všech Extensionů
http://miniserver/statsStav statistiky
http://miniserver/data/weatheru.xmlZobrazuje údaje o počasí
http://miniserver/data/LoxAPP2.xmlStruktura souboru pro vizualizaci
http://miniserver/dev/fsget/log/def.logSlouží k získání informací v souboru def.log
http://miniserver/dev/sys/ExtStatistics/05000001Získat statistiky z 1-Wire Extension (05000001 vyměňte za aktuální sériové číslo)
http://miniserver/dev/sys/AirStatistics/0C000001/DeviceIndexZískat statistiky z Air Base Extension (0C000001 vyměňte za aktuální sériové číslo)
http://miniserver/dev/sys/updatetextZačne aktualizace Extension