Direkter Aufruf von Items in openHAB 3 (ohne Classic-UI)

Ich habe einen Anwendungsfall in unserem SmartHome, der scheinbar nicht so gängig ist. 🙂

Wenn mein BEDDI-Wecker beim Aufstehen klingelt, soll das Licht langsam gedimmt werden. Das hat mit dem Smarten Wecker und openHAB 2.x mit der Classic-UI per HTTP-Aufruf gut funktioniert. In openHAB 3.x ist die Classic-UI nun nicht mehr dabei. Der BEDDI-Wecker kann nur HTTP-Aufrufe direkt durchführen und hat sonst keine andere Schnittstelle zur Verfügung.

Ich wollte also mit openHAB 3.x wieder Items direkt per HTTP steuern und integrieren (ja mir ist das „Sicherheitsrisiko“ bewusst).

Die erste Idee habe ich hier gefunden: https://community.openhab.org/t/external-link-towards-openhab-item/48227/4. Das hat auch im Browser gut funktioniert, aber nicht auf dem BEDDI.

Dann habe ich eine Lösung auf Basis NGINX gefunden (den hatte ich wegen der HueEmulation + Alexa schon installiert). Die Lösung wird hier im Forum beschrieben: https://community.openhab.org/t/how-to-change-an-openhab-switch-with-http-commands/35063/8.

Die Lösung war aber noch auf Basis openHAB 2 und hat mit 3.x nicht direkt funktioniert. Hier ist die Lösung die ich bei mir nun im Einsatz habe:

  location ~ /statechanger/POST/([^/]+)/([^/]+) {
    proxy_pass http://IP:PORT/rest/items/$1;
    proxy_set_header content-type "text/plain";
    proxy_set_header accept "application/json";
    proxy_method POST;
    proxy_set_body $2;
  }

  location ~ /statechanger/PUT/([^/]+)/([^/]+) {
    proxy_pass http://IP:PORT/rest/items/$1/state;
    proxy_set_header content-type "text/plain";
    proxy_set_header accept "application/json";
    proxy_method PUT;
    proxy_set_body $2;
  }

Für die Verwendung mit openHAB 3.x musste ich noch die Header entsprechend anpssen. Hier waren der content-type und das accept wichtig.

So konnte man mit den vorhandenen bereits installierten Komponenten auch direkt eine HTTP-Steuerung von außen der openHAB-Items wieder reaktivieren.

Habt Ihr das Szenario bei euch im SmartHome auch? Oder bin ich der Einzige der openHAB-Items außerhalb des Systems aktivieren möchte?

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.