Genauere Information zur API
ALLGEMEIN
Webservice Befehle werden sowohl bei internem, als auch externem Zugriff unterstützt.
Der aktuelle Miniserver unterstützt dabei auch HTTPS.
Der Aufbau eines Webservice Befehls ist wie folgt:
http://Benutzer:Passwort@IPAdresseMiniserver/command/control/value
Deshalb sollten bei Verwendung von HTTP (Miniserver Gen.1) beim Eingeben eines Befehls in der Adresszeile die Zugangsdaten vorerst weggelassen werden.
Es erfolgt danach eine Abfrage der Zugangsdaten über ein Fenster im Browser:
Dabei werden für manche Befehle die Zugangsdaten eines Benutzers mit Vollzugriff benötigt.
Danach wird der Befehl ausgeführt, und das Ergebnis im Browser angezeigt.
Im folgendem Beispiel erhalten wir die derzeitige Software Version des Miniservers:
Der Code „200“ bedeutet, dass der Befehl angenommen und verarbeitet wurde.
Aufbau im Detail
- „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) 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 |
CloseOn 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“/> |
Wird ein Visualisierungskennwort benötigt muss der Befehl verschlüsselt gesendet werden. Genauere Infos dazu können sie in unserer API Dokumentation finden.
STATUSÄNDERUNGEN ABFRAGEN
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 | Vollzugriff notwendig? |
http://miniserver/dev/sps/state | SPS Statusabfrage
0 – kein Status |
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 Seriennummer als Parameter mitgegeben werden. |
✓ |
CONFIG BEFEHLE
Befehl | Funktion | Vollzugriff notwendig? |
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 | Vollzugriff notwendig? |
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 Wetterservice) | 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) | ✓ |
Befehle für Geräte
Die folgenden Befehle beziehen sich auf bestimmte Air oder Tree Geräte.
Es werden die Zugangsdaten eines Benutzers mit Vollzugriff benötigt.
http://miniserver/dev/sys/wsdevice/serial/ForceUpdate | Firmware Update eines Gerätes erzwingen |
http://miniserver/dev/sys/wsdevice/serial/Reboot | Gerät neu starten |
Es kann hier aber auch der Gerätename in Loxone Config verwendet werden.
Dafür muss dieser eindeutig sein und darf keine Sonderzeichen enthalten.
Webinterface in einem iFrame verwenden
Um das Webinterface des Miniservers in einem iFrame zu verwenden, muss es mit folgendem Webservice aktiviert werden, da iframes aus Sicherheitsgründen standardmäßig nicht erlaubt sind.
http://miniserver/dev/sys/allowhttpiframe/1