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

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/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“/>

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

 

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 Administrator Rechte benötigt?
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

 X
http://miniserver/dev/sps/status aktuelle SPS Frequenz abfragen  X
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 (Miniserver,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 Miniserver identifizieren
Für Erweiterungen muss die Seriennumer als Parameter mitgegeben werden.

 

 

CONFIG BEFEHLE

Befehl Funktion Administrator Rechte benötigt?
http://miniserver/dev/cfg/mac MAC-Adresse holen X
http://miniserver/dev/cfg/version Firmware Version holen X
http://miniserver/dev/cfg/versiondate Erstellungsdatum der Firmware holen X
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 X
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 Administrator Rechte benötigt?
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 X
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
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/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 X
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  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/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  X
http://miniserver/stats zeigt die Statistiken  ✓
http://miniserver/data/weatheru.xml zeigt die Wetterdaten (nur bei aktivem Wetteservice)  X
http://miniserver/data/LoxAPP3.json Strukturdatei für die Visualisierung  X
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)  ✓