AllgemeinFibaro TutorialsTutorials

Fibaro & ioBroker Teil 1: Wie bekommt Ihr Geräte & Daten vom ioBroker in Euer Fibaro Home Center?

In diesem Tutorial zeigen wir Dir beispielhaft an einer virtuellen Fernbedienung, wie Du Geräte und auch Daten in Deine Fibaro Zentrale übertragen kannst.

Willkommen zu unserer neuen Tutorial-Reihe zum Thema ioBroker. In den kommenden Beiträgen zu diesem Thema wollen wir Dir zeigen, wie Du diese Integrationsplattform mit Deinem Fibaro Home Center verbinden kannst, bzw. Geräte zu dem ioBroker hinzufügst. Heute geht es darum, wie wir den ioBroker selbst zum Home Center hinzufügen. Dies wollen wir Dir an zwei verschiedenen Beispielen zeigen, welche natürlich auch durch andere Geräte ersetzt werden können. Unsere nachfolgende Lösung dient somit nur als Inspiration, wie man die Schritte mit dem ioBroker umsetzen kann.

Was wollen wir erstellen?

virtuelle FernbedienungAls erstes Beispiel werden wir mit einem Harmony Hub von Logitech, eine Universalfernbedienung als virtuelles Modul in unserer Fibaro Zentrale erstellen. Dafür nutzen wir einen Adapter. Mit diesem können dann über verschiedene Buttons Aktionen umgesetzt werden. Beispielsweise lassen sich TV-Channel einstellen, die Lautstärke ändern oder auch Buttons in Szenen integrieren. Diese virtuelle Fernbedienung wird zudem in der Fibaro App auf Deinem iPhone nutzbar sein, mit der sich danach Dein TV-Gerät wie der Apple TV oder Fire TV steuern lässt. Wie man den Harmony Adapter beim ioBroker installiert und anschließend über Fibaro nutzt, zeigen wir Dir in diesem Beitrag.

Über einen zweiten Adapter wollen wir ein virtuelles Modul erstellen, welches erkennt und angibt, welches Gerät sich derzeit im heimischen WLAN befindet und angemeldet ist. Darauf kann dann die Alarmanlage oder ein smartes Türschloss angepasst werden, sodass man bei jedem Login ins WLAN auch die Alarmanlage deaktivieren lassen kann und vieles mehr. Man erhält sozusagen einen Überblick darüber, welche Person Zuhause und im WLAN mit dem Smartphone eingeloggt ist.

Möglicherweise fragst Du Dich jetzt, wieso wir die Geräte über den ioBroker ins Home Center einfügen wollen. Normalerweise funktioniert der ioBroker genau andersherum: Man fügt Smart Home Geräte zu diesem hinzu und verwaltet sie über die „Objekte“. Damit können dann über Skripte die Geräte verbunden werden. Für uns macht es aber mehr Sinn, den ioBroker nur als Verwalter unserer Smart Home Komponenten zu nutzen, die nicht mit dem Home Center kompatibel sind. Die restliche Logik soll über die Fibaro Zentrale selbst laufen. Dafür nutzen wir wie erwähnt heute zwei verschiedene Adapter, welche die Geräte ins Home Center überspielen.

Konfiguration im ioBroker für Fernbedienung

Um unsere virtuelle Fernbedienung zu erstellen, müssen wir zunächst den ioBroker herunterladen und installieren. Dazu findest Du online viele Tutorials zu, beispielsweise mit einem Raspberry Pi oder auch Synology Nas. Die Installation ist auf vielen Systemen möglich.

Um das Ganze verknüpfbar zu machen, müssen wir zunächst einige Adapter installieren. Klicke dafür auch „Adapter“ und suche nach „Script Engine“. Installieren diesen über das „+“-Symbol. Anschließend wirst Du auf eine Konfigurationsseite weitergeleitet, wo jedoch nichts installiert werden muss. Auf die gleiche Weise installierst Du auch den „simpleAPI Adapter“ sowie den „Logitech Harmony Adapter“ für die Fernbedienung und den Javascript Adapter.

Fernbedienung als virtuelles Modul nachbauen

Um unsere virtuelle Fernbedienung zu erstellen, öffnen wir im Home Center den Menüpunkt „Module“ und fügen danach ein neues virtuelles Modul hinzu. Gib diesem einen Namen und füge einen passenden Raum hinzu. Auch die IP-Adresse von Deinem ioBroker und den Port „8087“ von der API-Schnittstelle kannst Du mit eintragen.

Nach dem Speichern kannst Du über „Fortgeschritten“ Buttons hinzufügen, welche in Deiner Fernbedienung zu sehen sein sollen. Wir legen dafür beispielhaft einen On/Off-Button an, die Lautstärke und einen Favortiensender. Auch einen Status kannst Du über das „Label“ hinzufügen. Hier sind deine Vorstellungen gefragt.

