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.
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“.
- Für digitale Werte sind folgende Eingaben erlaubt:
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:
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:
In der Loxone Config wird der virtuelle Eingang für einen kurzen Moment aufleuchten, wenn der „Live View“ aktiviert ist.
*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> |
Statusabfragen ü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:
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:
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 |
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. |
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