Hallo,
ich habe den Melder hier:
https://www.amazon.de/Neo-Coolcam-Z-Wave-Plus-Bewegungsmelder/dp/B073SVHZNJ
Wie kann man damit einen Fibaro Switch steuern
- Bewegung = Licht an
- keine Bewegung = Licht aus mit einer Verzögerung von z.B. 300 S
Das Script unten funktioniert nicht. Bewegunsmelder löst aus, licht geht nicht an.
Was kann das sein?
Danke
Gruß
Haase
–[[
%% properties
30 value
%% globals
–]]
– VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 1 – ID dieser Szene
local motion = 325 – ID des Bewegungssensors
local switch = 382 – ID des Relay Switches
– Lösche doppelte Szene(n)
if (fibaro:countScenes()>1) then
fibaro:abort();
end
– SCHALTE LICHT EIN & AUS
if (tonumber(fibaro:getValue(motion, “value”)) > 0 ) and (tonumber(fibaro:getValue(switch, “value”))) < 1 then
fibaro:call(switch, “turnOn”);
fibaro:debug(“Schalte Licht ein”);
end
– Verzögerung in Sekunden nach der letzten erkannten Bewegung, bevor das Licht ausgeschaltet wird
if (tonumber(fibaro:getValue(switch, “value”))) > 0 then
local starttimer = 900;
local timer = (starttimer);
fibaro:debug(“Starte Timer”);
repeat
fibaro:sleep(1000);
– Schalte Licht aus, wenn Schalter manuell betätigt wird und warte 10 Sekunden, um ein
– versehentliches (erneutes) Aktivieren der Szene zu verhindern
if (tonumber(fibaro:getValue(switch, “value”))) < 1 then
timer=1;
fibaro:call(switch, “turnOff”);
fibaro:sleep(10000);
break
end
timer=timer-1;
– Timer zurücksetzen, wenn neue Bewegung erkannt wird innherhalb der Verzögerungszeit
if (tonumber(fibaro:getValue(motion, “value”))) > 0 then
timer=starttimer;
fibaro:debug(“Resete Time, Bewegung erkannt bzw. Motionsensor sendet noch nicht (vgl. Parameter 6)”);
end
until (timer<1)
– Schalte Licht aus, wenn Timer vollständig abgelaufen ist
fibaro:call(switch, “turnOff”);
fibaro:debug(“Timer abgelaufen/Schalte Licht aus”);
fibaro:killScenes(scene);
end
Hast du den Hinweis bei den Variablen gelesen?
Nehme an Bewegungsmelder hat nicht die ID 30.
Hallo,
325, wie angegeben"local motion = 325 — ID des Bewegungssensors"… Guck mal im Bild. Was meinst Du mit 30?
Im Ereignisprotokoll kann ich erkennen, dass der Melder ausgelöst hat. Funktioniert also.
Danke
Gruß
Haase
Siehe da:
(Bewegungsmelder muss oben unter %% properties aufgeführt sein)
–[[
%% properties
30 value
%% globals
–]]
muss durch:
–[[
%% properties
325 value
%% globals
–]]
ersetzt werden!
hallo prof_haase,
ich hab das bei mir ohne Szene gelöst.
Dazu verwende ich eine Assoziation von Bewegungsmelder mit Fibaro Switch zum einschalten.
Das hat den Charm dass es auch ohne HC2 geht und weniger verzögerung hat.
- Beim Bewegungsmelder in der Group 1 den Fibaro Switch als single assoziation ankreuzen.
- Bewegungsmelder aufwecken.
- beim Fibaro Switch Parameter 12 hinterlegen nach welcher Zeit der Switch wieder ausgehen soll (in Sekunden).
ich würde gerade noch Parameter 9 auf Wert 0 setzen, damit das Licht aus ist nach einen Stromausfall
Allerdings habe ich ein Fibaro Bewegungsmelder. Ich gehe aber davon aus, dass der coolcam auch assoziazionen unterstützt.
Grüsse - kro
Hallo,
@mdietinger: Danke, dass klatt nun… Komisch nur, bei mir ist das alle “grau” als nur remark Text, oder? Siehe Bild anbei
@kroeatschge: Danke, habe ich mal probiert, klappt nicht. Settings siehe Bild anbei.
Das mit den Assoziation noch nicht verstanden. Was bedeuten Group 1,2,3 usw… Ich weiß nur, hier kann ein “Modul” ein anderes direkt seteuern… Mehr nicht. Daher weiß ich auch nicht, warum das nicht klappt.
Also, was ich gemacht habe.
- Assoziation gesetzt wie im Bild, Melder aufgeweckt
- Die Szene läuft parallel
- Über die Assoziation den Dimmer “Licht Schreibtisch” angesteuert, über die Szene den Dimmer “Licht Fenster”.
So, kommt einer in de Raum, geht Licht Fenster (Szene) an, Licht Schreibitsch (Assoziation) nicht. Warum nicht?
Hallo,
So wie ich das sehe hast du diesen Motion Sensor.
https://www.cd-jackson.com/zwave_device_uploads/401/Manual-for-Motion-sensor-PIR-Zwave-Neo.pdf
Auf Seite 8 steht dass er 2 Assoziationsgruppen unterstützt.
Gruppe 2 kommuniziert mit der Zentrale, sollte also auf 1 stehen.
Gruppe 1 kommuniziert direkt mit einem anderen Zwave Gerät. Ich nehme an dass 88 dein Licht Schreibtisch ist. Somit sollte hier nur die 88 markiert sein. Die 1 = Zentrale kannst du abwählen.
Auf Seite 11 wird der Parameter 2 erwähnt, damit kannst du direkt die anschalte Dauer einstellen ohne das an der Lampe einstellen zu müssen.
In Parameter 3 wird bestimmt welcher Wert an das assoziierte Gerät geschickt wird. Versuch da mal 255.
Damit sollte alles klappen.
Gruß Kro
Hallo,
danke, klappt
Frohes Neues
Gruß
Haase
Hallo zusammen,
ich arbeite mit der selben LUA Szene, möchte diese jetzt allerdings etwas umbauen und komme selbst nicht klar, vielleicht kann mir ja jemand helfen:
Ich möchte dass das Licht (in meinem Fall ein Ventilator im WC) erst nach mehr als 3 Minuten Bewegung an geht (großes Geschäft und dann 10 min. läuft.
Hier die bisherige Szene:
–[[
%% properties
162 value
%% globals
–]]
– VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 30 – ID dieser Szene
local motion = 162 – ID des Bewegungssensors
local switch = 225 – ID des Relay Switches
– Lösche doppelte Szene(n)
if (fibaro:countScenes()>1) then
fibaro:abort();
end
– SCHALTE LICHT EIN & AUS
if (tonumber(fibaro:getValue(motion, “value”)) > 0 ) and (tonumber(fibaro:getValue(switch, “value”))) < 1 then
fibaro:call(switch, “turnOn”);
fibaro:debug(“Schalte Licht ein”);
end
– Verzögerung in Sekunden nach der letzten erkannten Bewegung, bevor das Licht ausgeschaltet wird
if (tonumber(fibaro:getValue(switch, “value”))) > 0 then
local starttimer = 600;
local timer = (starttimer);
fibaro:debug(“Starte Timer”);
repeat
fibaro:sleep(1000);
– Schalte Licht aus, wenn Schalter manuell betätigt wird und warte 10 Sekunden, um ein
– versehentliches (erneutes) Aktivieren der Szene zu verhindern
if (tonumber(fibaro:getValue(switch, “value”))) < 1 then
timer=1;
fibaro:call(switch, “turnOff”);
fibaro:sleep(10000);
break
end
timer=timer-1;
– Timer zurücksetzen, wenn neue Bewegung erkannt wird innherhalb der Verzögerungszeit
if (tonumber(fibaro:getValue(motion, “value”))) > 0 then
timer=starttimer;
fibaro:debug(“Resete Time, Bewegung erkannt bzw. Motionsensor sendet noch nicht (vgl. Parameter 6)”);
end
until (timer<1)
– Schalte Licht aus, wenn Timer vollständig abgelaufen ist
fibaro:call(switch, “turnOff”);
fibaro:debug(“Timer abgelaufen/Schalte Licht aus”);
fibaro:killScenes(scene);
end