Derzeit erfreuen sich ja viele an dem neuen Gadget aus dem Hause Fibaro. Den sogenannten Button. Wir zeigen euch in diesem kleinen Artikel, wie Ihr diesen mit LUA, um weitere Aktionen auszuführen, nutzen könnt.
Der Fibaro Button nutzt die centralSceneEvent-Klasse, welche Fibaro bei einem Update für das Fibaro HomeCenter 2 vor wenigen Monaten nachgeliefert hat. Diese Klasse wird zum Beispiel auch von dem Philio Smart Color Button genutzt, welchen wir bereits in einem Artikel ausführlich getestet haben und dort auch bereits eine Szene für die Nutzung mit dem Fibaro HomeCenter 2 programmiert haben. Das Fibaro-Gadget haben wir natürlich auch in einem ausführlichen Artikel unter die Lupe genommen und unsere Meinung zu dem kleinen SmartHome-Helfer veröffentlicht. Diesen Artikel und die Möglichkeit diesen käuflich zu erwerben findet Ihr hier.
Dort hat euch Chris bereits gezeigt, wie Ihr den Button mit einer Magic-Scene in euer System einbringen könnt. Wir sind jetzt aber noch einen Schritt weiter gegangen und steuern alles mit einer einzigen Szene...
Szene für den Fibaro Button
Auf Basis dieser Szene haben wir uns den Fibaro Button genauer angeschaut und das oben genannte Skript für den Philio-Schalter noch weiter verbessert. So ist es mit einer Szene möglich alle Funktionen (1x Klick, 2x Klick, 3x Klick, 4x Klick, 5x Klick, gedrückt halten & loslassen) abzufangen und daraufhin Aktionen zu schalten, Knöpfe in einem VD drücken oder auch Szenen zu starten. Dazu müsst Ihr euch nur den folgenden Code in eine neue Szene kopieren und die ID im Config-Header anpassen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
--[[ %% properties %% events 363 CentralSceneEvent %% globals --]] local button_source = fibaro:getSourceTrigger()["event"]["data"] if (tostring(button_source["keyAttribute"]) == "Pressed") then fibaro:debug('Fibaro Button 1x gedrückt.') elseif (tostring(button_source["keyAttribute"]) == "Pressed2") then fibaro:debug('Fibaro Button 2x gedrückt.') elseif (tostring(button_source["keyAttribute"]) == "Pressed3") then fibaro:debug('Fibaro Button 3x gedrückt.') elseif (tostring(button_source["keyAttribute"]) == "Pressed4") then fibaro:debug('Fibaro Button 4x gedrückt.') elseif (tostring(button_source["keyAttribute"]) == "Pressed5") then fibaro:debug('Fibaro Button 5x gedrückt.') elseif (tostring(button_source["keyAttribute"]) == "HeldDown") then fibaro:debug('Fibaro Button gehalten.') elseif (tostring(button_source["keyAttribute"]) == "Released") then fibaro:debug('Fibaro Button losgelassen.') end |
Mit dem oben genannten Config-Header ist hier folgender Abschnitt gemeint. Hier muss anstatt der 363 eure ID eingetragen werden.
1 2 3 4 5 6 7 8 9 |
--[[ %% properties %% events 363 CentralSceneEvent %% globals --]] |
Diese findet Ihr unter den Einstellungen des entsprechenden Moduls. Wenn Ihr diese Anpassung vorgenommen habt, dann sollte die Szene bereits bei euch ohne Probleme funktionieren und der entsprechende Debug sollte anhand eurer Aktion ausgegeben werden. Das war es dann auch schon. :)
Mit diesem Skript funktioniert der Fibaro Button übrigens auch mit Firmware-Versionen, welche eigentlich offiziell das Modul noch nicht unterstützen. So ist es also auch möglich, den Button in der Version 4.070 zusammen mit dem Zipato RFID-Tagreader zu nutzen. In einer der nächsten Folge dieser Reihe stellen wir euch ein Skript vor, mit welchem Ihr die nodon-Schalter mit der centralSceneEvent-Klasse nutzen könnt. Wir würden uns über Kommentare freuen, was Ihr mit dem neuen Gadget aus dem Hause Fibaro realisiert habt. :)