Webservices

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

 

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 FOLGENDERMASSEN AUFGEBAUT

Es wird die Restful-Webservice Technik verwendet.

iconACHTUNG: Bei dieser Methode werden Benutzername und Passwort im Klartext übertragen. Dies stellt ein Sicherheitsrisiko dar. Wir empfehlen daher unsere sichere Webservice Authentifizierung zu nutzen. Mehr dazu hier.

 

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). (Nur ein Benutzer der berechtigt ist an dem entsprechenden Objekt Änderungen vorzunehmen kann über Webservices an diesem Objekt Werte ändern)
  • 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

Befehlhttp://miniserver/dev/sps/io/LichtWohnzimmer/state
FunktionLiefert den Status des Eingangs
Antwort<LL control=“dev/sps/io/LichtWohnzimmer“ value=“0“ Code=“200“/>

 

Befehlhttp://miniserver/dev/sps/io/LichtWohnzimmer/astate
FunktionLiefert 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“/>

 

Befehlhttp://miniserver/dev/sps/io/LichtWohnzimmer/all
FunktionLiefert 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″/>

 

Befehlhttp://miniserver/data/status
FunktionListet 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

Befehlhttp://miniserver/dev/sps/io/TasterLichtWohnzimmer/Ein
FunktionSchalten des analogen oder digitalen Eingangs
Antwort<LL control=“dev/sps/io/TasterLichtWohnzimmer“ value=“1“ Code=“200“/>

iconWird ein Visualisierungskennwort benötigt muss man dieses zusätzlich angeben. Bsp.: http://miniserver/dev/sps/io/Visualisierungskennwort/TasterLichtWohnzimmer/Ein

 

ALLE AUSGANGSÄNDERUNGEN ABFRAGEN

 