Anschließend sollten die Buttons noch passende Namen erhalten. Lege unter „Label“ den jeweiligen Namen für die einzelnen Buttons an, je nach der Funktion.

Die virtuelle Fernbedienung ist mit diesen Schritten angelegt, kann natürlich entsprechend durch Deine Vorstellungen ergänzt werden. Damit die Buttons auch funktionieren, muss nun das Home Center noch mit dem ioBroker verknüpft werden.

Home Center mit ioBroker verbinden

Um eine Verknüpfung zwischen der Integrationsplattform und dem Home Center herzustellen, müssen wir einmalig eine LUA Szene in der Fibaro Zentrale anlegen:

In der Szene müssen noch die Werte durch Deine eigenen ergänzt werden. Das heißt, zu Beginn muss die IP-Adresse Deines ioBrokers eingetragen werden, genauso wie der Port der Schnittstelle „8087“. Lege außerdem über das Home Center zwei neue Variablen (über „Steuerungen“ – „Variablensteuerungen“) an: „change_iob_state“ und „change_io_value“.

Setze die Szene außerdem auf „manuell“, damit diese nicht automatisch gestartet wird.

Die Konfiguration der Szene ist nun abgeschlossen. Wichtig ist, dass Du Dir zum Schluss noch die ID der Szene merkst, da wir diese im Anschluss noch benötigen.

So werden die Buttons funktionsfähig

Kehre als nächstes zu Deinem virtuellen Modul der Fernbedienung zurück. Wir wollen nun dafür sorgen, dass diese auch funktioniert, sobald Du einen Button betätigst. Innerhalb der Bearbeitung der einzelnen Buttons, kannst Du entsprechend für jeden einzelnen Button einen LUA Code einfügen. Dafür benötigst Du folgendes Skript:

Diesen Code benötigst Du bei allen Buttons. Passe natürlich noch den Namen für die Buttons innerhalb des jeweiligen Codes an, dafür benötigst Du den passenden Pfad aus dem ioBroker. Dieser muss genau gleich sein, damit danach die Button-Funktion auch umsetzbar ist. Genauso sollte dann auch die Button-ID sollte heißen.

Außerdem muss noch die ID Deiner Szene bei „startScene“ eingetragen werden.

Auch die value-Variable kannst Du noch ändern, indem Du den Wert durch andere Angaben ersetzt. In den kommenden Tutorials zum Thema ioBroker gehen wir darauf auch noch näher ein, sodass Du die Umsetzung besser verstehen wirst und anweden kannst.

Auch mit den anderen Buttons kannst Du wie oben vorgehen, indem Du nur die dazugehörigen Werte änderst und anpasst. Die Vorgehensweise ist bei allen Buttons gleich, Du kannst also beliebig viele Taster hinzufügen und nur die Verknüpfung entsprechend herstellen.

Eine Ausnahme sind die Favoritenbuttons. Bei einer Samsung-Fernbedienung gibt es beispielsweise keinen Favoriten-Knopf. Daher fügen wir dort selbst eine Reihenfolge von Channeln ein, sodass wir an unserer Fernbedienung verschiedenen Knöpfe betätigen, sodass anschließend der Favoritensender gestartet wird. Beispielsweise drücken wir „1“, „0“ und „OK“. Folgender Code verdeutlicht diese Reihenfolge:

Anschließend funktioniert Deine virtuelle Fernbedienung auch schon.

Statusanzeige erstellen

Um darüber informiert zu sein, ob der Harmony Hub online oder offline ist, haben wir eine Statusanzeige mit in unsere Fernbedingung integriert.

Im ioBroker gibt es dafür unter „Objekte“, unter den „Aktivitäten“ des TV-Geräts die Variable „hubConnected“. Wenn diese auf „true“ steht, ist der Fernseher verbunden. Bei „false“ wäre dieser nicht mehr verbunden. Diesen Wert wollen wir nun auch in unser Home Center einfügen, um es anschließend über unsere virtuelle Fernbedienung nutzen zu können.

Status über API lesen

Für den Status gibt es zwei verschiedene Wege, damit dieser in die Fibaro Zentrale übernommen werden kann. Die erste Möglichkeit wäre, den Wert über die API zu lesen, wofür wir im Folgenden eine Szene anlegen. Dieser Schritt macht aber nur für Werte Sinn, die man nicht schnell benötigt, da die Verarbeitung langsam läuft.

Wenn Du Dich für diese Vorgehensweise entscheidest, füge zunächst eine neue LUA Szene in der Fibaro Zentrale hinzu und trage dort folgenden Code ein:

