Automatische Garagentorsteuerung mit Watchdog

Begonnen von raspklaus, 01 Juli 2014, 12:33:08

Vorheriges Thema - Nächstes Thema

raspklaus

Ich haben den Thread aus Versehen geschlossen

raspklaus

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 ?

marvin78

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.

raspklaus

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

marvin78

Ich kann dir nicht helfen, wenn du meine Fragen nicht beantwortest.

raspklaus

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


marvin78

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.

raspklaus

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 ?

marvin78

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. ;)

raspklaus

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 ?

raspklaus

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)


raspklaus

In welches Log schreibt

define test notify Garagentor146a_offen {Log 1,$NAME."-".$EVENT}

?

marvin78

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.

raspklaus

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 ?

marvin78

Ich glaube eher, dass der Doppelpunkt das Problem war. Kannst es nochmal ohne .* probieren.

raspklaus

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

marvin78

Vielleicht erleichterst du noch allen anderen das Suchen und setzt ein "gelöst" vor deinen Thementitel. Danke.

raspklaus


marvin78

Den ersten Beitrag editieren (Ändern) und den Titel dahingehend abändern.

Groby

@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


raspklaus

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

frank

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.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

raspklaus

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

raspklaus

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 ?

marvin78

#24
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)

raspklaus

Der watchdog steht im Webfrontend auf triggered

raspklaus

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

marvin78

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.

raspklaus

Welches Device meinst Du ?

Garagentor_146a
oder Garagentor_146a_offen

marvin78

Natürlich den watchdog. Um den ging es doch.

Ich empfehle wirklich dringend, die Grundlagen zu lernen!

raspklaus

#30
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

marvin78

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.

raspklaus

Der Watchdog steht aber dadurch imer noch nicht auf defined sondern auf NEXT 18:04

marvin78

Dann ist er wohl ausgelöst worden und wird nach 18:04 wieder auf defined stehen.