Ich haben den Thread aus Versehen geschlossen
also nochmal. Ich verwende
# Garagentor 146a automatisch nach 1 Stunde schliessen
define Tor watchdog Garagentor146a_offen:.open 00:05:00 Garagentor146a_offen:.closed set Garagentor_146a on
attr Tor regexp1WontReactivate
attr Tor room Garage
Das Garagentor soll 5 Minuten nachdem es geöffnet wurde wieder schliessen
Tut es aber nicht
Wer kann helfen ?
Wie sieht ein list des watchdogs aus?
Funktioniert ein Testnotify, wie
define test notify Garagentor146a_offen:.open {Log 1,$NAME."-".$EVENT}
müsste bei öffnen des Tores einen Eintrag im Log erzeugen, wenn das Event passt.
Im Fhem Log steht nur
2014.07.01 13:18:00 3: CUL_HM set Garagentor_146a on-for-timer 1
und das Tor bleibt offen
Ich kann dir nicht helfen, wenn du meine Fragen nicht beantwortest.
Sorry hatte den ersten Satz übersehen. Habe das Tor in Tor_Einfahrt umbenannt weil ich dachte vielleicht ist der Ausdruck Tor zu kurz
Hier das list
Internals:
CFGFN ./Garage.cfg
CMD set Garagentor_146a on
DEF Garagentor146a_offen:.open 00:05:00 Garagentor146a_offen:.closed set Garagentor_146a on
NAME Tor_Einfahrt
NR 160
NTFY_ORDER 50-Tor_Einfahrt
RE1 Garagentor146a_offen:.open
RE2 Garagentor146a_offen:.closed
STATE defined
TO 300
TYPE watchdog
Attributes:
regexp1WontReactivate 1
room Garage
Und das Testnotify hat nichts ins Log geschrieben, als du die Garage geöffnet hast? Dann stimmt das Event nicht. Kommen die Events des Türkontaktes denn an? Hast du mal in den Eventmontor geschaut?
Wie das Event aussehen muss, kannst du auch über
define test notify Garagentor146a_offen {Log 1,$NAME."-".$EVENT}
herausfinden.
Sorry,
vielleicht stelle ich mich etwas dumm an aber wie soll ich im Eventmonitor sehen was passiert wenn ich on für das Garagentor drücken muss ?
Es geht um das Event, welches vom Kontakt ausgelöst wird. Wie du das Garagentor öffnest, ist dabei egal. Und mehrere Browserfenster und/oder Tabs öffnen geht auch. ;)
Ja, stimmt ja
Irgendwas am Raspberry hat sich jetzt aufgehängt. Das kann ich allerdings erst heute abend überprüfen wenn ich zuhause bin. Können wir morgen weitermachen ?
Hier die Auszüge aus den Logs
2014-07-01_14:42:19 Garagentor146a_offen open
2014-07-01_14:42:19 Garagentor146a_offen contact: open (to CUL_800)
2014-07-01_14:45:50 Garagentor146a_offen battery: ok
2014.07.01 14:42:18 3: CUL_HM set Garagentor_146a on-for-timer 1
2014.07.01 14:42:19 1: Garagentor146a_offen-battery: ok
2014.07.01 14:42:19 1: Garagentor146a_offen-open
2014.07.01 14:42:19 1: Garagentor146a_offen-contact: open (to CUL_800)
2014-07-01_14:42:18 Garagentor_146a set_on
2014-07-01_14:42:19 Garagentor_146a level: 100
2014-07-01_14:42:19 Garagentor_146a pct: 100
2014-07-01_14:42:19 Garagentor_146a deviceMsg: on (to CUL_800)
In welches Log schreibt
define test notify Garagentor146a_offen {Log 1,$NAME."-".$EVENT}
?
Das hier sind die Einträge die durch das Testnotify gemacht wurden:
2014.07.01 14:42:19 1: Garagentor146a_offen-battery: ok
2014.07.01 14:42:19 1: Garagentor146a_offen-open
2014.07.01 14:42:19 1: Garagentor146a_offen-contact: open (to CUL_800)
Probier es mal so:
define Tor watchdog Garagentor146a_offen.open.* 00:05:00 Garagentor146a_offen.closed.* set Garagentor_146a on
Und setze das Attribut
event-on-change-reading state
im Fensterkontakt.
Laut Anzeige scheint es zu funktionieren. Ich muss das allerdings zuhause nochmal verifizieren.
Verstehe ich das richtig, dass nach open oder closed anscheinend noch weitere unsichtbare Zeichen (Leerzeichen) übermittelt werden die bei einem devStateIcon ignoriert werden ?
Ich glaube eher, dass der Doppelpunkt das Problem war. Kannst es nochmal ohne .* probieren.
Vielen herzlichen Dank für Deine Hilfe. Allein wäre ich darauf wahrscheinlich nicht gekommen als Neuling.
Davon könnte sich mancher hier eine Scheibe abschneiden, insbesondere die die als Antwort immer schreiben "Dann lies doch mal die Befehlsreferenz"
Nochmals danke
Vielleicht erleichterst du noch allen anderen das Suchen und setzt ein "gelöst" vor deinen Thementitel. Danke.
Wie geht das ?
Den ersten Beitrag editieren (Ändern) und den Titel dahingehend abändern.
@raspklaus:
Zitat von: marvin78 am 01 Juli 2014, 15:12:49
Und setze das Attribut
event-on-change-reading state
im Fensterkontakt.
Ich würde das Attribut folgendermaßen ändern, damit Du battery.low nicht verpasst:
event-on-change-reading battery,state
Seit ca Ende Juli funktioniert der eingetragen Watchdog nicht mehr
define Tor_Einfahrt watchdog Garagentor146a_offen.open.* 00:30:00 Garagentor146a_offen.closed.* set Garagentor_146a on
ZitatSeit ca Ende Juli funktioniert der eingetragen Watchdog nicht mehr
der wachhund wird wohl noch funktionieren. vielleicht hat sich bei der fütterung (events) etwas verändert. also probiere nochmal das test notify aus.
Du meinst ob dir Ereignisse kommen ?
In Log steht beim Test
2014.08.25 11:09:35 3: CUL_HM set Garagentor_146a on-for-timer 1
2014.08.25 11:09:36 1: trigger open erfolgreich gesehen
2014.08.25 11:10:36 3: CUL_HM set Garagentor_146a on-for-timer 1
2014.08.25 11:10:47 1: trigger closed erfolgreich gesehen
Getestet mit
define tnf1 notify Garagentor146a_offen.open.* {Log 1,"trigger open erfolgreich gesehen"}
define tnf2 notify Garagentor146a_offen.closed.* {Log 1,"trigger closed erfolgreich gesehen"}
Gibt es noch einen weiteren Test ?
Steht der watchdog auf triggered oder defined (STATE)?
Du solltest nach jedem Trigger des watchdogs denselben mit . triggern. Also:
Garagentor146a_offen.open.* 00:30:00 Garagentor146a_offen.closed.* set Garagentor_146a on;trigger Tor_Einfahrt .
(der Punkt am Ende ist wichtig/Code ist für DEF im Frontend)
Der watchdog steht im Webfrontend auf triggered
Dann sollte also folgendes in der fhem conf stehen ?
define Tor_Einfahrt watchdog Garagentor146a_offen.open.* 00:03:00 Garagentor146a_offen.closed.* set Garagentor_146a on; trigger Tor_Einfahrt .
attr Tor_Einfahrt room Garage
Steht er auf triggered, wird er nicht wieder ausgelöst. Er muss auf defined stehen. Das wird durch das
trigger Tor_Einfahrt .
bewirkt.
Um ihn jetzt wieder auf defined zu setzen, reicht ein modify im Frontend (DEF im Device anklicken und dann den Button modify, was du ja ohnehin machen musst, um den watchdog, wie vorgeschlagen, zu ändern). Dann empfehle ich noch einmal das gründliche Lesen der commandref zum Thema watchdog.
P.S.: Ich gebe keine Codes für die fhem.cfg, sondern nur für den DEF Bereich im Frontend.
Welches Device meinst Du ?
Garagentor_146a
oder Garagentor_146a_offen
Natürlich den watchdog. Um den ging es doch.
Ich empfehle wirklich dringend, die Grundlagen zu lernen!
Wenn die Commandreferenz nicht so Pinguinkurz gehalten sondern auch für Anfänger verständlich wäre könnten auch wir Deinen Ratschlag befolgen. Es gibt zwar zusätzlich die gute PDF die sich allerdings nicht mit solchen Sonderfällen befasst. Ausserdem, wenn man scripten kann muss man nicht das Webinterface unbedingt benutzen, denn das hat auch nicht immer recht. Wenn ich deine Befehlsfolge kopiere und über das Webinterface eingebe dann kommt hier z.B. wrong timespec
Ausserdem dachte ich immer ein Forum wäre auch dafür da sich gegenseitig zu helfen und dadurch Neulingen das Lernen zu erleichtern
Genau so ist es, aber es fehlen eben die Grundlagen, die man sich durchaus auch selbst aneigenen kann. Ein Forum ist da, um bei speziellen Problemen zu helfen. HIER wurde aber die commandref nicht beachtet, in der alles zu dem Thema steht. Die ist keineswegs zu knapp, sondern auf den Punkt, wie es sein muss. In Kombination mit dem PDF ist es für Einsteiger geradezu perfekt.
Garagentor146a_offen.open.* 00:30:00 Garagentor146a_offen.closed.* set Garagentor_146a on;trigger Tor_Einfahrt .
Das ist dein Code für das DEF des watchdogs und das ist korrekt.
Das Webinterface ist dein Weg. Lass die Finger von der Config. Das ist nur ein gut gemeinter Rat, den du annehmen kannst oder eben nicht.
Der Watchdog steht aber dadurch imer noch nicht auf defined sondern auf NEXT 18:04
Dann ist er wohl ausgelöst worden und wird nach 18:04 wieder auf defined stehen.