Webservice

Met behulp van verschillende Web Service Commando’s kunt u informatie van de Miniserver ophalen via de adresbalk van een browser, instellingen aanpassen of uitgangen schakelen.
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

Bij gebruik van HTTP worden de toegangsgegevens in de URL in platte tekst verzonden! 

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“.
  • 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.

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:

EN_KB_Computer_Postman_HTT_Command

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:

EN_KB_Computer_Postman_HTT_Command_XML_Response

Je zult ook in Loxone Config zien dat de Virtuele Ingang een split second oplicht als ‘Live View’ actief is: EN_KB_Config_Virtual_Input_On

*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:

EN_KB_Computer_Postman_HTTP_Command

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:

EN_KB_Computer_Postman_HTT_Command_XML_Response

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
Het serienummer van het apparaat (zonder dubbele punten) moet worden gebruikt in plaats van <serial>. Als alternatief kan de apparaatnaam uit Loxone Config gebruikt worden. Als de apparaatnaam wordt gebruikt, moet deze uniek zijn en geen speciale tekens bevatten.

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