So… Ich habe nun alles in eine Szene gepackt, damit ich sicherstellen konnte, dass sich hier nichts beißt. Und das Ergebnis ist verwirrend.
Ich habe alle 3 Szenarien reingesetzt (lausche auf Signal 14, lausche auf Signal 24, lausche auf Signal 25) und eine Debug-Zeile je Szenario ergänzt. Hier das Skript:
--[[
%% properties
21 sceneActivation
27 sceneActivation
35 sceneActivation
%% weather
%% events
%% globals
--]]
local startSource = fibaro:getSourceTrigger();
if (
(
tonumber(fibaro:getValue(21, "sceneActivation")) == 14 -- 21 = Raffstore WoZi Links, Signal 14 ist Doppelklick hoch (S1)
or
tonumber(fibaro:getValue(27, "sceneActivation")) == 14 -- 27 = Raffstore Essen Links Unten, Signal 14 ist Doppelklick hoch (S1)
or
tonumber(fibaro:getValue(35, "sceneActivation")) == 14 -- 35 = Raffstore Kueche Schiebelement, Signal 14 ist Doppelklick hoch (S1)
)
)
then
fibaro:debug("Signal 14, es geht rauf");
fibaro:call(21, "open"); -- 21 = Raffstore WoZi Links
fibaro:call(23, "open"); -- 23 = Raffstore WoZi Schiebelement
fibaro:call(25, "open"); -- 25 = Raffstore WoZi rechts
fibaro:call(27, "open"); -- 27 = Raffstore Essen Links Unten
fibaro:call(29, "open"); -- 29 = Raffstore Essen Rechts Unten
fibaro:call(31, "open"); -- 31 = Raffstore Essen Rechts Oben
fibaro:call(33, "open"); -- 33 = Raffstore Essen Links Oben
fibaro:call(35, "open"); -- 35 = Raffstore Kueche Schiebelement
fibaro:call(37, "open"); -- 37 = Raffstore Speisekammer Links
fibaro:call(39, "open"); -- 39 = Raffstore Speisekammer Rechts
fibaro:call(41, "open"); -- 41 = Raffstore Gaeste-WC
fibaro:call(21, "setValue2", "100"); -- 21 = Raffstore WoZi Links
fibaro:call(23, "setValue2", "100"); -- 23 = Raffstore WoZi Schiebelement
fibaro:call(25, "setValue2", "100"); -- 25 = Raffstore WoZi rechts
fibaro:call(27, "setValue2", "100"); -- 27 = Raffstore Essen Links Unten
fibaro:call(29, "setValue2", "100"); -- 29 = Raffstore Essen Rechts Unten
fibaro:call(31, "setValue2", "100"); -- 31 = Raffstore Essen Rechts Oben
fibaro:call(33, "setValue2", "100"); -- 33 = Raffstore Essen Links
fibaro:call(35, "setValue2", "100"); -- 35 = Raffstore Kueche Schiebelement
fibaro:call(37, "setValue2", "100"); -- 37 = Raffstore Speisekammer Links
fibaro:call(39, "setValue2", "100"); -- 39 = Raffstore Speisekammer Rechts
fibaro:call(41, "setValue2", "100"); -- 41 = Raffstore Gaeste-WC
end
if (
(
tonumber(fibaro:getValue(21, "sceneActivation")) == 24 -- 21 = Raffstore WoZi Links, Signal 24 ist Doppelklick runter (S2)
or
tonumber(fibaro:getValue(27, "sceneActivation")) == 24 -- 27 = Raffstore Essen Links Unten, Signal 24 ist Doppelklick runter (S2)
or
tonumber(fibaro:getValue(35, "sceneActivation")) == 24 -- 35 = Raffstore Kueche Schiebelement, Signal 24 ist Doppelklick runter (S2)
)
)
then
fibaro:debug("Signal 24, es geht runter");
fibaro:call(21, "close"); -- 21 = Raffstore WoZi Links
fibaro:call(23, "close"); -- 23 = Raffstore WoZi Schiebelement
fibaro:call(25, "close"); -- 25 = Raffstore WoZi rechts
fibaro:call(27, "close"); -- 27 = Raffstore Essen Links Unten
fibaro:call(29, "close"); -- 29 = Raffstore Essen Rechts Unten
fibaro:call(31, "close"); -- 31 = Raffstore Essen Rechts Oben
fibaro:call(33, "close"); -- 33 = Raffstore Essen Links Oben
fibaro:call(35, "close"); -- 35 = Raffstore Kueche Schiebelement
fibaro:call(37, "close"); -- 37 = Raffstore Speisekammer Links
fibaro:call(39, "close"); -- 39 = Raffstore Speisekammer Rechts
fibaro:call(41, "close"); -- 41 = Raffstore Gaeste-WC
fibaro:call(21, "setValue2", "0"); -- 21 = Raffstore WoZi Links
fibaro:call(23, "setValue2", "0"); -- 23 = Raffstore WoZi Schiebelement
fibaro:call(25, "setValue2", "0"); -- 25 = Raffstore WoZi rechts
fibaro:call(27, "setValue2", "0"); -- 27 = Raffstore Essen Links Unten
fibaro:call(29, "setValue2", "0"); -- 29 = Raffstore Essen Rechts Unten
fibaro:call(31, "setValue2", "0"); -- 31 = Raffstore Essen Rechts Oben
fibaro:call(33, "setValue2", "0"); -- 33 = Raffstore Essen Links
fibaro:call(35, "setValue2", "0"); -- 35 = Raffstore Kueche Schiebelement
fibaro:call(37, "setValue2", "0"); -- 37 = Raffstore Speisekammer Links
fibaro:call(39, "setValue2", "0"); -- 39 = Raffstore Speisekammer Rechts
fibaro:call(41, "setValue2", "0"); -- 41 = Raffstore Gaeste-WC
end
if (
(
tonumber(fibaro:getValue(21, "sceneActivation")) == 25 -- 21 = Raffstore WoZi Links, Signal 25 ist Dreifach-Klick runter (S2)
or
tonumber(fibaro:getValue(27, "sceneActivation")) == 25 -- 27 = Raffstore Essen Links Unten, Signal 25 ist Dreifach-Klick runter (S2)
or
tonumber(fibaro:getValue(35, "sceneActivation")) == 25 -- 35 = Raffstore Kueche Schiebelement, Signal 25 ist Dreifach-Klick runter (S2)
)
)
then
fibaro:debug("Signal 25, Privacy");
fibaro:call(21, "close"); -- 21 = Raffstore WoZi Links
fibaro:call(35, "close"); -- 35 = Raffstore Kueche Schiebelement
fibaro:call(37, "close"); -- 37 = Raffstore Speisekammer Links
fibaro:call(39, "close"); -- 39 = Raffstore Speisekammer Rechts
fibaro:call(23, "open"); -- 23 = Raffstore WoZi Schiebelement
fibaro:call(25, "open"); -- 25 = Raffstore WoZi rechts
fibaro:call(27, "open"); -- 27 = Raffstore Essen Links Unten
fibaro:call(29, "open"); -- 29 = Raffstore Essen Rechts Unten
fibaro:call(31, "open"); -- 31 = Raffstore Essen Rechts Oben
fibaro:call(33, "open"); -- 33 = Raffstore Essen Links Oben
fibaro:call(41, "open"); -- 41 = Raffstore Gaeste-WC
fibaro:call(21, "setValue2", "0"); -- 21 = Raffstore WoZi Links
fibaro:call(35, "setValue2", "0"); -- 35 = Raffstore Kueche Schiebelement
fibaro:call(37, "setValue2", "0"); -- 37 = Raffstore Speisekammer Links
fibaro:call(39, "setValue2", "0"); -- 39 = Raffstore Speisekammer Rechts
fibaro:call(23, "setValue2", "100"); -- 23 = Raffstore WoZi Schiebelement
fibaro:call(25, "setValue2", "100"); -- 25 = Raffstore WoZi rechts
fibaro:call(27, "setValue2", "100"); -- 27 = Raffstore Essen Links Unten
fibaro:call(29, "setValue2", "100"); -- 29 = Raffstore Essen Rechts Unten
fibaro:call(31, "setValue2", "100"); -- 31 = Raffstore Essen Rechts Oben
fibaro:call(33, "setValue2", "100"); -- 33 = Raffstore Essen Links
fibaro:call(41, "setValue2", "100"); -- 41 = Raffstore Gaeste-WC
end
Dann drücke ich den S1 doppelt und das Chaos beginnt. Und das hier loggt er:
[DEBUG 18:35:33: Signal 14, es geht rauf]
[DEBUG 18:35:34: Signal 25, Privacy]
Obwohl also nur 14 gesendet wird schlägt auch Signal 25 zu… Häh…