Beispiele
In folgendem Beispiel möchten wir ein Licht über die REST API schalten.
Bevor wir beginnen können, müssen zuerst betreffende Vorbereitungen zur Authentifizierung getroffen werden (siehe Punkte "Vorbereitung" sowie "Authentifizierung"). Mit dem dadurch erhaltenen Token können nun alle Anfragen und Befehle gesendet werden.
Zuerst senden wir eine GET Anfrage an "http://[evonHOME_IP]/api/instances"
und erhalten eine Liste mit allen Instanzen, die aktuell auf dem evonHOME System aktiv sind.
"statusCode": 200,
"statusText": "success",
"data": [
{
"ID": "SC1_M04.Light1",
"ClassName": "SmartCOM.Light.Light",
"Name": "Arbeitslicht",
Group": "AreaOutdoor
},
...
]
}```
Da wir ein Licht schalten wollen, wählen wir hier das 'Arbeitslicht' und verwenden den "ClassName": "SmartCOM.Light.Light" um eine GET Anfrage an `"http://[evonHOME_IP]/api/apps/SmartCOM.Light.Light"` zu senden und die verfügbaren Methoden und Eigenschaften zu erhalten.
```{
"statusCode": 200,
"statusText": "success",
"data": {
"methods": [
{
"parameter": [],
"name": "SwitchOn",
"type": 0,
"derived": false,
"tags": [
linkable
],
"returnType": "void",
"description": "Einschalten",
"isStatic": false
},
...
],
"properties": [
{
"name": "IsOn",
"type": "boolean",
"remark": "Licht eingeschaltet",
"declaration": "2",
"derived": true,
"parameter": false,
"tags": [
linkable
],
"isStatic": false
},
...
],
"fullName": "SmartCOM.Light.Light",
"displayName": "Licht",
"autoStart": false
}
}```
Nun senden wir eine POST Anfrage an `"http://[evonHOME_IP]/api/instances/SC1_M04.Light1/SwitchOn"`
mit folgenden Parametern im Header:
- instanceId: SC1_M04.Light1
- action: SwitchOn
- body: [ ]
Dadurch wir die betreffende Licht Methode aufgerufen und das Licht wird eingeschalten. Wir können den aktuellen Status auch überprüfen, indem wir eine GET Anfrage an `"http://[evonHOME_IP]/api/instances/SC1_M04.Light1/IsOn"` senden. Als Antwort erhalten wir den aktuellen Status, in diesem Fall 'true'.
```{
"statusCode": 200,
"statusText": "success",
"data": true
}```