Webservices

Loxone ermöglicht die Steuerung und Konfiguration durch einfache http-Befehle.

Loxone Musterkoffer

Einfache Kommunikation

Durch die Webservices kann man mit einfachen http-Befehlen Informationen abrufen, Einstellungen vornehmen und schalten. Die Kommunikation erfolgt über den Loxone Miniserver.

Allgemein

Die Webservices sind folgendermaßen aufgebaut:

(Es wird die Restful-Webservice Technik verwendet.)
 

http://Benutzer:Passwort@AdresseMiniserver/command/control/value

  • "control": kann dabei jeder Eingang oder Ausgang sein (auch virtuelle Ein- und Ausgänge). Ausgänge können aber nur für Statusabfragen verwendet werden.
  • "value": Wenn 'value' nicht vorhanden ist, dann wird der aktuelle Wert des Controls zurückgegeben. Folgende Werte sind für Value zulässig: 'Ein', 'On', 'Aus', 'Off', 'Impuls', 'Pulse' oder ein dezimaler Wert (mit Nachkommastellen).
  • Für digitale virtuelle Eingänge mit 2 Ausgängen (Auf-Ab, Links-Rechts, ab Version 1.5.4.16) gibt es folgende Werte:
ImpulsPlus
ImpulsMinus
PulseUp
PulseDown
ImpulsAuf
ImpulsAb
PulseOpen
PulseClose
PlusEin
PlusAus
UpOn
UpOff
AufEin
AufAus
OpenOn
OpenOff
MinusEin
MinusAus
DownOn
DownOff
AbEin
AbAus
CloseOff
CloseOff
  • Bei digitalen Ein- und Ausgängen wird für 'Ein' immer 1 und für 'Aus' immer 0 verwendet.
  • Analoge (0-10V) Eingänge arbeiten im Bereich zwischen 0 und 10,00. Es gibt keine formelle Begrenzung (zB. bei EIB-Temperaturen wie 21,5 oder -5,2).
  • Für die Ausgabe wird als Dezimalzeichen der Punkt verwendet.

Status & Schalten

Statusabfrage eines Controls

Befehl http://miniserver/​dev/sps/​io/LichtWohnzimmer/state
Funktion Liefert den Status des Eingangs
Antwort <LL control=“dev/sps/io/LichtWohnzimmer“ value=“0“ Code=“200“/>
Befehl http://miniserver/dev/sps/io/LichtWohnzimmer/astate
Funktion Liefert den Wert der zugeordneten Ausgänge (entweder ein eindeutiger Wert für alle - oder ein ? bei unterschiedlichen Werten)
Antwort <LL control=“dev/sps/io/LichtWohnzimmer“ value=“1“ Code=“200“/>
Befehl http://miniserver/dev/sps/​io/LichtWohnzimmer/all
Funktion Liefert die Anzahl der zugeordneten Ausgänge und eine Liste der Werte aller Ausgänge
Antwort <LL control="dev/sps/io/ LichtWohnzimmer /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"/>
Befehl http://miniserver/data/status
Funktion Listet alle Geräte, die am Miniserver angeschlossen sind, mitsamt Status.
Antwort <Status Modified="">
<Miniserver Name="Miniserver Büro" Internalname="" IP="" Mask="" Gateway="" DHCP="" DNS1="" DNS2="" MAC="" Device="" Version="">
<Extension Name="" Internalname="" Serial="" Version="" Online=""/>
</Miniserver>
</Status>

 

Status-Abfrage per Webservice ist nur bei Ein- und Ausgängen möglich, nicht aber bei Programmbausteinen.

Schalten

Befehl http://miniserver/dev/sps/​io/​TasterLichtWohnzimmer/Ein
Funktion Schalten des analogen oder digitalen Eingangs
Antwort <LL control=“dev/sps/io/TasterLichtWohnzimmer“ value=“1“ Code=“200“/>

Alle Ausgangsänderungen abfragen