Auch in dieser Szene muss erneut die IP-Adresse und der Port angepasst werden. Außerdem muss unter „states_pattern“ noch der entsprechende Wert für das Gerät, bei uns beispielsweise für den Harmony Hub, eingetragen werden. Vergiss dabei nicht, am Ende ein * zu setzen, also beispielsweise „harmony.0*“, damit auch alle Geräte gelesen werden, die zum Beispiel mit „harmony“ anfangen. Wenn Du mehrere Geräte impotieren möchtest, lasse diesen Wert leer, sodass alle Objeke geladen werden können. Wir konfigurieren außerdem in unserer Szene immer alle Werte zu einem „String„. Außerdem muss für diese Szene eine neue globale Variable, in unserem Fall zum Beispiel „harmonyConnected“, angelegt werden.

Info

Nähere Erklärungen zu den einzelnen Schritten und den Werten für die Szene findest Du im Video!

Am Ende die Szene speichern. Wenn Du diese nun auslöst, wird der Harmony Hub auf „true“ gesetzt und die Status-Anzeige in der Fernbedienung wird diesen Status entsprechend wiedergeben.

Außerdem kannst Du die API auch zeitgesteuert kontrollieren lassen. Dies funktioniert mit dem Fibaro Home Center über sogenannate Cronjobs. Dabei handelt es sich um zeitgesteuerte Aktionen. Wie das funktoniert, findest Du hier in einem Tutorial und kannst Dir von dort auch die Szene kopieren. Danach kannst Du es minütlich für den API Status festlegen, sodass dieser immer überprüft wird, indem Du die API Szene in das Cronjobs Skript mit einträgst.

Status über Javascript

Als zweite Möglichkeit, um den Status ins Home Center zu übertragen, benötigen wir den Javascript Adapter im ioBroker. Dafür müssen wir die zwei folgenden Skripte innerhalb der Integrationsplattform anlegen. Dabei gibt es zwei verschiedene Ordner. Einmal den Ordner „global“, in dem sich Skripte befinden, die zuerst ausgegeben werden, sowie den Ordner „common“ mit Skripten, die erst danach zum Einsatz kommen. Ein Skript muss zunächst im ersten Ordner angelegt werden mit dem Javascript. Füge dort folgendes Skript ein:

In diesem Skript müssen drei Werte konfiguriert werden: Dein Fibaro Username (Admin), Dein Passwort und die IP-Adresse Deines Home Centers. Über „Play“ muss das Skript danach noch einmalig gestartet werden. Gib diesem auch einen Namen.

Anschließend legen wir das zweite Skript über den Ordner „common“ an. Füge auch dort wieder ein neues Javascript hinzu, in welches Du den folgenden Block einfügst:

Dieser Block überwacht unseren Harmony Hub. Alles wieder speichern und auch diesem Skript einen Namen geben.

Als nächstes wollen wir die globale Variable „harmony_connected“ weiter beobachten. Dafür benötigen wir folgenden Code, welchen wir in unserem Home Center in das vorgesehene Label für den Status setzen:

Damit dieses funktioniert, muss bei der ID zum Status noch „harmonyhubstatus“ eingetragen werden. Auch die ID von Deinem virtuellen Modul muss noch eingetragen werden, damit das Skript weiß, welches Gerät angesprochen werden soll.

Wenn Du nun speicherst, sollte die Statusanzeige in Deiner virtuellen Fernbedienung funktionieren.

Die Daten verwenden

Natürlich kannst Du die Fernbedienung nun über Dein iPhone oder Tablet und über die App nutzen. Gleichzeitig lassen sich die Werte aber auch in einer Szene nutzen. Dafür kannst Du zum Beispiel eine grafische Szene erstellen, in der Du festlegt, dass bei jeder Aktivierung des Lichts im Wohnzimmer auch der Ferneseher angeht. Natürlich lässt sich der Fernseher auch über eine Szene deaktivieren, wenn Du zum Beispiel eine Gute-Nacht-Szene erstellst.Szene mit virtueller Fernbedienung

Genauso kann man Alexa-Szenen erstellen. Wie Du solche Szenen erstellst, erklären wir auch in einem Video über Alexa in Verbindung mit dem Bose Soundtouch System, welches Du hier findest!

Die Möglichkeiten sind unbegrenzt. Du kannst die Werte nun aus Deinem Home Center nutzen und auf verschiedenste Weise verwenden.

Für Samsung TV-Nutzer

Wenn Du auch einen Samsung Fernseher Zuhause in Gebrauch hast, kannst Du hier unser dafür vorgesehenes virtuelles Modul downloaden.
Schlagwörter
Mehr anzeigen

Nico Bode