Befehlhttp://miniserver/dev/sps/event
FunktionErzeugt einen Eventserver innerhalb des Webservers. Ein Eventhandler muß im Webclient programmiert werden (z.B.: new EventSource(http://miniserver/dev/sps/event).
AntwortSchickt 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

 

Befehlhttp://miniserver/dev/sps/enablestatusupdate
FunktionErmöglicht das automatische Senden von Statusänderungen in Websockets.
AntwortSchickt den aktuellen Status per Websockets.

 

 

KONFIGURATION & STATISTIK

SPS-BEFEHLE

BefehlFunktionAdministrator Rechte benötigt?
http://miniserver/dev/sps/stateSPS 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

 X
http://miniserver/dev/sps/statusaktuelle SPS Frequenz abfragen X
http://miniserver/dev/sps/restartSPS neu starten
http://miniserver/dev/sps/stopSPS anhalten
http://miniserver/dev/sps/runSPS fortsetzen
http://miniserver/dev/sps/logSPS globales Logging erlauben
http://miniserver/dev/sps/enumdevalle Geräte der SPS auflisten (Miniserver,Extensions,…)
http://miniserver/dev/sps/enuminalle Eingänge der SPS auflisten
http://miniserver/dev/sps/enumoutalle Ausgänge der SPS auflisten
http://miniserver/dev/sps/identifyMiniserver identifizieren
Für Erweiterungen muss die Seriennumer als Parameter mitgegeben werden.

 

 

CONFIG BEFEHLE

BefehlFunktionAdministrator Rechte benötigt?
http://miniserver/dev/cfg/macMAC-Adresse holenX
http://miniserver/dev/cfg/versionFirmware Version holenX
http://miniserver/dev/cfg/versiondateErstellungsdatum der Firmware holenX
http://miniserver/dev/cfg/dhcpDHCP Konfiguration holen
http://miniserver/dev/cfg/ipIP-Adresse holen
http://miniserver/dev/cfg/maskIP-Maske holen
http://miniserver/dev/cfg/gatewayGateway-Adresse holen
http://miniserver/dev/cfg/deviceMiniserver Gerätenamen holen
http://miniserver/dev/cfg/dns1DNS-Adresse 1 holen
http://miniserver/dev/cfg/dns2DNS-Adresse 2 holen
http://miniserver/dev/cfg/ntpNTP-Adresse holen
http://miniserver/dev/cfg/timezoneoffsetZeitzonenoffset holenX
http://miniserver/dev/cfg/httpHTTP-Port holen
http://miniserver/dev/cfg/ftpFTP-Port holen
http://miniserver/dev/cfg/LoxPLANKonfigurationssoftware-Port holen
http://miniserver/dev/cfg/ftllocalonly‚FTP, Telnet, Softwarezugriff nur lokal erlauben‘ holen

 

SYSTEM BEFEHLE

BefehlFunktionAdministrator Rechte benötigt?
http://miniserver/dev/lan/txpAnzahl LAN gesendete Pakete holen
http://miniserver/dev/lan/txeAnzahl LAN gesendete Pakete mit Fehler holen
http://miniserver/dev/lan/txcAnzahl LAN gesendete Pakete mit Kollision holen
http://miniserver/dev/lan/exhAnzahl LAN Bufferfehler holen
http://miniserver/dev/lan/txuAnzahl LAN Underrunfehler holen
http://miniserver/dev/lan/rxpAnzahl LAN empfangene Pakete holen
http://miniserver/dev/lan/eofAnzahl LAN EOF Fehler holen
http://miniserver/dev/lan/rxoAnzahl LAN Empfangsüberlauffehler holen
http://miniserver/dev/lan/nobAnzahl LAN ‚Kein Empfangsbuffer‘-Fehler holen
http://miniserver/dev/bus/packetssentAnzahl gesendete Pakete am Loxone-Link holen
http://miniserver/dev/bus/packetsreceivedAnzahl empfangene Pakete am Loxone-Link holen
http://miniserver/dev/bus/receiveerrorsAnzahl Empfangsfehler am Loxone-Link holen
http://miniserver/dev/bus/frameerrorsAnzahl Frame-Fehler am Loxone-Link holen
http://miniserver/dev/bus/overrunsAnzahl Überlauffehler am Loxone-Link holen
http://miniserver/dev/bus/parityerrorsAnzahl Paritätsfehler am Loxone-Link holen
http://miniserver/dev/sys/numtasksAnzahl Tasks holen
http://miniserver/dev/sys/cpuCPU-Last holen
http://miniserver/dev/sys/contextswitchesAnzahl Umschaltungen zwischen Tasks holen
http://miniserver/dev/sys/contextswitchesiAnzahl Umschaltungen zwischen Tasks holen, die von Interrupts ausgelöst wurden
http://miniserver/dev/sys/heapSpeichergröße holenX
http://miniserver/dev/sys/intsAnzahl Systeminterrupts holen
http://miniserver/dev/sys/comintsAnzahl Kommunikationsinterrupts holen
http://miniserver/dev/sys/lanintsAnzahl LAN-Interrupts holen
http://miniserver/dev/sys/watchdogWatchdog-Bits holen
http://miniserver/dev/sys/dateLiefert das lokale Datum
http://miniserver/dev/sys/timeLiefert die lokale Zeit
http://miniserver/dev/sys/setdatetimeSystemdatum und -zeit setzen Format: 2010-04-20 14:35:00 oder 2010/20/04 14:35:00
Achtung: Es kann nur ein Datum gesetzt werden dass nach dem Release Termin ist. Bsp.: Release am 20.12.2012 -> Datum 19.12.2012 kann nicht eingestellt werden.
X
http://miniserver/dev/sys/spscycleAnzahl SPS-Zyklen holen
http://miniserver/dev/sys/ntpNTP Anfrage forcieren
http://miniserver/dev/task0/nameTask 0 Name holen
(0- http://nubuserver/dev/sys/numtasks – 1)
http://miniserver/dev/task0/priorityTask 0 Priorität holen
http://miniserver/dev/task0/stackTask 0 Stack holen
http://miniserver/dev/task0/contextswitchesTask 0 Anzahl Umschaltungen holen
http://miniserver/dev/task0/waittimeoutTask 0 Wartezeit in ms holen
http://miniserver/dev/task0/stateTask 0 Status holen
http://miniserver/dev/sys/rebootMiniserver booten
http://miniserver/dev/sys/checkZeigt aktive Loxone Config VerbindungenX
http://miniserver/dev/sys/logoffTrennt bestehende Loxone Config Verbindungen
http://miniserver/dev/sys/sdtestTestet die SD Karte
http://miniserver/dev/sys/lastcpuzeigt letzen Wert der CPU Auslastung und Anzahl der SPS Zyklen
http://miniserver/dev/sys/searchdatalistet die Suchergebnisse X
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/filepatheine Datei abrufen (filepath durch Dateinamen ersetzen) ✓
http://miniserver/dev/fsdel/filepathlöscht eine Datei (filepath durch Dateinamen ersetzen) ✓
http://miniserver/data/statuszeigt Status von Miniserver und allen Extensions X
http://miniserver/statszeigt die Statistiken ✓
http://miniserver/data/weatheru.xmlzeigt die Wetterdaten (nur bei aktivem Wetteservice) X
http://miniserver/data/LoxAPP3.jsonStrukturdatei für die Visualisierung X
http://miniserver/dev/fsget/log/def.logLog abrufen ✓
http://miniserver/dev/sys/ExtStatistics/05000001Statistik der 1-Wire Extension abrufen (05000001 ersetzen durch Seriennummer der Extension) ✓
http://miniserver/dev/sys/AirStatistics/0C000001/DeviceIndexStatistik der Air Geräte abrufen (0C000001 ersetzen durch Seriennummer der Extension) ✓
http://miniserver/dev/sys/updateextUpdate der Extensions starten ✓