smarthome-tricks.de

ioBroker Simple-API Adapter

In diesem Artikel zeige ich Dir die Möglichkeiten der Nutzung des Simple-API Adapters. Mit dem Simple-API Adapter kann einfach und schnell ein lesender oder schreibender Zugriff auf die Datenpunkte von ioBroker geschaffen werden. Gerade in Verbindung mit anderen Diensten oder smarten IOT Geräten sind hier viele verschiedene Szenarien der Nutzung denkbar. In dem Beispiel zeige ich, wie externe Sensoren über diese API an ioBroker angebunden werden können. Der Adapter stellt für den Zuriff einen extra HTTP-Zugriff via GET und POST zur Verfügung.

Im ersten Schritt installieren wir zunächst den Adapter über die Administrationsoberfläche.

 

Nach dem der Adapter installiert wurde können wir den Adapter konfigurieren. In der Konfiguration können wir den verwendeten Web-Adapter, die IP, sowie den Port anpassen. Zudem stehen Optionen zur Verschlüsselung und Authentifizierung zur Auswahl. In meinem Beispiel habe ich alle Einstellungen des Adapters so belassen, der Webservice sollte uns jetzt somit auf dem HTTP-Port 8087 zur Verfügung stehen.

Um im ersten Schritt jetzt die Erreichbarkeit und somit Funktionalität des Adapters testen zu können, rufen wir die integrierte Hilfe-Funktion des Adapters auf. Diese gibt uns ein JSON-String im Webbrowser mit den verschiedenen Möglichkeiten des Adapters zurück:

 

Mit folgendem Aufruf erhalten wir die Ausgabe:

http://192.168.2.90:8087/help

Als IP-Adresse wird die ioBroker IP-Adresse sowie der eingestellte Port im Simple-API Adapter verwendet.

{
  "getPlainValue": "http://192.168.2.90:8087/getPlainValue/stateID",
  "get": "http://192.168.2.90:8087/get/stateID/?prettyPrint",
  "getBulk": "http://192.168.2.90:8087/getBulk/stateID1,stateID2/?prettyPrint",
  "set": "http://192.168.2.90:8087/set/stateID?value=1&prettyPrint",
  "toggle": "http://192.168.2.90:8087/toggle/stateID&prettyPrint",
  "setBulk": "http://192.168.2.90:8087/setBulk?stateID1=0.7&stateID2=0&prettyPrint",
  "setValueFromBody": "http://192.168.2.90:8087/setValueFromBody?stateID1",
  "objects": "http://192.168.2.90:8087/objects?pattern=system.adapter.admin.0*&prettyPrint",
  "states": "http://192.168.2.90:8087/states?pattern=system.adapter.admin.0*&prettyPrint"
}

 

Für unser Beispiel habe ich zusätzliche Datenpunkte in meinen eigenen Datenpunkten definiert. Der folgende Screenshot veranschaulicht die Datenpunkte:

 

 



 

 

Datenpunkte verändern
Mit dem folgenden Aufruf können wir über einen HTTP-Aufruf einen Datenpunkt verändern.

http://192.168.2.90:8087/set/Datenpunkte.0.Sensordata.Outdoor2.Temperatur?value=20


Datenpunkte auslesen (kompletter Datenpunkt)
Mit dem folgenden Aufruf können wir einen kompletten Datenpunkt im JSON-Format über einen HTTP-Aufruf auslesen.

http://192.168.2.90:8087/get/Datenpunkte.0.Sensordata.Outdoor2.Temperatur


Datenpunkte auslesen (kompletter Datenpunkt)
Mit dem folgenden Aufruf können wir einen einzelnen Wert (PlainValue) des Datenpunktes auslesen und zurückgeben.

http://192.168.2.90:8087/getPlainValue/Datenpunkte.0.Sensordata.Outdoor2.Temperatur

Weitere Aufruf-Möglichkeiten der HTTP-API

In einem nächsten Bauprojekt werde ich einen Sensor über diese Möglichkeit der Kommunikation anbinden und natürlich wie immer darüber berichten.
Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer ?

Die mobile Version verlassen