Meer gedetailleerde informatie over de API
ALGEMEEN
- Web Service Commando’s ondersteunen zowel interne als externe toegang.
- De huidige Miniserver ondersteunt ook HTTPS.
De structuur van een webservice commando is als volgt
http(s)://User:Password@IPAdressMiniserver/command/control/value
Daarom moeten bij gebruik van HTTP (Miniserver Gen.1) de toegangsgegevens voorlopig worden weggelaten wanneer in de adresregel een opdracht wordt ingevoerd.
De toegangsgegevens worden dan opgevraagd via een venster in de browser::
Sommige commando’s vereisen de toegangsgegevens van een gebruiker met volledige toegang.
Vervolgens wordt het commando uitgevoerd en wordt het resultaat in de browser weergegeven.
In het volgende voorbeeld zien we de huidige softwareversie van de miniserver:
Structuur in detail
- control: kan elke ingang of uitgang zijn, echt of virtueel. Uitgangen kunnen alleen worden gebruikt voor statusverzoeken.
- value: wanneer ‘waarde’ niet beschikbaar is, wordt de huidige controlewaarde geretourneerd.
- De volgende waarden zijn toegestaan voor digitale waarden:
- “Ein“, “On“, “Aus“, “Off“, “1“, “0“, “Impuls” of “Pulse“.
- De volgende waarden zijn toegestaan voor digitale waarden:
- Virtuele digitale ingangen met 2 uitgangen (omhoog-omlaag, links-rechts, vanaf versie 1.5.4.16), de volgende waarden zijn toegestaan.
ImpulsPlus
ImpulsMinus |
PulseUp
PulseDown |
ImpulsAuf
ImpulsAb |
PulseOpen
PulseClose |
PlusEin
PlusAus |
UpOn
UpOff |
AufEin
AufAus |
OpenOn
OpenOff |
MinusEin
MinusAus |
DownOn
DownOff |
AbEin
AbAus |
CloseOff
CloseOff |
-
- De volgende waarden zijn toegestaan voor analoge ingangen:
- (0-10V) ingangen werken binnen een bereik van 0 tot 10.00.
- Er is geen formele limiet (bijvoorbeeld temperaturen van 21.5 of -5.2 zijn geldig).
- Een punt (
.
) wordt gebruikt als decimale scheidingsteken.
- De volgende waarden zijn toegestaan voor tekstinvoeren:
- De Miniserver werkt met UTF-8, dus elk teken dat door UTF-8 wordt ondersteund, zou correct moeten werken.
- De volgende waarden zijn toegestaan voor analoge ingangen:
Voorbeeld – Pulse
Voordat je een impuls naar het systeem stuurt, heeft je Miniserver een Virtuele ingang nodig die het commando accepteert.
Nu, zodra we onze Virtuele Ingang hebben toegevoegd en opgeslagen in de Miniserver, moet het commando worden verstuurd. Hieronder een voorbeeld van een 3e partij applicatie* die een impulscommando naar de Loxone Miniserver stuurt:
In dit voorbeeld hebben we de standaard referenties (gebruikersnaam: admin, wachtwoord: admin) en de virtuele ingang in het commando die de naam ‘Test Input’ heeft. Door op de knop ‘Send’ te drukken, zal de string het IP-adres gebruiken om de Miniserver in het netwerk te vinden, in te loggen en vervolgens het commando te verwerken.
Als het verzendcommando wordt geaccepteerd, zal het geretourneerde antwoord in XML-formaat zijn:
Je zult ook in Loxone Config zien dat de Virtuele Ingang een split second oplicht als ‘Live View’ actief is:
*In deze voorbeelden wordt Postman gebruikt als de 3e partij app die de commando’s verstuurt.
STATUS EN CONTROLE
QUERY: STATUS VAN EEN BESTURINGSELEMENT
Commando | http://miniserver/dev/sps/io/LivingroomLight/state |
Functie | Levert de status van de ingang |
Antwoord | <LL control=”dev/sps/io/LivingroomLight” value=”0″ Code=”200″/> |
Commando | http://miniserver/dev/sps/io/LivingroomLight/astate |
Functie | Levert de waarde van de toegewezen uitgangen (een unieke waarde voor alle – of een ? bij verschillende waarden) |
Antwoord | <LL control=”dev/sps/io/LivingroomLight” value=”1″ Code=”200″/> |
Commando | http://miniserver/dev/sps/io/LivingroomLight/al |
Functie | Levert het aantal toegewezen uitgangen en een lijst met de waarden van alle uitgangen. |
Antwoord | <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″/> |
Commando | http://miniserver/status |
Functie | Vermeldt alle apparaten die op de Miniserver aangesloten zijn, samen met hun status. |
Antwoord | <Status Modified=” “> <Miniserver Name=”LoxMiniserver” Internalname=” ” IP=” ” Mask=” ” Gateway=” ” DHCP=” ” DNS1=” ” DNS2=” ” MAC=” ” Device=” ” Version=” “><Extension Name=” ” Internalname=” ” Serial=” ” Version=” ” Online=” “/></Miniserver></Status> |
Statusopvraging via webservice is alleen mogelijk bij in- en uitgangen, niet bij bouwstenen.
Drukknop
Commando | http://miniserver/dev/sps/io/PushbuttonLivingRoomLight/On |
Functie | De analoge of digitale ingang bedienen |
Antwoord | <LL control=”dev/sps/io/PushbuttonLivingRoomLight” value=”1″ Code=”200″/> |
Voorbeeld – Drukknop
Voordat een commando naar het systeem wordt verzonden, heeft je Miniserver een Drukknop functiebouwsteen nodig dat het commando accepteert.
Nu we de Drukknop hebben toegevoegd en opgeslagen op de Miniserver, moet het commando worden verzonden. Hieronder staat een voorbeeld van een externe applicatie* die een ‘On’-commando naar de Loxone Miniserver stuurt:
In dit voorbeeld hebben we de standaard referenties (gebruikersnaam: admin, wachtwoord: admin) en de Drukknop in het commando met de naam ‘Push-Button’. Door op de knop ‘Send’ te drukken, zal de string het IP-adres gebruiken om de Miniserver op het netwerk te vinden, in te loggen en het commando te verwerken. We kunnen het laatste deel van het commando aanpassen naar ‘On’ of ‘Off’, afhankelijk van de situatie.
Als het verzonden commando wordt geaccepteerd, is de geretourneerde reactie in XML-formaat:
Code “200” betekent dat het commando werd geaccepteerd en verwerkt.
Je zult ook zien dat de Drukknop in de Loxone App/Webinterface van staat verandert, afhankelijk van welk commando wordt verzonden (aan/uit).
*In dit voorbeeld wordt Postman gebruikt als externe applicatie om de commando’s te versturen.
QUERY: STATUSWIJZIGINGEN
Commando | http://miniserver/dev/sps/enablestatusupdate |
Functie | Schakelt de automatische verzending van statuswijzigingen in via WebSocket. |
Antwoord | Stuurt de huidige status via WebSocket |
Miniserver Configuratie, Statistieken & Commando’s
De volgende commando’s bieden systeemcontrole, PLC commando’s, netwerkstatistieken en configuratie commando’s voor de Miniserver.
1. PLC Commando’s (Programmable Logic Controller)
Deze commando’s stellen je in staat om het PLC-systeem te monitoren en te bedienen.
Commando | Functie |
---|---|
http://<miniserver-ip>/dev/sps/state |
Haal PLC-status op (0-8 statussen)
0 – Geen status 1 – PLC start op 2 – PLC-programma is geladen 3 – PLC is gestart 4 – Loxone Link is gestart 5 – PLC draait 6 – PLC wijziging 7 – PLC fout 8 – Update is bezig |
http://<miniserver-ip>/dev/sps/status |
Haal de huidige PLC-frequentie op |
http://<miniserver-ip>/dev/sps/restart |
Herstart de PLC |
http://<miniserver-ip>/dev/sps/stop |
Stop de PLC |
http://<miniserver-ip>/dev/sps/run |
Herstart de PLC-uitvoering |
http://<miniserver-ip>/dev/sps/log/ip |
Schakel logging in naar een specifiek IP-adres |
http://<miniserver-ip>/dev/sps/log |
Stop logging |
http://<miniserver-ip>/dev/sps/enumdev |
Lijst alle PLC-apparaten (Miniserver & uitbreidingen) |
http://<miniserver-ip>/dev/sps/enumin |
Lijst alle PLC-ingangen |
http://<miniserver-ip>/dev/sps/enumout |
Lijst alle PLC-uitgangen |
http://<miniserver-ip>/dev/sps/identify |
Identificeer de Miniserver of uitbreidingen (serialnummer vereist) |
2. Configuratie Commando’s
Deze commando’s stellen je in staat om Miniserver-instellingen op te halen of te wijzigen.
Commando | Functie |
---|---|
http://<miniserver-ip>/dev/cfg/mac |
MAC-adres ophalen |
http://<miniserver-ip>/dev/cfg/version |
Firmwareversie ophalen |
http://<miniserver-ip>/dev/cfg/versiondate |
Productiedatum firmware ophalen |
http://<miniserver-ip>/dev/cfg/dhcp |
DHCP-configuratie ophalen of instellen |
http://<miniserver-ip>/dev/cfg/ip |
IP-adres ophalen of instellen |
http://<miniserver-ip>/dev/cfg/mask |
IP-mask ophalen of instellen |
http://<miniserver-ip>/dev/cfg/gateway |
Gateway-adres ophalen of instellen |
http://<miniserver-ip>/dev/cfg/device |
Miniserver-apparaatnaam ophalen of instellen |
http://<miniserver-ip>/dev/cfg/dns1 |
DNS-adres ophalen of instellen 1 |
http://<miniserver-ip>/dev/cfg/dns2 |
DNS-adres ophalen of instellen 2 |
http://<miniserver-ip>/dev/cfg/ntp |
NTP-adres ophalen of instellen |
http://<miniserver-ip>/dev/cfg/timezoneoffset |
Tijdzone offset ophalen of instellen |
http://<miniserver-ip>/dev/cfg/http |
HTTP-poort ophalen of instellen |
http://<miniserver-ip>/dev/cfg/ftp |
FTP-poort ophalen of instellen |
http://<miniserver-ip>/dev/cfg/ftllocalonly |
Lokale toegang opvragen of instellen voor “FTP, Telnet en lokale software”. |
3. Commando’s voor systeembewaking
Deze commando’s bieden informatie over de systeemprestaties en statistieken.
Opdracht | Functie |
---|---|
http://<miniserver-ip>/dev/sys/numtasks |
Haal het aantal taken op |
http://<miniserver-ip>/dev/sys/cpu |
Haal CPU-belasting op |
http://<miniserver-ip>/dev/sys/heap |
Haal geheugengebruik op |
http://<miniserver-ip>/dev/sys/ints |
Haal het aantal systeemonderbrekingen op |
4. Datum- en tijdbeheer
Beheer systeemdatum- en tijdinstellingen.
Opdracht | Functie |
---|---|
http://<miniserver-ip>/dev/sys/date |
Haal lokale datum op |
http://<miniserver-ip>/dev/sys/time |
Haal lokale tijd op |
http://<miniserver-ip>/dev/sys/setdatetime |
Stel systeemdatum en -tijd in (Formaat: YYYY-MM-DD HH:MM:SS of DD/MM/YYYY HH:MM:SS ) |
http://<miniserver-ip>/dev/sys/ntp |
Forceer NTP-aanvraag |
5. Taakbewaking
Haal status en eigenschappen van systeemtaken op.
Opdracht | Functie |
---|---|
http://<miniserver-ip>/dev/task0/name |
Haal de naam van Taak 0 op |
http://<miniserver-ip>/dev/task0/priority |
Haal prioriteit van Taak 0 op |
http://<miniserver-ip>/dev/task0/stack |
Haal het gebruik van de stack van Taak 0 op |
http://<miniserver-ip>/dev/task0/contextswitches |
Haal het aantal contextwisselingen van Taak 0 op |
http://<miniserver-ip>/dev/task0/waittimeout |
Haal de wachttijd (ms) van Taak 0 op |
http://<miniserver-ip>/dev/task0/state |
Haal de status van Taak 0 op |
6. Systeembeheer en Bestandsbeheer
Deze commando’s maken het mogelijk om de Miniserver opnieuw op te starten en systeembestanden te beheren.
Opdracht | Functie |
---|---|
http://<miniserver-ip>/dev/sys/reboot |
Herstart Miniserver |
http://<miniserver-ip>/dev/sys/wsextension/<serial>/Reboot |
Herstart een specifieke Extension |
http://<miniserver-ip>/dev/sys/check |
Controleer actieve verbindingen |
http://<miniserver-ip>/dev/sys/logoff |
Alle Loxone Config verbindingen uitloggen |
http://<miniserver-ip>/dev/sys/sdtest |
Test SD-kaart |
http://<miniserver-ip>/dev/fslist/ |
Toon de rootdirectory van de SD-kaart |
http://<miniserver-ip>/dev/fslist/path/ |
Toon een specifiek directorypad |
http://<miniserver-ip>/dev/fsget/filepath/ |
Haal een bestand van de SD-kaart op |
http://<miniserver-ip>/dev/fsdel/filepath/ |
Verwijder een bestand van de SD-kaart |
7. Systeemlogboeken en Statistieken
Haal logboeken en systeemsgegevens op.
Opdracht | Functie |
---|---|
http://<miniserver-ip>/data/status |
Toon de systeemstatus in XML |
http://<miniserver-ip>/stats |
Toon systeemstatistieken |
http://<miniserver-ip>/dev/fsget/log/def.log |
Haal logbestand op |
http://<miniserver-ip>/dev/sys/updatetolatestrelease |
Update Miniserver naar de nieuwste firmware |
8. Externe Webservice-uitvoering
Stuur webservice-aanvragen naar externe apparaten.
Opdracht | Functie |
---|---|
http://<miniserver-ip>/jdev/sys/sendwebservice?json={"address":"192.168.1.70", "webservice":"/monitor/logs/lwsd"} |
Stuur een webservice-aanvraag naar een ander apparaat in het netwerk vanaf de Miniserver |
Commando’s voor Apparaten
Extensions
De volgende commando’s zijn van toepassing op Extensions.
Om ze uit te voeren, is een gebruiker met volledige toegangsrechten vereist.
http://<miniserver-ip>/dev/sys/wsextension/<serial>/ForceUpdate/0C000001/DeviceIndex | Dwing een firmware-update af voor een specifiek apparaat. |
http://<miniserver-ip>/dev/sys/wsextension/<serial>/Reboot | Herstart het opgegeven apparaat. |
Tree en Air Apparaten
De volgende commando’s zijn van toepassing op specifieke Air of Tree apparaten.
Om ze uit te voeren, is een gebruiker met volledige toegangsrechten vereist.
http://<miniserver-ip>/dev/sys/wsdevice/<serial>/ForceUpdate/0C000001/DeviceIndex | Forceer een firmware-update voor een specifiek apparaat |
http://<miniserver-ip>/dev/sys/wsdevice/<serial>/Reboot | Herstart het opgegeven apparaat |
Gebruik van de Miniserver Webinterface in een iFrame
Standaard staat de Miniserver om veiligheidsredenen insluiting in een iFrame niet toe. Als u deze functionaliteit wilt inschakelen, moet u dit expliciet toestaan met het volgende webservicecommando:
http://<miniserver-ip>/dev/sys/allowhttpiframe/1