Loxone Webservices

Durch verschiedene Webservice Befehle kann man z.B. über die Adresszeile eines Browsers vom Miniserver Informationen abrufen, Einstellungen vornehmen oder Ausgänge schalten.
Genauere Information zur API

ALLGEMEIN

  • Web-Service-Befehle unterstützen sowohl den internen als auch den externen Zugriff.
  • Der aktuelle Miniserver unterstützt zudem HTTPS.

Der Aufbau eines Web-Service-Befehls lautet wie folgt:

http://user:password@IPAddressMiniserver/command/control/value.

Bei der Verwendung von HTTP werden die Zugangsdaten in der URL im Klartext übertragen!

Aus Sicherheitsgründen wird beim Miniserver Gen. 1 empfohlen, die Zugangsdaten beim Eingeben eines Befehls in die Adressleiste wegzulassen.

Stattdessen fordert der Browser die Login-Daten in einem separaten Fenster an.

Einige Befehle erfordern einen Benutzer mit Vollzugriff.

Nach der Ausführung des Befehls wird das Ergebnis im Browser angezeigt.

Zum Beispiel ruft der folgende Befehl die aktuelle Softwareversion des Miniservers ab:

Wenn der Befehl erfolgreich ist, enthält die Antwort den Statuscode „200“, was bedeutet, dass die Anfrage akzeptiert und verarbeitet wurde.

Aufbau im Detail

  • control: kann jeder Ein- oder Ausgang sein, real oder virtuell. Ausgänge können nur für Statusabfragen verwendet werden.
  • value: Wenn „value“ nicht angegeben wird, wird der aktuelle Wert der Steuerung zurückgegeben.
    • Für digitale Werte sind folgende Eingaben erlaubt:
      • Ein“, „On“, „Aus“, „Off“, „1“, „0“, „Impuls“ oder „Pulse“.

Bei virtuellen digitalen Eingängen mit zwei Ausgängen (z. B. auf/ab, links/rechts, ab Version 1.5.4.16) sind folgende Werte erlaubt:

ImpulsPlus

ImpulsMinus

PulseUp

PulseDown

ImpulsAuf

ImpulsAb

PulseOpen

PulseClose

PlusEin

PlusAus

UpOn

UpOff

AufEin

AufAus

OpenOn

OpenOff

MinusEin

MinusAus

DownOn

DownOff

AbEin

AbAus

CloseOff

CloseOff

  • Für analoge Eingänge sind folgende Werte erlaubt:
    • (0–10 V)-Eingänge arbeiten im Bereich von 0 bis 10,00.
    • Es gibt keine formale Begrenzung (z. B. sind Temperaturen wie 21.5 oder -5.2 gültig).
    • Als Dezimaltrennzeichen wird ein Punkt (.) verwendet.
  • Für Texteingaben sind folgende Werte erlaubt:
    • Der Miniserver verwendet UTF-8, daher sollten alle Zeichen, die von UTF-8 unterstützt werden, korrekt funktionieren.

Beispiel – Impuls Eingang

Bevor ein Puls an das System gesendet werden kann, benötigt der Miniserver einen virtuellen Eingang, der den Befehl akzeptiert.

Sobald der virtuelle Eingang hinzugefügt und im Miniserver gespeichert wurde, muss der Befehl gesendet werden.

Nachfolgend ein Beispiel, wie eine Drittanbieteranwendung einen Pulsbefehl an den Loxone Miniserver sendet:

EN_KB_Computer_Postman_HTT_Command

In diesem Beispiel werden die Standard-Anmeldedaten verwendet (Benutzername: admin, Passwort: admin) sowie der virtuelle Eingang mit dem Namen „Test Input“.

Durch das Drücken der „Senden“-Taste in der Anwendung wird der Befehl über die IP-Adresse an den Miniserver gesendet, dieser meldet sich an und verarbeitet den Befehl.

Wird der Befehl erfolgreich gesendet, lautet die Rückmeldung im XML-Format:

EN_KB_Computer_Postman_HTT_Command_XML_Response

In der Loxone Config wird der virtuelle Eingang für einen kurzen Moment aufleuchten, wenn der „Live View“ aktiviert ist.

EN_KB_Config_Virtual_Input_On

*In these examples, Postman is the 3rd party app being used to send the commands.

