Hallo zusammen,
ich bräuchte mal einen Schubser in die richtige Richtung ... :
Habe ein ganz einfaches Notify, das auf eine einfache Geschichte reagieren soll, ich aber irgendwie vor lauter Bäumen keinen Wald sehe ... Ich sehe einfach nicht warum das Notify nicht auslöst :-\
Das Notify
shellydimmer:input_0.*|shellydimmer:light_0:..* {
fhem ("setreading shellydimmer_F3627A manual on;");
Log(1, "--$NAME--");
}
Eventmonitor Einträge auf die er eigentlich reagieren sollte:
2019-12-30 00:10:23.226 MQTT2_DEVICE shellydimmer input_0: 1
2019-12-30 00:10:23.313 MQTT2_DEVICE shellydimmer input_0: 0
2019-12-30 00:10:23.534 MQTT2_DEVICE shellydimmer light_0: on
2019-12-30 00:10:23.614 MQTT2_DEVICE shellydimmer ison: true
2019-12-30 00:10:25.168 MQTT2_DEVICE shellydimmer input_0: 1
2019-12-30 00:10:25.260 MQTT2_DEVICE shellydimmer input_0: 0
2019-12-30 00:10:25.573 MQTT2_DEVICE shellydimmer light_0: off
Aber weder das oben erwähnte Reading noch der Log Eintrag werden gesetzt...... Irgendwie bin ich damit grad restlos überfordert ... kann mir da jemand helfen ?
Vielen Dank im Voraus
Grüße
Andreas
Hallo Andreas,
ändere mal vor allem den Ausführungsteil:
shellydimmer:input_0:.*|shellydimmer:light_0:.* {Log 1, "--$NAME--"}
Dann sehen wir weiter ;)
Das ; am Ende des FHEM Befehl gefällt mir nicht ;)
https://wiki.fhem.de/wiki/Notify#Mein_notify_geht_nicht_-_wie_kann_ich_mir_selbst_helfen:_Debugging
Gruß Otto
Hey Otto,
vielen Dank für Deine Antwort. Habe es wie von Dir vorgeschlagen probiert, leider ohne Erfolg ....
Was mich am meisten ärgert, ist dass ich jetzt nicht zum ersten Mal einen Notify erstelle, der Perl und fhem gemischt ist aber hier stoße ich immer wieder ans gleiche Problem.
OT Zum Theme Semikolon in der Zeile:
TK_.*:contact.* {
my $virt_dev =0;
# Wenn Fensterkontakt virtual_ (Homematic) existiert, wird dieser auch gesetzt
$virt_dev = "virtual_".$NAME if defined($defs{"virtual_".$NAME});
if($EVTPART1 eq "false") {
fhem ("setreading $NAME state delay; sleep ".ReadingsVal($NAME, "delay", 0)." $NAME; setreading $NAME state open;");
fhem ("sleep ".ReadingsVal($NAME, "delay", 0)." $virt_dev; set $virt_dev postEvent open;") if $virt_dev;
}
elsif($EVTPART1 eq "true") {
fhem ("cancel $NAME quiet; setreading $NAME state closed;");
fhem ("cancel $virt_dev quiet; set $virt_dev postEvent closed;") if $virt_dev;
}
}
Das ist zB mein Verzögerungs Notifiy, falls Tür / Fensterkontakte verzögert durchschalten sollen und der Status zusätzlich an die virtuellen Devices für Homematic übertragen wird. Das funktioniert einwandfrei
Ratlose Grüße
Andreas
Dann fang ganz vorne an und lass das notify Gerüst wie im Wiki beschrieben mit dem Eventmonitor anlegen :)
https://wiki.fhem.de/wiki/Event_monitor
erstmal für ein Gerät ;)
Aaaaaaaaaaaaaaaahhhhh ich dreh noch durch ... wirklich :(
Sorry dass ich Deine Zeit geraubt habe mir so einem Blödsinn:
Ich habe beim basteln und Probieren immer 2 Envent-Monitore offen, bei den ich das dann testen / verfolgen kann. In einem ist nur das betroffene Device drin und im anderen ohne Filter UND die Log Einträge. Jetzt kannst Du Dir vorstellen wo ich die Logeinträge gesucht und NICHT gefunden habe :'(
Manchmal sollte man aufhören, wenn vor lauter Bäumen kein Wald zu sehen ist ;(
Danke für Deine Hilfe und Zeit
Grüße
Andreas