Hallo, bastele gerade an einem notify herum.
Ich nutze eine FS20 KSE (Klingelsignalerkennung) um mir eine Pushmitteilung aufs Handy zu schicken und einen Signalgeber der an einem FS20DI angeschlossen ist zu schalten.
Das klappt wunderbar, würde jetzt gerne den Signalgeber nur ansteuern wenn mein Satreceiver (Edision) present ist (lanping).
Hier mal das funktionierende notify:
klingel {
my $now = time;
my $lastReactTime = Value("klingel.LastReactTime");
if ($lastReactTime + 10 < $now)
{
fhem("set klingel.LastReactTime $now");
fhem("set Pushover1 msg 'Es klingelt' 'Besuch ist da!' '' 0 'siren'");
fhem("set Dimmer2 blink 1 3");
}
}
Schwierig ist das der FS20 KSE immer nur ein off sendet und in fhem auch dauerhaft state = off angezeigt wird, deshalb das gefrickel mit dem lastReactTime.
Das klappt aber recht zuverlässig.
Nur wie bastele ich da jetzt rein, dass der Dimmer2 nur schaltet wenn Edision present ist ?
Hoffe ihr habt ein paar Tipps für mich.
Gruß Holgi
Hallo,
if ($lastReactTime + 10 < $now){
if(Value("Edison") eq "present") {
fhem("set klingel.LastReactTime $now");
fhem("set Pushover1 msg 'Es klingelt' 'Besuch ist da!' '' 0 'siren'");
fhem("set Dimmer2 blink 1 3");
Die } bitte selbst richtig setzen.
Danke.
Grüße
Hallo, das ging aber schnell ;)
Wenn ich das richtig sehe bekomme ich aber so auch nur eine Pushmitteilung wenn Edision Present ist oder ?
Die Pushmitteilung möchte ich immer bekommen, hab mich vielleicht ein bißchen unklar ausgedrückt.
Edit: Über ein 2. Notify funktioniert es. Denke es muß doch aber auch möglich sein es in einem Notify umzusetzen oder ?
Besten Dank für deine Hilfe.
Die Push immer der blink nur wenn present.
bitte sehr:
if ($lastReactTime + 10 < $now){
fhem("set klingel.LastReactTime $now");
fhem("set Pushover1 msg 'Es klingelt' 'Besuch ist da!' '' 0 'siren'");
if(Value("Edison") eq "present") {
fhem("set Dimmer2 blink 1 3");
Du brauchst ja nur die Bedingung anders einbauen ;)
Hm, so einfach ist das ?
Klappt jetzt super, hast mir nur ne Falle eingebaut (Edison statt Edision) ;)
Besten Dank für deine Hilfe
Hier der fertige code:
klingel {
my $now = time;
my $lastReactTime = Value("klingel.LastReactTime");
if ($lastReactTime + 10 < $now){
fhem("set klingel.LastReactTime $now");
fhem("set Pushover1 msg 'Es klingelt' 'Besuch ist da!' '' 0 'siren'");
if(Value("Edision") eq "present") {
fhem("set Dimmer2 blink 1 3")
}
}
}
Komischerweise klappt das blink nicht, da muß ich nochmal ran.
Gruß Holgi
Wenn der dimmer nicht blinkt ist Edision nicht present.
Achtung! case-sensitiv ;)
Zeig mal nen Screenshot bitte - dann wird das ganze etwas leichter.
Also nen Screenshot vom Edision (oder wie der heisst).
Der Dimmer wird ja angesteuert aber er blinkt nicht. Er schaltet für eine Sekunde ein und das wars.
Wenn ich im webinterface set Dimmer2 blink 1 3 eingebe geht es. Bin jetzt nicht mehr zuhause, werde morgen nochmal testen.
Das kann aber mMn nichts mit dem present des Edision zu tun haben.
Der Befehl wird an den Aktor gesendet und der soll das dann umsetzen.
Wenn der Dimmer das ohne die present-Abfrage macht muss er das auch mit der Abfrage machen.