Hauptmenü

watchdog

Begonnen von HenrikAachen, 29 November 2016, 14:42:16

Vorheriges Thema - Nächstes Thema

Otto123

Also meine Vermutung war ja, das Problem liegt beim dummy. Den sehe ich jetzt nicht. Bei einem list <Devicename> sieht man generell mehr als auf Bildern.

Dein notify geht so gar nicht:Hinweise:
<Suchmuster> ist entweder der Name des auslösenden ("triggernden") Gerätes oder die Kombination aus Gerät und auslösendem Ereignis (Event) Gerätename:Event.
Das <Suchmuster> muss exakt (!) entweder dem Gerätenamen entsprechen oder der Zusammenfügung aus Gerätename:Event. Events lassen sich mit "inform" in Telnet oder durch Beobachtung des "Event-Monitors" in FHEMWEB ermitteln.

Was Du gemacht hast ist kein Suchmuster sondern eine logische Verknüpfung A && B && C die Du als Auslösebedingung haben möchtest.
Ein notify kannst Du triggern und anschließend mit Perl Abfragen einbauen. Durch geschicktes RegEx kannst Du auch den Trigger schon als Verknüpfung bauen.

Eventuell ist das was Du willst für Dich einfacher mit einem DOIF zu machen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

HenrikAachen

#16
Hallo Otto,

ok verstehe ich.
Meine Aufgabe besteht ja aus mehreren Teilen.

1. Ist mein Watchdog nun richtig, dass er wenn nach 55min kein erneutes "on" gekommen ist, er Anwesenheit auf off stellt?
Internals:
   CMD        set dummy_anwesenheit off; trigger watchdogAnwesenheit .
   DEF        dummy_anwesenheit:on 00:50:00 SAME set dummy_anwesenheit off; trigger watchdogAnwesenheit .
   NAME       watchdogAnwesenheit
   NR         106
   NTFY_ORDER 50-watchdogAnwesenheit
   RE1        dummy_anwesenheit:on
   RE2        dummy_anwesenheit:on
   STATE      Next: 19:03:04
   TO         3000
   TYPE       watchdog
   Readings:
     2016-12-01 18:13:04   Activated       activated
     2016-12-01 15:24:21   Triggered       triggered
Attributes:
   group      Hilfsmodul
   room       Szenen


2. Wenn der dummy_anwesenheit auf off gestellt wird:


Internals:
   NAME       dummy_anwesenheit
   NR         103
   STATE      on
   TYPE       dummy
   Readings:
     2016-12-01 18:13:04   state           on
Attributes:
   devStateIcon on:HOME_Status.1 off:HOME_Status.3
   event-on-update-reading state
   eventMap   1
   group      Hilfsmodul
   room       Szenen



3. Ein Notify mir bei dem dummy_anwesenheit=off das sz_abwesenheit auf on setzt (wenn anwesend on und aufstehen on ist):

Internals:
   DEF        dummy_anwesenheit:off && sz_anwesenheit:on && Aufstehen:on set sz_abwesendmelden on
   NAME       ntf_anwesenheit_off
   NOTIFYDEV  dummy_anwesenheit
   NR         107
   NTFY_ORDER 50-ntf_anwesenheit_off
   REGEXP     dummy_anwesenheit:off
   STATE      2016-12-01 15:24:21
   TYPE       notify
   Readings:
     2016-11-30 20:53:03   state           active
Attributes:
   group      Hilfsmodul
   icon       HOME_Status.0
   room       Szenen


Sehe ich es richtig, dass 1) und 2) ok sind. Ich aber bei 3) ein DOIF einbauen soll?

Beispiel:
(ist mein erster DOIF, Syntax habe ich erraten):

define di_anwesenheit DOIF ([sz_anwesenheit] eq "on" and [Aufstehen] eq "on" and [dummy_anwesenheit] eq "off" (set dummy_anwesenheit off)


Otto123

Hi,

das DOIF sieht gut aus, sollte klappen.
Dein watchdog sieht auch gut, aber ich hatte verstanden es funktioniert nicht.

Ich denke, es funktioniert nicht weil der dummy das  attr event-on-update-reading state gesetzt hat.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

HenrikAachen

Kriege im DOIF noch ein Error:

error
perl error in condition: InternalDoIf($hash,'sz_anwesenheit','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "on" and InternalDoIf($hash,'Aufstehen','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "on" and InternalDoIf($hash,'dummy_anwesenheit','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "off" (set dummy_anwesenheit off): syntax error at (eval 2011) line 1, near ""off" ("

Konfig vom Doif:

([sz_anwesenheit] eq "on" and [Aufstehen] eq "on" and [dummy_anwesenheit] eq "off" (set dummy_anwesenheit off))

Otto123

Da ist eine Klammer falsch:
   
([sz_anwesenheit] eq "on" and [Aufstehen] eq "on" and [dummy_anwesenheit] eq "off") (set dummy_anwesenheit off)

Immer (Bedingung)(Kommando) !

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

HenrikAachen

Klar, mist sitze schon zu lange hier. Super. Ich lass es jetzt mal Testweise laufen und melde mich wenn der Watchdog nicht geht. Vielen Dank.