HOWTO: Direktes Senden von Befehlen vom SHC an OpenHAB

  • Hallo zusammen,


    für alle, die LIVISI-Smarthome in Verbindung mit OpenHAB nutzen und eine Möglichkeit suchen, wie man zwischen den Systemen kommunizieren kann, habe ich mal eine Anleitung für die Verwendung des HTTP-Anfragetreibers erstellt. Der Vorteil dieser Methode ist, dass diese Kommunikation auch dann funktioniert, wenn das LIVISI/Innogy-BackEnd oder die Internetverbindung ausgefallen ist - was ja mal vorkommen kann 8o

    Die Kommunikation läuft direkt im eigenen Netzwerk zu Hause und benötigt keine Cloud - weder die von LIVISI, noch die von OpenHAB. Es funktioniert sogar dann, wenn Euer Internetanschluss oder FritzBox die Grätsche macht.


    Dies soll natürlich das vorhandene sehr gute Innogy/LIVISI-Binding nicht ersetzen - es kann dies aber ergänzen bzw. ein FallBack-Szenario sein. Dazu geht man folgendermaßen vor:

    1. Erstellen eines neuen Geräts vom Typ "HTTP-Anfrage" über die LIVISI-App. Falls bei Gerät hinzufügen die HTTP-Anfrage nicht angezeigt wird, müsst ihr Euch diese vom LIVISI-Support freischalten lassen.

    2. Nachdem das Gerät angelegt wurde, müsst ihr es in der LIVISI-App aufrufen und dessen Parameter bearbeiten. In unserem Beispiel nennen wir das Gerät 'OpenHAB-Befehl'.
      Bei URL gebt ihr folgende Adresse an: http://<OpenHAB-IPAdresse>:8080/basicui/CMD
      Wichtig ist, dass das CMD großgeschrieben werden muss.
      In eurem OpenHAB muss die BasicUI installiert sein.

    3. Die METHODE lasst ihr auf GET stehen.
      Bei PARAMETER könnt ihr nun das zu schaltende Item aus OpenHAB mit dem zugehörigen Wert angeben.
      Es gilt folgendes Format:
      <Itemname>=<Itemvalue>
      also beispielsweise: WohnzimmerRaumlicht=ON

      Falls ihr mit einer Anfrage gleich mehrere Items schalten wollt, dann geht das auch:
      Syntax: <Itemname1>=<Itemvalue1>&<Itemname2>=<Itemvalue2>

      Das geht natürlich auch mit 3 oder noch mehr Items.
    4. Nach dem Speichern könnt ihr das Gerät mal testweise rechts anklicken. Danach müsste Eurer Item geschaltet werden.
      Wenn alles richtig ist, nimmt das Gerät den Status "erfolgreich" an.

    Auch wenn ihr in der Gerätedefinition bei PARAMETER jetzt einen Wert angegeben habt, der auf ein bestimmtes Item zeigt, könnt ihr das Gerät in LIVISI in verschiedene Szenarien einbauen und damit auch ganz andere Items steuern.


    Dazu legt ihr ein beliebiges neues Szenario an.
    Dann definiert ihr einen Auslöser - z. B. das Drücken einer Taste oder ahnliches...
    Bei AKTION AUSWÄHLEN wählt ihr dann HTTP-Anfrage aus und aktiviert darin Euer Gerät "OpenHAB-Befehl'
    Danach wählt ihr "GET-Anfrage senden" und tragt im folgenden Feld "Parameter festlegen" dann ein, welches Gerät ihr schalten wollt. Auch hier gilt wieder die Syntax: <ItemName>=<Itemvalue>
    Dann speichert ihr das Szenario ab.


    Nun könnt ihr das Szenario testen.Der Schaltbefehl sollte nun direkt vom SHC an OpenHAB gesendet werden.

    Ihr könnt über diesen Weg - unabhängig vom OH-Binding - beliebige Fremdgeräte ab sofort mittels LIVISI-Szenarien einbinden.


    Viel Erfolg !!! ;)


    Gruß Ralph

  • Ich habe irgend wie zu viele Projekte, dass ich hierfür Zeit hätte mich damit ausreinander zu setzen.

    Projekt Nummer 1956: realisierung 2050. ;-)

    Naja - das "Projekt" besteht darin, über ein HTTP-Anfrage-Objekt eine URL an OpenHAB zu schicken und damit zum Beispiel zu erreichen, dass ein Nicht-Innogy-Gerät auch bei Backend-Ausfall zuverlässig geschaltet wird....in meinen Augen also keine Raketenwissenschaft ;-)


    Es muss ja keiner machen - mir hilfts und deshalb wollte ich es beschreiben.

  • Das funktioniert sehr gut und erleichtert die Kopplung von Fremdsystemen.
    Bei uns gibt es eine kleine Dekolampe an einer Stelle im Flur, an der weit und breit keine Steckdose vorhanden ist.
    Die ursprünglich batteriebetriebene Lampe (eine einzelne LED) speise ich aus einer Powerbank und schalte sie mit einem Sonoff-Platinchen, das ich im Dutzendpack für € 2,50 als China-Direktimport auf ebay geschossen habe.
    Da es neuerdings ein Sonoff-Binding im Betastadium für openHab gibt, schalte ich dieses Lämpchen jetzt direkt, statt wie bisher über den Umweg über eine Statusvariable, ein openHab-Rule und Alexa.

  • Ralph

    Changed the title of the thread from “Direktes Senden von Befehlen vom SHC an OpenHAB” to “HOWTO: Direktes Senden von Befehlen vom SHC an OpenHAB”.
  • Von Openhab zu Livisi geht auch.


    1. In Openhab Innogy-Binding installieren

    2. In der Inbox das Binding auswählen und nach Einträgen scannen.

    3. Livisy Zustände werden als VariableActuator dargestellt.

    4. Switch dazu erstellen


    Fertig


    Nun können in Livisi Szenarien, die auf Zuständen beruhen, von Openhab aus geschaltet werden.

  • Tolle Idee! Ob so etwas auch mit ioBroker gehen könnte?

    Ich bin vor ca. 2 Jahren von OH weg zu ioBroker, insbesondere weil da (zumindest zum damaligen Zeitpunkt) mit vis wesentlich mehr und vor allem einfachere Möglichkeiten der Visualisierung bestehen. Leider scheint hier bei den "LIVISI-Anhängern" eine größere Affinität zu OH zu bestehen.

    Derzeit laufen bei mir schon einige Anbindungen über http-requests, z.B. zwischen Android-shortcuts und zigbee-, hmip-, aber auch livisi-Geräten, aber im Falle von livisi eben immer über den innogy-Adapter, d.h. über Internet.

  • Hallo MAXREINER,

    Das geht auch mit ioBroker. Ich nutze hierfür das Binding Node-Red. Hier kann man einfach "http-in" node nutzen. Hier kannst du dir dann einfach eine URL eingeben. Wenn diese dann aufgerufen wird, wird der dahinter gehängte Flow ausgelöst. Dort kannst du dann die Zustände von Iobroker ändern. Du solltest noch die Http-Response Node anhängen, da sonnst die HTTP Verbindung nicht richtig beendet wird. Du kannst dort auch mit Url Parametern arbeiten. Die liegen dann bei msg.payload.[Name des Parameters]

    Mit Freundlichen Grüßen

    Master29f

  • Hallo MASTER29F,

    danke für die Beschreibung, ich werde mich bei Gelegenheit mal daran versuchen. Was ich noch nicht ganz begriffen habe: wenn, wie oben beschrieben, der Request nur in eine Richtung ohne Umweg über die Cloud funktioniert, wie kommen dann Rückmeldungen/Bestätigungen/Quittungen zur Befehlsausführung vom Fremdgerät zur SHC zurück? Oder anders gefragt, kann ich Informationen (z.B. Temperaturwerte eines hmpi-Außentemperatursensors) auf diese Art abrufen? Ich habe das bisher immer nur über den innogy-Adapter im ioBroker realisiert, was auch gut geht, solange der innogy-Adapter verbunden ist und lebt. Http-request von livisi aus hab' ich bisher noch nicht probiert, daher meine Ahnungslosigkeit.


    Gruß

    Reiner

  • hab's gerade mal probiert eine Variable in ioBroker zu schalten. Klappt wunderbar - auch ohne node-red, wenn ich als URL die ganz normale http-get-Anfrage (bis zum "?")

    z.B.

    "http://pi4-1-iobroker:8087/set/0_userdata.0.Variable.Lampe_einschalten"

    eingebe und als Parameter den Rest, also

    z.B. "value=true".

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!