Mein Name ist Nico. Ich bin Geschäftsführer einer kleinen Firma für Marketing Dienstleistungen. Ich freue mich, Euch die Smart Home Welt näherzubringen und gemeinsam mit Euch zu lernen.
Ähnliche Artikel
Wir freuen uns über jeden Kommentar. Solltest du eine Frage haben schreibe gerne in den Kommentaren, für größere Fragen würden wir uns freuen wenn du dich in unserem Smart Home Forum anmelden würdest. Dort können wir & die Smart Home Community dir deutlich besser und schneller helfen.

6 thoughts on “Fibaro & ioBroker Teil 1: Wie bekommt Ihr Geräte & Daten vom ioBroker in Euer Fibaro Home Center?”

  1. Hallo Nico,

    zuerst mal dickes Lob für diese super Anleitung. Ich werde das am Wochenende direkt mal bei meiner Fibaro HC2 umsetzen.
    Ein Bekannter von mir hat das Fibaro Home Center Lite. Leider funktioniert dort ja keine LUA.
    Kennst du eine Möglichkeit das Home Center Lite, ohne LUA Szene, mit dem IoBroker zu Verbinden?

    Viele Grüße

    Chris

    1. Hallo Chris,

      es gibt Möglichkeiten das auch mit dem Lite zu machen ist aber deutlich komplizierter – da ja wie du schon sagtest kein Lua zur Verfügung steht.

      Das Lesen über die Szene Read from ioBroker wir mit der Lite nicht klappen. Der zweite weg den ich gezeigt habe mit einem Script beim ioBroker anlegen und an Fibaro schicken klappt aber genauso 😉 da Globale Variablen und die Api ja auch dort zur Verfügung stehen.

      Send to iobroker ist auch nicht so einfach – über die Lua Szene geht es nicht – aber zumindest in einem Virtuell Device könnte man die ioBroker api auch ansprechen. Dort hat man die Möglichkeit HTTP Befehle auszuführen.

      https://manuals.fibaro.com/knowledge-base-browse/creating-virtual-devices/ schau mal das letzte Bild da wird ein Http Request gemacht in einem VD ohne Lua – aber ich muss auch sagen das ich mich damit nie wirklich beschäftigt habe. Aber so könnte man auch die api vom ioBroker ansprechen.

      Generell muss man aber sagen: das Lite ist für so Geschichten einfach nicht gebaut.

      1. Vielen Dank für die ausführliche Antwort.
        VD mit http Befehl erstellen sollte kein Problem sein. Denke du hast mich da in die richtige Richtung gelenkt.
        Ich spiele das ganze mal einfach bei meinem Bekannten durch. Wenn es too much wird dann lassen wir es. Wenn es für mich als nicht Profile ok ist, melde ich mich mal wieder und schildere meine Eindrücke bei dem Lite.

  2. Hallo Nico,

    super Artikel. Danke.

    Ps: Im Text hat sich ein kleiner Fehler eingeschlichen ….

    „… Lege außerdem über das Home Center zwei neue Variablen (über „Steuerungen“ – „Variablensteuerungen“) an: „change_iob_state“ und „change_io_value“.“

    Richtig müsste es „change_iob_value“ lauten !

  3. Hallo zusammen

    Wozu der Umweg über ioBroker ?
    Welchen Vorteil hat das ?
    Kann man den TV nicht direkt mit Fibaro ansteuern ?
    Mit dem Harmony Hub sollte das doch gehen ?

    Io Broker ist doch eine eigenständiges Smarthome System oder versteh ich das falsch ?

    Ich verstehe es nicht kann mich einer aufklären ?

    Vielen Dank

    1. Hallo,

      man kann iobroker als eigenes Smart Home System nutzen das stimmt. Ich nutze es aber anders. Wie im Videos gezeigt hole ich mir so nur Geräte und Funktionen ins Home Center die sonst nicht unterstützt werden bzw. es ein großer Aufwand wäre diese zu implementieren.

      Kann man den TV nicht direkt mit Fibaro ansteuern ?
      Mit dem Harmony Hub sollte das doch gehen ?

      Da zum Beispiel: Fibaro ist natürlich als Hersteller an die Offizielle Logitech API gebunden. Diese ist aber sehr eingeschränkt und kann Aktivitäten nur anschalten. Einzelne Sender oder Lautstärke kann ich damit nicht steuern. Die Community muss nicht den offiziellen weg gehen und deswegen geht das über iobroker und so habe ich das in mein Home Center geholt.
      Ein anderer User hat mit diesem Tutorial als Beispiel seine Xioami Staubsaugerroboter in das Fibaro HC2 geholt.

Schreibe einen Kommentar Fibaro & ioBroker Teil 1: Wie bekommt Ihr Geräte & Daten vom ioBroker in Euer Fibaro Home Center?

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