4

Fibaro HCL (Home Center Lite) virtuelles Modul einrichten

by crissxcross8. Mai 2014

Internetradio oder XBMC Player können auch über die HCL gesteuert werden – obwohl das Home Center Lite keine Script Unterstützung (LUA) hat. Wie Du das einrichten kannst – erfährst du hier.

Neben dem fehlenden VoIP Gateway und der wegrationalisierten Sprachsteuerung ist der Hauptunterschied zwischen dem Fibaro Home Center Lite und dem Home Center 2 wohl das fehlende Scripting / code.

Dennoch lassen sich mit dem Fibaro (HCL) Home Center Lite IP basierte Geräte steuern. Dafür stellt das HCL die Funktion „virtuelles Modul“ (Virtuell Device) zur Verfügung.

Virtuelle Module in dem Fibaro HCL ermöglichen das einbinden von IP basierten Geräten

Virtuelle Module in dem Fibaro HCL ermöglichen das einbinden von IP basierten Geräten

Wie in meinem Beitrag zur RGB LED Lichtstreifensteuerung beschrieben, lässt sich der Fibaro RGB Controller leider in Szenen (noch) nicht so einbinden, das eine definierte Farbe dargestellt wird. Im Beitrag zur Weboberfläche des HCL hat mich Alex auf die Idee mit dem virtuellen Modul gebracht (Ein großes Dankeschön an dieser Stelle an Alex!)

Durch einen kleinen Umweg lässt sich das Fibaro RGBW Modul auf eine definierte Farbe in den Szenen einstellen – und zwar per HTTP Aufruf.

Fibaro RGBW Farbe über HTTP ändern

Durch den Hinweis von Alex auf einen Forumeintrag, fand ich den API Call, mit welchem es möglich ist die Farbe des Fibaro RGBW Controllers per HTTP Aufruf zu ändern. Dieser sieht wie folgt aus:

http://admin:admin@hcl_ip/api/callAction?deviceID=318&name=setColor&arg1=255&arg2=0&arg3=0&arg4=0

Hierbei musst die folgende Werte entsprechend deinen Bedingungen anpassen:

  • admin:admin = Benutzername : Passwort
  • hcl_ip = IP Adresse deines Fibaro Home Center Lite
  • deviceID=318 = ID des RGBW Controllers (findest du im HCL unter Module -> auf das Einstellungen Symbol bei dem RGBW Controller klicken – unter ID)

Hast du alles korrekt ersetzt könnte dein Aufruf so aussehen:

http://admin:1234@192.168.2.10/api/callAction?deviceID=84&name=setColor&arg1=255&arg2=0&arg3=0&arg4=0

Kopierst du diese Zeile in deinen Browser (IE, Firefox, Safari, …) ändert sich die Farbe deines RGB LED Streifens auf rot, denn der Wert arg1 wurde auf 255 gesetzt. RGB steht für die Grundfarben Rot, Grün, Blau. Mit den Variablen arg1, arg2 und arg 3 können diese Kanäle direkt angesprochen werden. Desto höher der jeweilige Wert (max. 255) umso heller leuchtet diese Grundfarbe. Die Variable arg4 würde hierbei den Weißkanal bei einem RGBW LED Lichtstreifen definieren.

… setColor&arg1=255&arg2=0&arg3=0&arg4=0

RGB Controller als virtuelles Modul einrichten

Da wir diesen HTTP Aufruf nicht direkt in den Szenen verwenden können, benötigen wir dafür ein virtuelles Modul. Dies kann mit wenigen Klicks in der Weboberfläche des Fibaro HCL hinzugefügt werden. Dies findest du unter Module -> links auf add or remove Device, dann virtuelles Modul auswählen.

In der Reiterkarte „Allgemein“ kann wie bei jedem physischen Modul auch ein Name vergeben und das Modul kann einem Raum zugeordnet werden.

In das Feld IP Adresse: trägst du die IP Adresse deines Fibaro Home Center Lite ein. TCP Port bleibt auf dem Standardwert 80 – da wir einen HTTP Request ausführen wollen.

In der Registerkarte „Fortgeschrittene“ kannst du einen Schalter deiner Wahl hinzufügen. Jetzt ist es möglich, für jeden (virtuellen) Schalter einen String zu definieren, welcher beim betätigen ausgeführt wird. Hier muss nun der oben definierte HTTP Befehl aufgerufen werden. In der Form, wie dieser in den Browser eingegeben werden kann, funktioniert er im Fibaro Home Center Lite leider nicht. Hier müssen wir ihn „HCL“ gerecht verpacken mit einem GET. Das sieht dann so aus:

GET /api/callAction?deviceID=84&name=setColor&arg1=255&arg2=0&arg3=0&arg4=0

