Structure Zeitverzögerung nur beim ausschalten?

Begonnen von SIM_23, 28 Februar 2016, 11:56:11

Vorheriges Thema - Nächstes Thema

SIM_23

Hallo zusammen,
ich hoffe meine Frage ist hier am richtigen Ort...gesucht habe ich schon eine ganze Weile ohne Erfolg.

Ich möchte mit einer Rev Funksteckdosen Fernbedienung einige Lichter auf einmal schalten. Das klappt auch mit einer Structure "LichtStruc" ,dem Dummy "Beleuchtung" und dem Notify "alleLichter".

Notify:

define alleLichter notify Beleuchtung set LichterStruc $EVENT

Jetzt würde ich es gerne so haben das nur beim ausschalten eine Verzögerung von 2min eingebaut ist.

was ich schon probiert habe:

define alleLichter notify Beleuchtung set LichterStruc $EVENT
{
if ($Beleuchtung = on )
{ fhem('set LichterStruc on');}
else
{
if ($Beleuchtung  = off )
{ fhem('sleep 10 ;; set LichterStruc  off');}
}
}


Das führt aber dazu das gar nichts mehr passiert...

Eventlog:

2016-02-28 16:40:10 structure LichterStruc on {   if ($Beleuchtung = on )   { fhem('set LichterStruc on')
2016-02-28 16:40:10 IT Beleuchtung on
2016-02-28 16:40:24 structure LichterStruc off {   if ($Beleuchtung = on )   { fhem('set LichterStruc on')
2016-02-28 16:40:24 IT Beleuchtung off


Sorry, hab erst vor 3 Tagen mit fhem angefangen und stehe da auf dem Schlauch.

Viele Grüße,

Simon

abc2006

Warum schaltest du LichterStruc on, aber Beleuchtung off ?

Vor allem,
if Beleuchtung = off
set Beleuchtung = off

macht in meinen Augen wenig Sinn?

Grüße
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

SIM_23

Da hast du natürlich recht...danke, ich hab das korrigiert,  ändert aber leider nichts daran dass nicht geschaltet wird wenn ich die Taste drücke...

abc2006

Hi,
ich versuchs mal:
Warum schreibst du bei dem notify das "set LichterStruc $EVENT" vor der geschweiften Klammer? Ich will nicht behaupten, dass das falsch ist, aber ich habe das bei mir nicht:

define alleLichter notify Beleuchtung
{
if ($Beleuchtung = on )
{ fhem('set LichterStruc on');}
else
{
if ($Beleuchtung  = off )
{ fhem('sleep 10 ;; set LichterStruc  off');}
}
}


Als zweites musst du den Wert von deinem Beleuchtungs-Dummy? abfragen:

define alleLichter notify Beleuchtung
{
if (ReadingsVal("Beleuchtung","state",0) = "on" )
{ fhem('set LichterStruc on');}
else
{
if (ReadingsVal("Beleuchtung","state",0)  = off )
{ fhem('sleep 10 ;; set LichterStruc  off');}
}
}


und als drittes würde ich die Bezeichnungen nach Typ benennen:
Das bedingt aber z.B. eine Änderung in der define des Dummys!

define S_alleLichter notify D_Beleuchtung
{
if (ReadingsVal("D_Beleuchtung","state",0) = "on" )
{ fhem('set LichterStruc on');}
else
{
if (ReadingsVal("D_Beleuchtung","state",0)  = off )
{ fhem('sleep 10 ;; set LichterStruc  off');}
}
}


desweiteren empfehle ich, die Änderungen im Webfrontend anzulegen und nur dort zu editieren. Bin selbst alles andere als Klickibunti, aber habe mir das trotzdem angewöhnt... es ist subjektiv einfacher :-)

zu dem sleep kann ich jetzt nix genaues sagen ...

Grüße, Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

CoolTux

Soll die ganze Struktur mit Verzögerung schalten oder die einzelnen Geräte in der Structure mit Verzögerung? Für letzteres kann man als Attribut in der Structure ein async_delay machen.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

SIM_23

Hallo, danke erstmal für den Lösungsvorschlag abc2006. Leider wird die Structure dabei nicht geschaltet, also es passiert garnichts mehr.

Und ja, es soll die ganze Structure zeitverzögert aus geschaltet werden. Beim einschalten soll keine Verzögerung drin sein. Ziel ist mit der Fernbedienung im Wohnzimmer auf aus zu drücken und noch genug Zeit zu haben um mit Licht raus zu laufen. Im optimal Fall sollen die Hue's zur Bestätigung fürs ausschalten einmal kurz blinken.

Hat vielleicht noch jemand einen Lösungsansatz für mich?