In einem der letzten Reviews haben wir euch den Aeotec WallMote vorgestellt. Diesen haben wir natürlich auch gleich im Fibaro HomeCenter 2 inkludiert und ein entsprechendes Skript geschrieben. Mehr dazu erfahrt Ihr hier in diesem Artikel.
Nachdem der Wandschalter, wie in dem oben erwähnten Review erfolgreich inkludiert wurde, fällt es einem gleich auf: Wie leider derzeit nicht anders zu erwarten, gibt es (derzeit) leider kein Template für den Aeotec WallMote Wandschalter in der Firmware des Fibaro HomeCenter 2. Dadurch sieht die Weboberfläche des HomeCenters nach der Inklusion folgendermaßen aus:

Wandschalter nach der Inklusion
Dies hängt damit zusammen, dass bei dem Inkludier-Vorgang die Firmware nicht erkennt, welche untergeordneten Module automatisch ausgeblendet werden können. Dies können wir aber nachträglich selbst durchführen und alle untergeordneten Module (595.1, 595.2, 595.3, 595.4) über die erweiterten Einstellungen der jeweiligen Module aus der Weboberfläche ausblenden. Hierzu muss folgende Option aktiviert werden:

Notwendige Option
MagicScenes mit dem Aeotec WallMote
Seit dem Firmware-Update 4.111 Beta gibt es bei allen Modulen, welche die CentralSceneEvent-Klasse unterstützen, die Möglichkeit über sogenannte "MagicScenes" in den Optionen des jeweiligen Modules eine Reaction auf unterschiedliche Aktionen zu definieren. In dem Changelog heißt es:
Magic scenes for devices which use Scene Controller or Scene Activation – the ability to add scenes in the configuration of device supporting Central Scene or Scene Activation. Devices already existing in Home Center require soft reconfiguration, after reconfiguration you will have new configuration options.
Bei dem Aeotec WallMote sieht das folgendermaßen aus:

MagicScenes unter den Optionen des Moduls
Hier werden Aktionen über sogenannte MagicScenes umgesetzt. Um dies einzurichten, müsst Ihr über den Button "NEW Reaction" gehen und das Fibaro HomeCenter führt euch dann durch die notwendige Einrichtung. Für Einsteiger ist das eine einfache und schnelle Möglichkeit solche Szenen zu erstellen und in kurzer Zeit ein vernünftiges und funktionierendes Ergebnis zu erhalten.
Es hat allerdings den Nachteil, dass für jede Reaction eine einzelne MagicScene angelegt wird. Bei dem Aeotec-Wandschalter gibt es zwei Funktionen je Tasten-ID. Also in diesem Fall sind das acht MagicScenes. Soll so ein Konstrukt zum Beispiel beim Fibaro KeyFob genutzt werden, dann könnte es schnell unübersichtlich werden, da dort 24 MagicScenes plus eventuelle Sequenzen erstellt werden. Eine Fehleranalyse wird in so einem Fall mit der Zeit immer schwieriger.
LUA-Szene für den Aeotec WallMote
Deshalb empfehlen wir euch eine einzige LUA-Szene für alle möglichen Aktionen zu nutzen. So muss im Fehlerfall immer nur eine Szene analysiert werden und eventuell gefixt werden. Im Hintergrund sind MagicScenes oder auch Blockszenen natürlich nichts anderes als bildlich dargestellte LUA-Szenen.
In dem Skript, welches wir euch hier zur Verfügung stellen, müssen nur die einzelnen Funktionen, welche durch den Klick auf den Wandschalter ausgelöst werden, angepasst werden. Es gibt insgesamt vier verschiede Funktionen, welche Ihr belegen könnt. Diese setzen sich folgendermaßen zusammen:
- 4 Funktionen (1x Klick Taste 1, 1x Klick Taste 2, usw.)
Single-Click
Für Single-Click gibt es im Skript folgende Funktion, welche durch euch angepasst werden kann:
1 2 3 |
function call_action1() fibaro:debug('WallMote Taste 1 gedrückt') end |
Diese zählt dann natürlich weiter hoch und für die Taste 2 heißt die Funktion dann call_action2() und so weiter... In diese Funktionen könnt Ihr jetzt eure LUA-Befehle hinterlegen, welche bei dem Klick auf den jeweiligen Button ausgeführt werden soll. Möchtet Ihr ein Licht mit einem Tastendruck an, bzw. wenn das Licht bereits an ist, ausschalten, dann müsst Ihr folgenden LUA-Code nutzen:
1 2 3 4 5 6 7 8 9 |
local lightID = 100 function call_action1() if (fibaro:getValue(lightID, "value") == '0') then fibaro:call(lightID, "turnOn") else fibaro:call(lightID, "turnOff") end end |
Das kleine Skript prüft den Status der lightID und entscheidet anhand des Status der Lampe, ob diese ein oder aus geschaltet werden muss. Hier muss natürlich die ID von der lightID an euer System angepasst werden.
Und hier findet Ihr jetzt die vollständige Szene mit allen anpassbaren Funktionen:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
--[[ %% properties %% events ID CentralSceneEvent %% globals --]] function call_action1() fibaro:debug('WallMote Taste 1 gedrückt') end function call_action2() fibaro:debug('WallMote Taste 2 gedrückt') end function call_action3() fibaro:debug('WallMote Taste 3 gedrückt') end function call_action4() fibaro:debug('WallMote Taste 4 gedrückt') end Debug = function ( color, message ) fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span")) end fibaro:debug('Aeotec WallMote Quad - Szene gestartet') Debug( 'green', '---- siio.de - Dein Smart Home Blog ----') local wallmote_source = fibaro:getSourceTrigger()["event"]["data"] --fibaro:debug("Key " .. wallmote_source["keyId"] .. " Attr " .. wallmote_source["keyAttribute"]) if (wallmote_source["keyId"] == 1 and wallmote_source["keyAttribute"] == 'Pressed') then call_action1() elseif (wallmote_source["keyId"] == 2 and wallmote_source["keyAttribute"] == 'Pressed') then call_action2() elseif (wallmote_source["keyId"] == 3 and wallmote_source["keyAttribute"] == 'Pressed') then call_action3() elseif (wallmote_source["keyId"] == 4 and wallmote_source["keyAttribute"] == 'Pressed') then call_action4() end |
Fazit & Icon-Download
Wie immer an dieser Stelle stellen wir euch die passenden Icons zur Verfügung. Wir wünschen euch nun viel Spass bei der Realisierung eurer Szene... Was habt Ihr umgesetzt, wofür nutzt Ihr die Szene? Über eure Anregungen und Kommentare zu diesem Thema würden wir uns sehr freuen :)
Danke für das Skript.
Aber bei mir kommt folgender Fehler: attempt to Index field 'event' (a nil value)
In dieser Zeile: local wallmote_source = fibaro:getSourceTrigger()["event"]["data"]
Was kann der Fehler sein?
Hast du die Szene manuell ausgeführt? Das funktioniert natürlich nicht, nur das CentralSceneEvent-Modul kann die Szene triggern.
Gruß
nein, Szene startet automatisch, falls du das meinst. Bei CentralSceneEvent habe ich die ID der meiner obigen Szene eingegeben. Das ist doch richtig so, oder?
Nein, da muss die ID von dem CentralSceneEvent-Modul eingetragen werden ;)
Gruß
Das habe ich nach meinem post auch gemerkt und geändert. Leider tauchte der Fehler dann trotzdem noch auf.
Dann habe ich den Wallmote ausgelesen (über ein anderes Script) und jetzt kommt keine Fehlermeldung mehr.
Jetzt werde ich dann mal loslegen und Funktionen festlegen.
Gruß
Hi Daniel,
ich bekomme unter 4.120 nur das CentralScene Icon und kann das von Dir bereitgestellte nicht einsetzen.
Der Button unter dem Icon fehlt....
Gibt es da einen Trick?
Hi,
das Icon kann leider nicht genutzt werden. Ist mir erst nach der Veröffentlichung des Artikels aufgefallen. Sorry.
Gruß
Hallo,
funktioniert der Schalter auch mit HCL??
Gruß
Stani
Mit der neusten Firmware sollte es keine Probleme geben :)
Gruß
Super, ich danke Dir.
Gruß
Hey,
hat schon jemand Assoziationen zum benutzen der Dimmfunktion realisiert?
Habe einen Parameter 4 mit Wert 3 erzeugt und dann für den Button_1 eine Assoziationsgruppe 3 belegt.
Es funzt aber nicht und der Button_ erkennt jetzt das 'HeldDown' KeyAttribut nicht mehr.
Gruß Olaf
Habe die WallMote heute mal inkludiert und wie oben erwähnt die restlichen ausgeblendet.
Nur sehe ich keine Möglichkeit das ich das Icon wechseln kann.
Der Button Icon wechseln ist hier nicht vorhanden.
Wie kann ich das Icon ändern?
Gruss Roland
Ist zwar schon ein etwas älterer Beitrag aber hat diesen Taster mit der sktuellen Firmware am laufen? Die Schaltfunktionen gehen ohne Probleme. Nun möchte ich aber die Vibrations und Ton Rückmeldung ausschalten. Aber mit den Parameter hinzufügen funktioniert es nicht. Im Fibaro HC2 werden die Parameter nicht gespeichert.