Befehl http://miniserver/dev/sps/​event
Funktion Erzeugt einen Eventserver innerhalb des Webservers. Ein Eventhandler muß im Webclient programmiert werden (z.B.: new EventSource(http://miniserver/dev/sps/event).
Antwort Schickt alle Ausgänge, die verändert wurden, ohne dass eine neuerliche Anfrage gesendet werden muss.
http://www.w3.org/TR/eventsource/
Event: changed
data: Name
data: uuid
data: Wert
Befehl http://miniserver/dev/sps/​enablestatusupdate
Funktion Ermöglicht das automatische Senden von Statusänderungen in Websockets.
Antwort Schickt den aktuellen Status per Websockets.

 

 

Konfiguration & Statistik

SPS-Befehle

Befehl Funktion
http://miniserver/dev/sps/state

SPS Statusabfrage

0 - kein Status
1 - SPS bootet gerade
2 - SPS Programm wird geladen
3 - SPS wird gestartet
4 - Bus wird gestartet
5 - SPS läuft
6 - SPS Change
7 - SPS Fehler
8 - Update wird gerade durchgeführt 

http://miniserver/dev/sps/status

aktuelle SPS Frequenz abfragen

http://miniserver/dev/sps/restart SPS neu starten
http://miniserver/dev/sps/stop SPS anhalten
http://miniserver/dev/sps/run SPS fortsetzen
http://miniserver/dev/sps/log SPS globales Logging erlauben
http://miniserver/dev/sps/enumdev alle Geräte der SPS auflisten (Minisever,Extensions,...)
http://miniserver/dev/sps/enumin alle Eingänge der SPS auflisten
http://miniserver/dev/sps/enumout alle Ausgänge der SPS auflisten
http://miniserver/dev/sps/identify Ab Version 1.5.6.7: Miniserver identifizieren
Für Erweiteurngen muss die Seriennumer als Parameter mitgegeben werden

Config Befehle

Befehl Funktion
http://miniserver/dev/cfg/mac MAC-Adresse holen
http://miniserver/dev/cfg/version Firmware Version holen
http://miniserver/dev/cfg/versiondate Erstellungsdatum der Firmware holen
http://miniserver/dev/cfg/dhcp DHCP Konfiguration holen
http://miniserver/dev/cfg/ip IP-Adresse holen
http://miniserver/dev/cfg/mask IP-Maske holen
http://miniserver/dev/cfg/gateway Gateway-Adresse holen
http://miniserver/dev/cfg/device Miniserver Gerätenamen holen
http://miniserver/dev/cfg/dns1 DNS-Adresse 1 holen
http://miniserver/dev/cfg/dns2 DNS-Adresse 2 holen
http://miniserver/dev/cfg/ntp NTP-Adresse holen
http://miniserver/dev/cfg/timezoneoffset Zeitzonenoffset holen
http://miniserver/dev/cfg/http HTTP-Port holen
http://miniserver/dev/cfg/ftp FTP-Port holen
http://miniserver/dev/cfg/LoxPLAN Konfigurationssoftware-Port holen
http://miniserver/dev/cfg/ftllocalonly 'FTP, Telnet, Softwarezugriff nur lokal erlauben' holen

System Befehle

Befehl Funktion
http://miniserver/dev/lan/txp Anzahl LAN gesendete Pakete holen
http://miniserver/dev/lan/txe Anzahl LAN gesendete Pakete mit Fehler holen
http://miniserver/dev/lan/txc Anzahl LAN gesendete Pakete mit Kollision holen
http://miniserver/dev/lan/exh Anzahl LAN Bufferfehler holen
http://miniserver/dev/lan/txu Anzahl LAN Underrunfehler holen
http://miniserver/dev/lan/rxp Anzahl LAN empfangene Pakete holen
http://miniserver/dev/lan/eof Anzahl LAN EOF Fehler holen
http://miniserver/dev/lan/rxo Anzahl LAN Empfangsüberlauffehler holen
http://miniserver/dev/lan/nob Anzahl LAN 'Kein Empfangsbuffer'-Fehler holen
http://miniserver/dev/bus/packetssent Anzahl gesendete Pakete am Loxone-Link holen
http://miniserver/dev/bus/packetsreceived Anzahl empfangene Pakete am Loxone-Link holen
http://miniserver/dev/bus/receiveerrors Anzahl Empfangsfehler am Loxone-Link holen
http://miniserver/dev/bus/frameerrors Anzahl Frame-Fehler am Loxone-Link holen
http://miniserver/dev/bus/overruns Anzahl Überlauffehler am Loxone-Link holen
http://miniserver/dev/bus/parityerrors Anzahl Paritätsfehler am Loxone-Link holen
http://miniserver/dev/sys/numtasks Anzahl Tasks holen
http://miniserver/dev/sys/cpu CPU-Last holen
http://miniserver/dev/sys/contextswitches Anzahl Umschaltungen zwischen Tasks holen
http://miniserver/dev/sys/contextswitchesi Anzahl Umschaltungen zwischen Tasks holen, die von Interrupts ausgelöst wurden
http://miniserver/dev/sys/heap Speichergröße holen
http://miniserver/dev/sys/ints Anzahl Systeminterrupts holen
http://miniserver/dev/sys/comints Anzahl Kommunikationsinterrupts holen
http://miniserver/dev/sys/lanints Anzahl LAN-Interrupts holen
http://miniserver/dev/sys/watchdog Watchdog-Bits holen
http://miniserver/dev/sys/date Liefert das lokale Datum
http://miniserver/dev/sys/time Liefert die lokale Zeit
http://miniserver/dev/sys/setdatetime Systemdatum und -zeit setzen Format: 2010-04-20 14:35:00 oder 2010/20/04 14:35:00
http://miniserver/dev/sys/spscycle Anzahl SPS-Zyklen holen
http://miniserver/dev/sys/ntp NTP Anfrage forcieren
http://miniserver/dev/task0/name Task 0 Name holen
(0- http://nubuserver/dev/sys/numtasks - 1)
http://miniserver/dev/task0/priority Task 0 Priorität holen
http://miniserver/dev/task0/stack Task 0 Stack holen
http://miniserver/dev/task0/contextswitches Task 0 Anzahl Umschaltungen holen
http://miniserver/dev/task0/waittimeout Task 0 Wartezeit in ms holen
http://miniserver/dev/task0/state Task 0 Status holen
http://miniserver/dev/sys/reboot Miniserver booten
http://miniserver/dev/sys/check Zeigt aktive Loxone Config Verbindungen
http://miniserver/dev/sys/logoff Trennt bestehende Loxone Config Verbindungen
http://miniserver/dev/sys/sdtest Testet die SD Karte
http://miniserver/dev/sys/lastcpu zeigt letzen Wert der CPU Auslastung und Anzahl der SPS Zyklen
http://miniserver/dev/sys/searchdata listet die Suchergebnisse
http://miniserver/dev/fslist/ listet das Root-Verzeichnis der SD Karte
http://miniserver/dev/fslist/path/ listet das Verzeichnis "path" auf der SD Karte
http://miniserver/dev/fsget/filepath/ eine Datei abrufen (filepath durch Dateinamen ersetzen)
http://miniserver/dev/fsdel/filepath/ löscht eine Datei (filepath durch Dateinamen ersetzen)
http://miniserver/data/status zeigt Status von Miniserver und allen Extensions
http://miniserver/stats zeigt die Statistiken
http://miniserver/data/weatheru.xml zeigt die Wetterdaten
http://miniserver/data/LoxAPP3.json Strukturdatei für die Visualisierung
http://miniserver/dev/fsget/log/def.log Log abrufen
http://miniserver/dev/sys/ExtStatistics/05000001 Statistik der 1-Wire Extension abrufen (05000001 ersetzen durch Seriennummer der Extension)
http://miniserver/dev/sys/AirStatistics/0C000001/DeviceIndex Statistik der Air Geräte abrufen (0C000001 ersetzen durch Seriennummer der Extension)
http://miniserver/dev/sys/updateext Update der Extensions starten