In diesem String fehlt nur noch die Authentifizierung, also die Anmeldung mit dem Benutzernamen und Passwort an der HCL. Diese können wir nicht so einfach in Klartext übergeben. Das Fibaro HCL erwartet hier den Benutzernamen:Passwort in der Base64-Codierung. Hintergrundinfos dazu findest du hier in der Wikipedia. Dabei werden die Daten nicht verschlüsselt, sondern Encodiert übermittelt. Das sieh dann so aus:

HTTP/1.10x0D0x0AHost: 10.0.0.210x0D0x0AAuthorization: Basic YWRtaW46MTIzNA=0x0D0x0A0x0D0x0A

In den Kryptischen Zeichen YWRtaW46MTIzNA versteckt sich der Benutzername und das Passwort, in der Form Benutzername:Passwort. Hier im Beispiel ist es admin:1234. Zum Encodieren und Decodieren kannst du ein Tool von ostermiller.org nutzen. (link: http://ostermiller.org/calc/encode.html)

Der komplette String sieht dann so aus:

GET /api/callAction?deviceID=84&name=setColor&arg1=255&arg2=0&arg3=0&arg4=0 HTTP/1.10x0D0x0AHost: 10.0.0.210x0D0x0AAuthorization: Basic YWRtaW46MTIzNA=0x0D0x0A0x0D0x0A

Wenn du alles richtig gemacht hast sollte der RGB LED Streifen auf die Farbe rot wechseln, sobald du den Button betätigst. Diesen String kannst du nun in alle anderen virtuellen Schalter dieses Moduls kopieren. Die Farben variieren, indem du die Werte von arg1, arg2 und arg3 mit Werten zwischen 0 bis 255 variierst.

Farbe per Schieberegler variieren

Falls du die Farbe komfortabel per Schieberegler definieren möchtest, fügst du als virtuellen Schalter einfach einen Slider hinzu. Den Wert von arg1, arg2 bzw. arg3 definierst du in diesem Fall nicht fix, sondern mit der Variable _sliderValue_. Dies könnte dann so aussehen.

GET /api/callAction?deviceID=84&name=setColor&arg1=_sliderValue_&arg2=0&arg3=255&arg4=0 HTTP/1.10x0D0x0AHost: 10.0.0.210x0D0x0AAuthorization: Basic YWRtaW46MTIzNA=0x0D0x0A0x0D0x0A

Ein Nachteil hat das Ganze. Der Schieberegler kann nur Werte von 0-100 annehmen. Das RGB Spektrum geht bis 255. Hierbei müsste man also die Variable _sliderValue_ mit 2.55 multiplizieren. Daran bin ich bis jetzt leider gescheitert. Wenn du weist wie es funktioniert, freue ich mich auf dein Kommentar ;-)

Virtuelles Modul in Szenen einbinden.

Das eben erstellte, virtuelle Modul lässt sich nun wie jede physische Z-Wave Komponente in den Szenen verwenden. Dazu kann in der Weboberfläche des Home Center Lite unter dem Menüpunkt Szenen eine neue Szene erstellt werden. Damit der RGB LED Lichtstreifen in der gewünschten Lichtfarbe erstrahlt, muss der entsprechende virtuelle Schalter in die Szene eingebunden werden. Wenn du den Slider verwenden möchtest, kannst du in die „grüne“ Box den Wert eintragen, welchen der Slider annehmen soll.

Was ist damit möglich?

Sobald es draußen regnet, geht der RGB LED Lichtstreifen in deinem Kleiderschrank in der Farbe blau an. Ist es heiter und wärmer als 20Grad lass ihn in rot erstrahlen. Deiner Fantasie sind da keine Grenzen gesetzt ;-)

Viel interessanter wird es jedoch, wenn man über diesen Weg ein Internet-Radio, den XBMC Player oder sogar sein TV Gerät steuert. Dann kann man in der Szene „Guten Morgen“ nicht nur die Rollos hochfahren und die Steckdose der Kaffeemaschine einschalten, sondern sich auch von seinem Lieblingssender aus dem Internet-Radio wecken lassen.

Für das Argon iNet 2+ Internet Radio hat ein User im Fibaro Forum bereits den notwendigen String gepostet und sogar eine *.vfib Datei bereitgestellt. Mit dieser Datei ist es möglich, das virtuelle Modul direkt in das HCL bzw. HC2 zu importieren.

Wer seinen XBMC Player steuern möchte, findet die Steuerbefehle im Fibaro Forum.

Prinzipiell sollten auch die Philips Hue Leuchten über diesen Weg steuerbar sein. Kennst du vielleicht noch weitere Geräte die sich damit steuern lassen? Dann lass unsere Community teil haben und poste die Strings /codes hier als Kommentar.

siio-App
About The Author
crissxcross
crissxcross
Chris, Gründer und Blogger von siio. Gelernter IT-Systemelektroniker, seit vielen Jahren beruflich als Produktmanager im Smart Home unterwegs. Technikverliebter Familienvater, Apple Fan. Nach einigen Jahren Stadtleben wieder froh auf dem Land zu sein.

Leave a Response