STATUS & SCHALTEN

STATUSABFRAGE EINES CONTROL

Befehl http://miniserver/dev/sps/io/LivingroomLight/state
Funktion Gibt den Status des Eingangs zurück.
Antwort <LL control=“dev/sps/io/LivingroomLight“ value=“0″ Code=“200″/>
Befehl http://miniserver/dev/sps/io/LivingroomLight/astate
Funktion Gibt den Wert der angeforderten Ausgänge zurück (entweder ein einheitlicher Wert für alle oder ein „?“ bei unterschiedlichen Werten).
Antwort <LL control=“dev/sps/io/LivingroomLight“ value=“1″ Code=“200″/>
Befehl http://miniserver/dev/sps/io/LivingroomLight/all
Funktion Gibt die Anzahl der angeforderten Ausgänge sowie eine Liste der Werte dieser Ausgänge zurück.
Antwort <LL control=“dev/sps/io/LivingroomLight/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/status
Funktion Listet alle mit dem Miniserver verbundenen Geräte zusammen mit ihrem Status auf.
Antwort <Status Modified=“ „>

<Miniserver Name=“LoxMiniserver“ Internalname=“ “ IP=“ “ Mask=“ “ Gateway=“ “ DHCP=“ “ DNS1=“ “ DNS2=“ “ MAC=“ “ Device=“ “ Version=“ „><Extension Name=“ “ Internalname=“ “ Serial=“ “ Version=“ “ Online=“ „/></Miniserver></Status>

 

Icon Exclamation Mark LoxoneStatusabfragen über den Web-Service sind nur für Ein- und Ausgänge möglich und nicht für Funktionsbausteine.

TASTER

Befehl http://miniserver/dev/sps/io/PushbuttonLivingRoomLight/On
Funktion Steuerung des analogen oder digitalen Eingangs.
Antwort <LL control=“dev/sps/io/PushbuttonLivingRoomLight“ value=“1″ Code=“200″/>

Beispiel – Taster Baustein

Bevor ein Befehl an das System gesendet werden kann, benötigt der Miniserver einen Taster-Funktionsbaustein, der den Befehl akzeptiert.

Sobald der Taster hinzugefügt und im Miniserver gespeichert wurde, muss der Befehl gesendet werden.

Nachfolgend ein Beispiel, wie eine Drittanbieteranwendung einen „On“-Befehl an den Loxone Miniserver sendet:

EN_KB_Computer_Postman_HTTP_Command

In diesem Beispiel werden die Standard-Anmeldedaten verwendet (Benutzername: admin, Passwort: admin) sowie der Taster mit dem Namen „Push-Button“. Durch das Drücken der „Senden“-Taste in der Anwendung wird der Befehl über die IP-Adresse an den Miniserver gesendet, dieser meldet sich an und verarbeitet den Befehl. Der letzte Teil des Befehls kann je nach Situation auf „On“ oder „Off“ geändert werden.

Wird der Befehl erfolgreich gesendet, lautet die Rückmeldung im XML-Format:

EN_KB_Computer_Postman_HTT_Command_XML_Response

Der Code „200“ bedeutet, dass der Befehl akzeptiert und verarbeitet wurde.

Im Loxone Interface wird der Taster je nach gesendetem Befehl („On“/„Off“) den Zustand entsprechend ändern.

*In diesen Beispielen wird die Drittanbieteranwendung „Postman“ verwendet, um die Befehle zu senden.

ABFRAGE: STATUSÄNDERUNGEN

Befehl http://miniserver/dev/sps/enablestatusupdate
Funktion Aktiviert das automatische Senden von Statusänderungen über WebSocket.
Antwort Sendet den aktuellen Status über WebSocket.

Miniserver-Konfiguration, Statistiken & Befehle

Die folgenden Befehle bieten Systemsteuerung, SPS-Operationen, Netzwerkstatistiken und Konfigurationsoptionen für den Miniserver.

1. SPS-Befehle (Speicherprogrammierbare Steuerung) oder PLC-Befehle (Programmable Logic Controller)

Diese Befehle ermöglichen es Ihnen, das SPS-System zu überwachen und zu steuern.

Befehl Funktion
http://<miniserver-ip>/dev/sps/state Abrufen des SPS-Status (0–8 Zustände):

