Moin,
wollte euch mal ein kurzes Tutorial vorstellen um den Zwave-Me Wallc-2 Wandtaster im Fibaro Home Center 2 zum laufen zu bringen. Ime Gegesatz zu diversen anderen Schaltern bzw. Vorgängern wird der Wallc-2 nicht von Fibaro unterstüzt. Man kann ihn zwar inkludieren, d.h. er wird erkannt, aber es gibt kein Template von Fibaro. Deswegen dieser Workaround. Bitte Ideen posten wie man die Scene bschleunigen kann! Die Idee und Code habe ich aus verschiedenen anderen Foren zusammengebastelt, die Credits gehen also bitte an robd und olekenneth aus dem offiziellen Fibaro Forum!
Step1: Inklusion funktioniert wie immer. Modul im HC2 hinzufügen und dann die Taste 1 auf dem Wallc-2 drücken. Siehe dazu Bild1 (modulhinzu.jpg)
Step2: Der Wandtaster wurde ohne Template erkannt und kann nun konfiguriert werden. Dazu nun die Parameter hinzufügen. Siehe dazu Bild2 (parameter.jpg)
1 -> 0 (0 = Button1 seperater, alternativ 1 = zum paaren mit Button3 für z.B. Rolläden)
2 -> 0 (0 = Button2 seperater, alternativ 1 = zum paaren mit Button4 für z.B. Rolläden)
11 -> 8 (Central Scene to Gateway)
12 -> 8 (Central Scene to Gateway)
13 -> 8 (Central Scene to Gateway)
14 -> 8 (Central Scene to Gateway)
Step3: Speichern und dann den Taster aufwecken in dem man alle Tasten gleichzeitig drückt und danach Taste2 drückt .
Step4: Nun “Assoziationen setzten” anwählen und in allen 5 Gruppen das HC2 mit anklicken. Siehe dazu Bild 3 (assoziationen.jpg)
Step5: Nochmal speichern und dann den Taster aufwecken in dem man alle Tasten gleichzeitig drückt und danach Taste2 drückt .
Step6: Jetzt eine LUA Scene erstellen mit folgendem Inhalt.
--[[
%% properties
175 sceneActivation
%% events
175 CentralSceneEvent
%% globals
--]]
-- Sowohl "sceneActivation" als auch "CentralSceneEvent" werden unbedingt
-- benötigt. Die Zahl davor ist die ID des WALLC-2.
--++++++++++++++++++++++++
-- Hier wird das Tastendruck Attribut der Taste geholt
-- (Pressed, HeldDown, Released)
local button_source = fibaro:getSourceTrigger()["event"]["data"]
local Tastendruck = tostring(button_source["keyAttribute"])
-- fibaro:debug("Mode: "..Tastendruck)
-- Der Tastendruck wird in eine Nummer umgewandelt
local Tastenstatus = 0
if (Tastendruck == "Pressed") then Tastenstatus = 1
elseif (Tastendruck == "HeldDown") then Tastenstatus = 3
elseif (Tastendruck == "Released") then Tastenstatus = 5
end
-- fibaro:debug("Tastenstatus: "..Tastenstatus)
--++++++++++++++++++++++++
-- Hier wird die gedrückte Taste ermittelt
local startSource = fibaro:getSourceTrigger();
action = json.encode(startSource)
-- fibaro:debug("Action: "..action)
local Key1 = action:match('"keyId":1')
local Key2 = action:match('"keyId":2')
local Key3 = action:match('"keyId":3')
local Key4 = action:match('"keyId":4')
-- Die gedrückte Taste wir in eine Nummer umgewandelt
local Taste = 0
if (Key1 ~= nil) then Taste = 1
elseif (Key2 ~= nil) then Taste = 2
elseif (Key3 ~= nil) then Taste = 3
elseif (Key4 ~= nil) then Taste = 4
end
-- fibaro:debug('\n'.."Taste: "..Taste)
--+++++++++++++++++++++++++
-- Die Nummer der Taste und die Nummer des Tastendruckweise wird in eine zweistellige Form gebracht
local Ziel = Taste..Tastenstatus
-- Key1 Pressed = 11
-- Key1 HeldDown = 13
-- Key1 Released = 15
-- Key2 Pressed = 21
-- Key2 HeldDown = 23
-- Key2 Released = 25
-- Key3 Pressed = 31
-- Key3 HeldDown = 33
-- Key3 Released = 35
-- Key4 Pressed = 41
-- Key4 HeldDown = 43
-- Key4 Released = 45
-- fibaro:debug (Ziel)
--+++++++++++++++++++++++++
--Auswertung um eine andere Scene oder ein anderes Modul zu steuern!
if(Ziel == "11") then
fibaro:debug("Taste1 Pressed")
elseif(Ziel == "13") then
fibaro:debug("Taste1 HeldDown")
elseif(Ziel == "15") then
fibaro:debug("Taste1 Released")
elseif(Ziel == "21") then
fibaro:debug("Taste2 Pressed")
elseif(Ziel == "23") then
fibaro:debug("Taste2 HeldDown")
elseif(Ziel == "25") then
fibaro:debug("Taste2 Released")
elseif(Ziel == "31") then
fibaro:debug("Taste3 Pressed")
elseif(Ziel == "33") then
fibaro:debug("Taste3 HeldDown")
elseif(Ziel == "35") then
fibaro:debug("Taste3 Released")
elseif(Ziel == "41") then
fibaro:debug("Taste4 Pressed")
elseif(Ziel == "43") then
fibaro:debug("Taste4 HeldDown")
elseif(Ziel == "45") then
fibaro:debug("Taste4 Released")
end
Step7: Nun muss im Code nur noch die ID des Wandtasters angepasst werden! Siehe dazu Bild 4 (wandtasterID.jpg)
So, viel Spaß damit! Leider der Workaround sehr langsam. Wer Ideen hat wie man das anders lösen kann, vor allem schneller, immer her damit!
Besten Gruß
KF