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.
Genauere Information zu unserer API können sie Hier finden.

 

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/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 der Befehl verschlüsselt gesendet werden. Genauere Infos dazu können sie in unserer API Dokumentation finden.

 

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/
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/cpuCPU-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/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/
setdatetime
Systemdatum 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.
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
/contextswitches
Task 0 Anzahl Umschaltungen holen
http://miniserver/dev/task0/
waittimeout
Task 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
/searchdata
listet 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/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) ✓