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:[email protected]/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říkaz http://miniserver/dev/sps/io/SvetlaKuchyne/state
Funkce Vrátí status vstupu
Odezva <LL control=“dev/sps/io/SvetlaKuchyne“ value=“0“ Code=“200“/>
Příkaz http://miniserver/dev/sps/io/SvetlaKuchyne/astate
Funkce Vrací 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říkaz http://miniserver/dev/sps/io/SvetlaKuchyne/all
Funkce Vrací 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říkaz http://miniserver/data/status
Funkce Zobrazí 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říkaz http://miniserver/dev/sps/io/VypinacSvetlaKuchyne/Ein
Funkce Zapne 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říkaz http://miniserver/dev/sps/changes
Funkce Zaš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říkaz http://miniserver/dev/sps/event
Funkce Generuje 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).
Odezva Odeš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říkaz http://miniserver/dev/sps/enablestatusupdate
Funkce Umožňuje automatické odesílání stavových změn ve WebSockets®.
Odezva Odešle aktuální stav přes WebSockety®.

Nastavení a statistika

SPS PŘÍKAZY

Příkaz Funkce
http://miniserver/dev/sps/state PLC 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/state Dotaz na aktuální frekvenci PLC
http://miniserver/dev/sps/restart PLC restart
http://miniserver/dev/sps/stop PLC stop
http://miniserver/dev/sps/run PLC spuštění
http://miniserver/dev/sps/log PLC povolit globální statistiku
http://miniserver/dev/sps/nolog PLC vypnout globální statistiku
http://miniserver/dev/sps/enumdev Seznam všech PLC zařízení Minisever, Extensions,…)
http://miniserver/dev/sps/enumin Seznam všech PLC vstupů
http://miniserver/dev/sps/enumout Seznam všech PLC výstupů
http://miniserver/dev/sps/identify Od 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říkaz Funkce
http://miniserver/dev/cfg/mac Získat MAC adresu
http://miniserver/dev/cfg/version Získat verzi firmware
http://miniserver/dev/cfg/versiondate Získat datum firmware
http://miniserver/dev/cfg/dhcp Načtení konfigurace DHCP
http://miniserver/dev/cfg/ip Získat IP adresu
http://miniserver/dev/cfg/mask Získat masku sítě
http://miniserver/dev/cfg/gateway Získat bránu
http://miniserver/dev/cfg/device Získat názvy zařízení
http://miniserver/dev/cfg/dns1 Získat adresu 1. DNS
http://miniserver/dev/cfg/dns2 Získat adresu 2. DNS
http://miniserver/dev/cfg/ntp Získat adresu NTP
http://miniserver/dev/cfg/timezoneoffset Načtení posunu časové zóny
http://miniserver/dev/cfg/http Získat HTTP port
http://miniserver/dev/cfg/ftp Získat FTP port
http://miniserver/dev/cfg/LoxPLAN Získat LoxPLAN port
http://miniserver/dev/cfg/ftllocalonly Načtení „FTP, Telnet, pouze přístup pro lokální software“

SYSTÉMOVÉ PŘÍKAZY

Příkaz Funkce
http://miniserver/dev/lan/txp Načte počet přenesených paketů
http://miniserver/dev/lan/txe Načte počet přenesených chybových paketů
http://miniserver/dev/lan/txc Načte počet přenesených paketů s kolizí
http://miniserver/dev/lan/exh Načte počet chyb přetečené v zásobníku (buffer) při přenášení
http://miniserver/dev/lan/txu Načte počet LAN chyb podjetí
http://miniserver/dev/lan/rxp Načte počet přijatých LAN paketů
http://miniserver/dev/lan/eof Načte počet EOF LAN chyb
http://miniserver/dev/lan/rxo Načte počet chyb – přeplnění LAN
http://miniserver/dev/lan/nob Načte počet LAN „No recieve Buffer“ chyb
http://miniserver/dev/bus/packetssent Načte počet paketů poslaných na Loxone sběrnici
http://miniserver/dev/bus/packetsreceived Načte počet paketů přijatých na Loxone sběrnici
http://miniserver/dev/bus/receiveerrors Načte počet chyb přijatých na Loxone sběrnici
http://miniserver/dev/bus/frameerrors Načte počet „frame“ chyb na Loxone sběrnici
http://miniserver/dev/bus/overruns Načte počet „overflow“ chyb na Loxone sběrnici
http://miniserver/dev/bus/parityerrors Načte počet počet paritních chyb na sběrnici Loxone sběrnici
http://miniserver/dev/sys/numtasks Načte počet úkolů
http://miniserver/dev/sys/cpu Načte zatížení procesoru
http://miniserver/dev/sys/contextswitches Načte počet přepnutí mezi úkoly
http://miniserver/dev/sys/contextswitchesi Načte počet přepnutí mezi úkoly, které byly přerušeny
http://miniserver/dev/sys/heap Načte velikost paměti
http://miniserver/dev/sys/ints Načte počet přerušení systému
http://miniserver/dev/sys/comints Načte počet přerušení komunikace
http://miniserver/dev/sys/lanints Načte počet přerušení LAN
http://miniserver/dev/sys/watchdog Načte „watchdog“ bitů
http://miniserver/dev/sys/date Vrátí datum
http://miniserver/dev/sys/time Vrátí čas
http://miniserver/dev/sys/setdatetime Nastaví systémové datum a časový formát: 2010-04-20 14:35:00 nebo 2010/20/04 14:35:00
http://miniserver/dev/sys/spscycle Načte počet SPS cyklů
http://miniserver/dev/sys/ntp Vynutí NTP požadavek
http://miniserver/dev/task0/name Načte úkol pojmenovaný 0
(0- http://loxlive/dev/sys/numtasks – 1)
http://miniserver/dev/task0/priority Načte prioritu úkolu 0
http://miniserver/dev/task0/stack Načte „stack“ úkolu 0
http://miniserver/dev/task0/contextswitches Načte počet přepínání úkolů 0
http://miniserver/dev/task0/waittimeout Načte čekací dobu úkolu v ms
http://miniserver/dev/task0/state Načte stav úkolu 0
http://miniserver/dev/sys/reboot LoxLIVE bootování
http://miniserver/dev/sys/check Zobrazí aktivní připojení Loxone Config
http://miniserver/dev/sys/logoff Přeruší stávající Loxone Config připojení
http://miniserver/dev/sys/sdtest Testování SD karty
http://miniserver/dev/sys/lastcpu Ukazuje poslední hodnotu využití procesoru a počet PLC cyklů
http://miniserver/dev/sys/search Provede se hledání připojených Extensionů
http://miniserver/dev/sys/searchdata Seznam 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/status Zobrazuje stav Miniserveru a všech Extensionů
http://miniserver/stats Stav statistiky
http://miniserver/data/weatheru.xml Zobrazuje údaje o počasí
http://miniserver/data/LoxAPP2.xml Struktura souboru pro vizualizaci
http://miniserver/dev/fsget/log/def.log Slouží k získání informací v souboru def.log
http://miniserver/dev/sys/ExtStatistics/05000001 Získat statistiky z 1-Wire Extension (05000001 vyměňte za aktuální sériové číslo)
http://miniserver/dev/sys/AirStatistics/0C000001/DeviceIndex Získat statistiky z Air Base Extension (0C000001 vyměňte za aktuální sériové číslo)
http://miniserver/dev/sys/updatetext Začne aktualizace Extension