0 – Kein Status
1 – SPS wird gestartet
2 – SPS-Programm geladen
3 – SPS gestartet
4 – Loxone Link gestartet
5 – SPS läuft
6 – SPS-Änderung
7 – SPS-Fehler
8 – Update läuft

http://<miniserver-ip>/dev/sps/status Abrufen der aktuellen SPS-Frequenz
http://<miniserver-ip>/dev/sps/restart Neustart der SPS
http://<miniserver-ip>/dev/sps/stop Stoppen der SPS
http://<miniserver-ip>/dev/sps/run Fortsetzen der SPS-Ausführung
http://<miniserver-ip>/dev/sps/log/ip Aktivieren des Loggings auf eine bestimmte IP-Adresse
http://<miniserver-ip>/dev/sps/log Beenden des Loggings
http://<miniserver-ip>/dev/sps/enumdev Liste aller SPS-Geräte (Miniserver & Erweiterungen) anzeigen
http://<miniserver-ip>/dev/sps/enumin Liste aller SPS-Eingänge anzeigen
http://<miniserver-ip>/dev/sps/enumout Liste aller SPS-Ausgänge anzeigen
http://<miniserver-ip>/dev/sps/identify Identifizierung des Miniservers oder der Erweiterungen (erfordert Seriennummer)

2. Konfigurationsbefehle

Diese Befehle ermöglichen es Ihnen, Miniserver-Einstellungen abzurufen oder zu ändern.

Befehl Funktion
http://<miniserver-ip>/dev/cfg/mac MAC-Adresse abrufen
http://<miniserver-ip>/dev/cfg/version Firmware-Version abrufen
http://<miniserver-ip>/dev/cfg/versiondate Produktionsdatum der Firmware abrufen
http://<miniserver-ip>/dev/cfg/dhcp DHCP-Konfiguration abrufen oder festlegen
http://<miniserver-ip>/dev/cfg/ip IP-Adresse abrufen oder festlegen
http://<miniserver-ip>/dev/cfg/mask IP-Maske abrufen oder festlegen
http://<miniserver-ip>/dev/cfg/gateway Gateway-Adresse abrufen oder festlegen
http://<miniserver-ip>/dev/cfg/device Miniserver-Gerätenamen abrufen oder festlegen
http://<miniserver-ip>/dev/cfg/dns1 DNS-Adresse 1 abrufen oder festlegen
http://<miniserver-ip>/dev/cfg/dns2 DNS-Adresse 2 abrufen oder festlegen
http://<miniserver-ip>/dev/cfg/ntp NTP-Adresse abrufen oder festlegen
http://<miniserver-ip>/dev/cfg/timezoneoffset Zeitzonen-Offset abrufen oder festlegen
http://<miniserver-ip>/dev/cfg/http HTTP-Port abrufen oder festlegen
http://<miniserver-ip>/dev/cfg/ftp FTP-Port abrufen oder festlegen
http://<miniserver-ip>/dev/cfg/ftllocalonly Lokalen Zugriff auf „FTP, Telnet und lokale Software“ abrufen oder festlegen

3. Systemüberwachungsbefehle

Diese Befehle liefern Informationen zur Systemleistung und Statistiken

Befehl Funktion
http://<miniserver-ip>/dev/sys/numtasks Anzahl der Aufgaben abrufen
http://<miniserver-ip>/dev/sys/cpu CPU-Auslastung abrufen
http://<miniserver-ip>/dev/sys/heap Speicherauslastung abrufen
http://<miniserver-ip>/dev/sys/ints Anzahl der System-Interrupts abrufen

4. Datum- und Uhrzeitverwaltung

Systemdatum und -uhrzeit verwalten

Command Funktion
http://<miniserver-ip>/dev/sys/date Lokales Datum abrufen
http://<miniserver-ip>/dev/sys/time Lokale Uhrzeit abrufen
http://<miniserver-ip>/dev/sys/setdatetime Systemdatum und -uhrzeit festlegen(Format: YYYY-MM-DD HH:MM:SS or DD/MM/YYYY HH:MM:SS)
http://<miniserver-ip>/dev/sys/ntp NTP-Anfrage erzwingen

5. Task-Überwachung

Status und Eigenschaften der Systemaufgaben abrufen

Befehl Funktion
http://<miniserver-ip>/dev/task0/name Name der Aufgabe 0 abrufen
http://<miniserver-ip>/dev/task0/priority Priorität der Aufgabe 0 abrufen
http://<miniserver-ip>/dev/task0/stack Stack-Nutzung der Aufgabe 0 abrufen
http://<miniserver-ip>/dev/task0/contextswitches Anzahl der Kontextwechsel von Aufgabe 0 abrufen
http://<miniserver-ip>/dev/task0/waittimeout Wartezeit der Aufgabe 0 abrufen (ms)
http://<miniserver-ip>/dev/task0/state Status der Aufgabe 0 abrufen

6. Systemsteuerung & Dateiverwaltung

Diese Befehle ermöglichen das Neustarten des Miniservers und die Verwaltung von Systemdateien.

Befehl Funktion
http://<miniserver-ip>/dev/sys/reboot Miniserver neu starten
http://<miniserver-ip>/dev/sys/wsextension/<serial>/Reboot Eine spezifische Erweiterung neu starten
http://<miniserver-ip>/dev/sys/check Aktive Verbindungen überprüfen
http://<miniserver-ip>/dev/sys/logoff Alle Verbindungen abmelden
http://<miniserver-ip>/dev/sys/sdtest SD-Karte testen
http://<miniserver-ip>/dev/fslist/ Root-Verzeichnis der SD-Karte auflisten
http://<miniserver-ip>/dev/fslist/path/ Speziellen Verzeichnispfad auflisten
http://<miniserver-ip>/dev/fsget/filepath/ Datei von der SD-Karte abrufen
http://<miniserver-ip>/dev/fsdel/filepath/ Datei von der SD-Karte löschen

7. Systemprotokolle (logs) & Statistiken

Protokolle (logs) und Systemdaten abrufen

Befehl Funktion
http://<miniserver-ip>/data/status Systemstatus im XML-Format ausgeben
http://<miniserver-ip>/stats Systemstatistiken anzeigen
http://<miniserver-ip>/dev/fsget/log/def.log Protokolldatei abrufen (Log File)
http://<miniserver-ip>/dev/sys/updatetolatestrelease Miniserver auf die neueste Firmware aktualisieren

8. Ausführung externer Web-Services

Web-Service-Anfragen an externe Geräte senden

Befehl Funktion
http://<miniserver-ip>/jdev/sys/sendwebservice?json={"address":"192.168.1.70", "webservice":"/monitor/logs/lwsd"} Web-Service-Anfrage vom Miniserver an ein anderes Gerät im Netzwerk senden

Befehle für Geräte

Extensions

Die folgenden Befehle gelten für Erweiterungen.

Zur Ausführung ist ein Benutzer mit Vollzugriffsrechten erforderlich.

http://<miniserver-ip>/dev/sys/wsextension/<serial>/ForceUpdate/0C000001/DeviceIndex Erzwingt ein Firmware-Update für ein bestimmtes Gerät.
http://<miniserver-ip>/dev/sys/wsextension/<serial>/Reboot Startet das angegebene Gerät neu.

Tree und Air Geräte

Die folgenden Befehle gelten für bestimmte Air- oder Tree-Geräte.

Zur Ausführung ist ein Benutzer mit Vollzugriffsrechten erforderlich.

http://<miniserver-ip>/dev/sys/wsdevice/<serial>/ForceUpdate/0C000001/DeviceIndex Erzwingt ein Firmware-Update für ein bestimmtes Gerät.
http://<miniserver-ip>/dev/sys/wsdevice/<serial>/Reboot Startet das angegebene Gerät neu.
Die Seriennummer des Geräts (ohne Doppelpunkte) muss anstelle von <serial> verwendet werden.

Alternativ kann der Gerätename aus der Loxone Config verwendet werden.

Wenn der Gerätename verwendet wird, muss er eindeutig sein und darf keine Sonderzeichen enthalten.

Verwendung der Miniserver-Weboberfläche in einem iFrame

Standardmäßig erlaubt der Miniserver aus Sicherheitsgründen keine Einbettung in einen iFrame. Um diese Funktion zu aktivieren, muss sie explizit mit dem folgenden Web-Service-Befehl freigegeben werden:

http://<miniserver-ip>/dev/sys/allowhttpiframe/1