FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Roli1606 am 01 Februar 2014, 23:39:34

Titel: (Gelöst) Abwesenheits erkennung
Beitrag von: Roli1606 am 01 Februar 2014, 23:39:34
Hallo,
ich überwache 2 Gerät mit dem Precence Befehl was auch super funktioniert.

Jetzt möchte ich beide Geräte überwachen und dann einen Dummy schalten. Das funktioniert aber nicht habe nur leider keine ahnung warum nicht.

Kann mir jemand helfen?

Gruß Roland


define Anwesenheit dummy
attr Anwesenheit room Anwesend
attr Anwesenheit setList absent present

define HandyRoland PRESENCE lan-ping 192.168.170.6 30 10
attr HandyRoland room Anwesend

define LaptopRV PRESENCE lan-ping 192.168.170.5 30 10
attr LaptopRV room Anwesend

define anwesenheit.Check at +*00:00:01 {if (Value("HandyRoland") eq "absent" && Value("LaptopRV") eq "absent") {fhem("set Anwesenheit absent″) if (Value("Anwesenheit") ne "absent″)} else {fhem ("set Anwesenheit present″) if (Value("Anwesenheit") eq "absent″) ;; }}
Titel: Antw:Abwesenheits erkennung
Beitrag von: justme1968 am 01 Februar 2014, 23:58:46
um den status von deinen beiden presence zu verknüpfen solltest du eine structure verwenden. das spart das regelmässige prüfen weil es event gesteuert ist.

die structure ersetzt dir (auch fast immer) den dummy den du verwenden willst.

gruss
  andre
Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 02 Februar 2014, 00:05:40
wenn man jetzt noch wüsste wie.  :o

Habe auch gemerk das ich im falschen Bereich gepostet hab kann das jemand verschieben?
Titel: Antw:Abwesenheits erkennung
Beitrag von: justme1968 am 02 Februar 2014, 00:06:56
such mal nach structure und presence :)

gruss
  andre
Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 02 Februar 2014, 00:22:37
Hab es jetzt so hinbekommen.

##ABWESENHEIT##


define HandyRoland PRESENCE lan-ping 192.168.170.6 30 10
attr HandyRoland room Anwesend

define LaptopRV PRESENCE lan-ping 192.168.170.5 30 10
attr LaptopRV room Anwesend

define Anwesenheit structure anwesenheit1 HandyRoland LaptopRV
attr Anwesenheit clientstate_behavior relative
attr Anwesenheit clientstate_priority present absent
attr Anwesenheit room Anwesend

define Anwesenheit_Roland watchdog Anwesenheit:present 00:00:01 Anwesenheit:absent set Tuerschloss unlock ;; setstate Abwesenheit_Roland defined

define Abwesenheit_Roland watchdog Anwesenheit:absent 00:30 AT.Roland:present set Tuerschloss lock ;; setstate Anwesenheit_Roland defined
attr Anwesenheit_Roland regexp1WontReactivate 1
attr Abwesenheit_Roland regexp1WontReactivate 1

define Anwesenheit08an at *08:00:00 attr Anwesenheit_Roland disabel0
define Abwesenheit08an at *08:00:00 attr Abwesenheit_Roland disabel0

define Anwesenheit22aus at *22:30:00 attr Anwesenheit_Roland disabel1
define Abwesenheit22aus at *22:30:00 attr Abwesenheit_Roland disabel1


So jetzt läuft es wie es soll. Die ganzen Namen sind noch etwas umständlich aber es macht was e soll.
Titel: Antw:Abwesenheits erkennung
Beitrag von: Puschel74 am 02 Februar 2014, 20:26:23
Hallo,

wenn dein Problem gelöst ist könntest du bitte so nett sein und deinen ersten Beitrag nochmal bearbeiten und ein (Gelöst) dem Titel vorne dran stellen?
Dann wissen alle das die Frage gelöst wurde.

Danke

Grüße
Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 06 Februar 2014, 22:30:06
Habe noch ein Problem mit meiner Abwesenheits -erkennung.

An sich klappt es so wie es sein soll, allerdings wenn ich morgens vor 8 Uhr schon absent bin und um 8 Uhr die Überwachung eingeschaltet wird bleibt die Tur unlock. Ich nehme an, dass es daran liegt, dass sich der Status in der Structure nicht mehr ändert. Wie kann ich das ändern?

Grus Roland
Titel: Antw:Abwesenheits erkennung
Beitrag von: Puschel74 am 06 Februar 2014, 22:54:42
Hallo,

ZitatWie kann ich das ändern?
Indem du zumindest so hilfreich wärst und deinen bisherigen Code in Code-Tags hier offenbaren würdest.

Wir können aber auch raten und dir einen ganz anderen Code empfehlen - der aber nur wieder Fragen aufwerfen könnte.
Du siehst - könnte, würde ist immer schlecht.
Ist wäre besser  ;)

Grüße
Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 06 Februar 2014, 23:08:46
Der Code steht noch 2 einträge höher, kann ihn aber gerne nochmal einstellen.

##ABWESENHEIT##


define HandyRoland PRESENCE lan-ping 192.168.170.6 30 10
attr HandyRoland anwesenheit1 Anwesenheit
attr HandyRoland room Anwesend

define LaptopRV PRESENCE lan-ping 192.168.170.5 30 10
attr LaptopRV anwesenheit1 Anwesenheit
attr LaptopRV room Anwesend

define Anwesenheit structure anwesenheit1 HandyRoland LaptopRV
attr Anwesenheit clientstate_behavior relative
attr Anwesenheit clientstate_priority present absent
attr Anwesenheit room Anwesend

define Anwesenheit_Roland watchdog Anwesenheit:present 00:00 Anwesenheit:absent set Tuerschloss unlock ;; setstate Abwesenheit_Roland defined
attr Anwesenheit_Roland room Anwesend

define Abwesenheit_Roland watchdog Anwesenheit:absent 00:01 Anwesenheit:present set Tuerschloss lock ;; setstate Anwesenheit_Roland defined
attr Abwesenheit_Roland room Anwesend

define Anwesenheit08an at *08:00:00 attr Anwesenheit_Roland disabel0
attr Anwesenheit08an room Anwesend
define Abwesenheit08an at *08:00:00 attr Abwesenheit_Roland disabel0
attr Abwesenheit08an room Anwesend

define Anwesenheit22aus at *22:30:00 attr Anwesenheit_Roland disabel1
attr Anwesenheit22aus room Anwesend
define Abwesenheit22aus at *22:30:00 attr Abwesenheit_Roland disabel1
attr Abwesenheit22aus room Anwesend

Titel: Antw:Abwesenheits erkennung
Beitrag von: Markus am 09 Februar 2014, 13:14:02
das schaut aber komisch aus..
ich kenn das mit dumys deren wert man ändert zb anwesend in abwesend aber mit define und disabel das ist mir dann doch zu hoch

define Aufenthalt_Bad structure Aufenthalt_Bad_structure Licht_Bad
attr Aufenthalt_Bad clientstate_behavior relativeKnown
attr Aufenthalt_Bad clientstate_priority ja|On|on|ja|Ja nein|Off|off|nein|Nein
attr Aufenthalt_Bad devStateIcon ja:scene_bathroom@green nein:scene_bathroom@red
attr Aufenthalt_Bad event-on-change-reading .*
attr Aufenthalt_Bad webCmd ja:nein

define Aufenthalt_Schlafzimmer dummy

....if ( Value("Aufenthalt_Bad") eq "ja") { \
fhem "set Aufenthalt_Schlafzimmer nein" \
}

da ich es einfacher finde habe ich auch keinen watchdog sondern realiesiere es immer auf die art+

define Markus_Daheim notify Markus_Handy:present {\
fhem ( "set Markus present ;; delete Markus_Weg ;; define Markus_Weg at +00:04:00 set Markus absent")}




nur ein beispiel aus dem kopf als denkanstos

Gruß Markus
Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 09 Februar 2014, 16:52:50
Wie gesagt Die Anwesenheits Erkennung arbeitet recht zuverlässig. Das Problem ist nur Das Abschalten der watchdog´s in der Nacht.

Ist es möglich den Status meiner Anwesenheits Structure zu bestimmten Zeiten auf absent stellen obwohl jemand present ist, und dadurch die Tür nachts automatisch verriegelt wird?

Ich hoffe das ist verständlich... :-)
Titel: Antw:Abwesenheits erkennung
Beitrag von: Markus am 10 Februar 2014, 12:43:48
schau dir notify an damit sind richtig geniale lösungen möglich

Gruß Markus
Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 10 Februar 2014, 22:58:11
Soll ich die Komplette schaltung in eine Notify packen oder nur das Schalten des Tuerschlosses?

Das ganze ist mir so aus dem nichts etwas zu hoch. Habe auch nichts vergleichbares gefunden das ich für mich umschreiben kann. 

Wenn ich mit dem notify die anwesenheit überwache kommt ja der zustand present und absent rein und nicht on oder off. Habe keine Ahnung wie ich das weiter verarbeiten kann.

Und wie bekomme ich es hin das mir nur zu bestimmten Uhrzeiten das Schloss aufgeschlossen wird und es Nachts zuu bleibt.

Gruß Roland
Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 11 Februar 2014, 15:56:22
Habe das Notify jetzt mal grob zusammen gebastelt. Allerdings kommt jetzt der Fehler
Unknown command if, try help.


define Tuer_zu_Abwesend notify Anwesenheit:absent { my $hm == sprintf("%%02d:%%02d", $hour, $min) ; if ($hm gt "08:00" || $hm lt "17:00") && (Value("Tuerschloss") =~ m/^unlocked/) { fhem("set Tuerschloss lock") }}
attr Tuer_zu_Abwesend room Anwesend

#define Tuer_zu_Abwesend notify Anwesenheit:absent {if ($hour > 8 || $hour < 17) && (Value("Tuerschloss") =~ m/^unlocked/) {fhem("set Tuerschloss lock") }}
Titel: Antw:Abwesenheits erkennung
Beitrag von: Wernieman am 11 Februar 2014, 16:11:19
In der fhem.cfg oder im Web so eingetragen?
Titel: Antw:Abwesenheits erkennung
Beitrag von: Markus Bloch am 11 Februar 2014, 17:14:33
Semikolons innerhalb von Perl Code müssen doppelt geschrieben werden (escaping), da sonst ab dem Semikolon ein neuer FHEM Befehl erwartet wird.

Also:

define Tuer_zu_Abwesend notify Anwesenheit:absent { my $hm == sprintf("%%02d:%%02d", $hour, $min) ;; if ($hm gt "08:00" || $hm lt "17:00") && (Value("Tuerschloss") =~ m/^unlocked/) { fhem("set Tuerschloss lock") }}
attr Tuer_zu_Abwesend room Anwesend
Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 11 Februar 2014, 20:52:12
Ich habe das direkt in eine .cfg datei geschrieben die in die fhem.cfg eingebunden ist.

Hab jetzt 2 Semikolon eingefügt und nun kommt eine andere Fehlermeldung

2014.02.11 20:49:21 3: Tuer_zu_Abwesend return value: syntax error at (eval 41) line 1, near ") &&"
syntax error at (eval 41) line 1, near "}}"

define Tuer_zu_Abwesend notify Anwesenheit:absent { my $hm == sprintf ("%%02d:%%02d", $hour, $min) ;; if ($hm gt "08:00"||$hm lt "22:00") && (Value("Tuerschloss") =~ m/^unlocked/) { fhem("set Tuerschloss lock") }}
attr Tuer_zu_Abwesend room Anwesend
Titel: Antw:Abwesenheits erkennung
Beitrag von: SGi am 11 Februar 2014, 21:06:07
Hallo zusammen,

ich klinke mich mal ein, da ich ein ähnliches Problem habe. Auch ich verwende PRESENCE, was per Bluetooth tadellos den Status meiner beiden Dummys ATH_A und ATH_B setzt. Daraus folgend (oder auch unter Einbeziehung weiterer Parameter) möchte ich ein globales weiteres Dummy setzen, das den Status des Hauses als "bewohnt" oder "unbewohnt" anzeigt. Es scheitert aber schon bei den beiden Werten.

Nun habe ich schon in der cfg und auch im DEFinition-Feld anhand verschiedener Posts und Lösungswege experimentiert, mein Statusdummy verändert sich aber leider nie so wie ich das will oder aber gar nicht. Ziel ist es, bei Änderung eines der beiden ATH-Flags zu überprüfen, ob beide auf "absent" sind. Erst dann ist das Haus "unbewohnt", ansonsten immer "bewohnt". Die nachfolgende Variante erscheint mir am nachvollziehbarsten, geht aber nicht :-)

Mein notify-DEF (copy-paste) enthält folgendes:


ATH.*:absent {
  if (Value("ATH_A") eq "absent" && Value("ATH_B") eq "absent") {
    if (Value("Haus") ne "unbewohnt″) { fhem("set Haus unbewohnt") }
    else {
    if (Value("Haus") eq "unbewohnt") { fhem("set Haus bewohnt") }
    }
  }
}


Wo ist der Fehler (wahrscheinlich wieder so ein Klammerding...) ?

Cheers,

Sven


EDIT:

Habs jetzt nach mehrfachem Lesen dieses und anderer Threads auch hinbekommen, mich für die elegante Art der Struktur entschieden - und weiß mittlerweile wo mein (simpler) Fehler lag. Hier also der Hinweis, damit nicht noch jemand drauf reinfällt:

Zum Testen meiner Funktionen hatte ich  ATH_A und ATH_B als dummys definiert und solange die Zeile mit PRESENCE auskommentiert. Über eine Event-Map habe ich dann den Status auf "present" oder "absent" gesetzt (Codes auf die wesentlichen Zeilen gekürzt):


define ATH_A dummy
# define ATH_A PRESENCE local-bluetooth 12:34:56:78:90:12
attr ATH_A eventMap /on:present/off:absent/

define Haus structure Anwesenheit ATH_A ATH_B
attr Haus clientstate_behavior relative
attr Haus clientstate_priority bewohnt|present unbewohnt|absent


Alles sah in der Weboberfläche richtig aus und ich konnte die Stati per Hand schalten. Trotzdem funktionierte da aber die o.g. Struktur nicht und lieferte ein "undefined".

Offensichtlicher Grund: die Dummys lieferten trotzdem nur die Werte "on" und "off", getestet wird aber nur auf "absent" und "present", und nur darauf wird gemäß Definition auch "Haus" auf "bewohnt" oder "unbewohnt" gesetzt.

Ergänze ich aber "on" und "off" in den Werte-Gruppen der Struktur


attr Haus clientstate_priority bewohnt|present|on unbewohnt|absent|off


So funktioniert PRESENCE, und ich kann alternativ durch aktivieren der "Dummy"-Zeilen und auskommentieren von PRESENCE zum Testen auch mal händisch mit den Dummys arbeiten...


Trotzdem wieder mal danke für dieses Forum und allen fleissigen Mitstreitern...

Sven
Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 11 Februar 2014, 22:39:31
Habe noch einige Fehler die ich nicht erkennen kann. Vielleicht erkennt ja einer was oder kann mir sagen was die Fehler Code´s bedeuten.

2014.02.11 22:33:29 3: Tuer_zu_Abwesend return value: syntax error at (eval 39) line 1, near ") &&"
syntax error at (eval 39) line 1, near "}}"

2014.02.11 22:33:29 3: Tuer_zu_Abwesend return value: syntax error at (eval 41) line 1, near ") &&"
syntax error at (eval 41) line 1, near "}}"

2014.02.11 22:34:38 3: Tuer_zu_Abwesend return value: syntax error at (eval 46) line 1, near ") &&"
syntax error at (eval 46) line 1, near "}}"

2014.02.11 22:34:55 3: Tuer_zu_Abwesend return value: syntax error at (eval 48) line 1, near ") &&"
syntax error at (eval 48) line 1, near "}}"

2014.02.11 22:35:21 3: Tuer_zu_Abwesend return value: syntax error at (eval 50) line 1, near ") &&"
syntax error at (eval 50) line 1, near "}}"

2014.02.11 22:35:38 3: Tuer_zu_Abwesend return value: syntax error at (eval 52) line 1, near ") &&"
syntax error at (eval 52) line 1, near "}}"

2014.02.11 22:36:05 3: Tuer_zu_Abwesend return value: syntax error at (eval 54) line 1, near ") &&"
syntax error at (eval 54) line 1, near "}}"

2014.02.11 22:36:21 3: Tuer_zu_Abwesend return value: syntax error at (eval 56) line 1, near ") &&"
syntax error at (eval 56) line 1, near "}}"

2014.02.11 22:36:48 3: Tuer_zu_Abwesend return value: syntax error at (eval 58) line 1, near ") &&"
syntax error at (eval 58) line 1, near "}}"

define HandyRoland PRESENCE lan-ping 192.168.170.6 30 10
attr HandyRoland anwesenheit1 Anwesenheit
attr HandyRoland room Anwesend

define LaptopRV PRESENCE lan-ping 192.168.170.5 30 10
attr LaptopRV anwesenheit1 Anwesenheit
attr LaptopRV room Anwesend

define Anwesenheit structure anwesenheit1 HandyRoland LaptopRV
attr Anwesenheit clientstate_behavior relative
attr Anwesenheit clientstate_priority present absent
attr Anwesenheit room Anwesend

define Tuer_zu_Abwesend notify Anwesenheit:absent {my $hm == sprintf ("%%02d:%%02d", $hour, $min) ;; if ($hm gt "08:00" || $hm lt "22:00") && (Value("Tuerschloss") =~ m/^unlocked/) { fhem("set Tuerschloss lock") }}
attr Tuer_zu_Abwesend room Anwesend
Titel: Antw:Abwesenheits erkennung
Beitrag von: yogiflop am 12 Februar 2014, 07:41:05
Zitat von: Roli1606 am 11 Februar 2014, 20:52:12
Ich habe das direkt in eine .cfg datei geschrieben die in die fhem.cfg eingebunden ist.

Hab jetzt 2 Semikolon eingefügt und nun kommt eine andere Fehlermeldung

2014.02.11 20:49:21 3: Tuer_zu_Abwesend return value: syntax error at (eval 41) line 1, near ") &&"
syntax error at (eval 41) line 1, near "}}"

define Tuer_zu_Abwesend notify Anwesenheit:absent { my $hm == sprintf ("%%02d:%%02d", $hour, $min) ;; if ($hm gt "08:00"||$hm lt "22:00") && (Value("Tuerschloss") =~ m/^unlocked/) { fhem("set Tuerschloss lock") }}
attr Tuer_zu_Abwesend room Anwesend


Versuche mal bitte :

define Tuer_zu_Abwesend notify Anwesenheit:absent { my $hm == sprintf ("%%02d:%%02d", $hour, $min) ;; if ( ($hm gt "08:00"||$hm lt "22:00") && (Value("Tuerschloss") =~ m/^unlocked/) ) { fhem("set Tuerschloss lock") }}
attr Tuer_zu_Abwesend room Anwesend
Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 12 Februar 2014, 20:53:14
Habe es jetzt so hin bekommen. Die Tür schliest ab und auch wieder auf so wie es sein soll. Nur möchte ich nicht das meine Tür sofort abgeschlossen wird sobald ich offline bin sondern erst eine halbe Stunde verzögert. Ist es einfacher Das in der Structure unterzubringen oder wie kann ich das am besten lösen?


define Anwesenheit structure anwesenheit1 HandyRoland LaptopRV
attr Anwesenheit clientstate_behavior relative
attr Anwesenheit clientstate_priority present absent
attr Anwesenheit room Anwesend

define Tuer_zu_Abwesend notify Anwesenheit:absent { my $hm == sprintf ("%%02d:%%02d", $hour, $min) ;; if (($hm gt "08:00" || $hm lt "22:00") && (Value("Tuerschloss") =~ m/^unlocked/))  { fhem("set Tuerschloss lock") }}
attr Tuer_zu_Abwesend room Anwesend

define Tuer_auf_Anwesend notify Anwesenheit:present { my $hm == sprintf ("%%02d:%%02d", $hour, $min) ;; if (($hm gt "08:00" || $hm lt "22:00") && (Value("Tuerschloss") =~ m/^locked/))  { fhem("set Tuerschloss unlock") }}
attr Tuer_auf_Anwesend room Anwesend


Gruß Roland
Titel: Antw:Abwesenheits erkennung
Beitrag von: Jupp am 12 Februar 2014, 23:35:05
Hallo Roland,
ich habe bei der Schaltung einer übergreifenden Abwesenheit mit einer Struktur gearbeitet. Da ich außerdem nicht wollte, dass die Abwesenheit zu zügig geschaltet wird habe ich mit einem Watchdog gearbeitet, der meinen Anwesenheitsdummy erst ab einer Abwesenheit von min.  3 Minuten schaltet:
# dummyJupp auf abwesend setzen nach 3 Min Abwesenheit
define wd_iPhoneJuppAbwesend watchdog iPhoneJupp:absent 00:03 iPhoneJupp:present set dummyJupp off
attr wd_iPhoneJuppAbwesend regexp1WontReactivate 1

# dummyJupp auf on setzen bei Anwesenheit
define dummyJuppOn notify iPhoneJupp:present { fhem ("set dummyJupp on;; setstate wd_iPhoneJuppAbwesend defined") if (Value("dummyJupp") ne "anwesend") }

iPhoneJupp ist dabei das PRESENCE Gerät. Bei uns gibt es 2 Geräte für die Abwesenheit, die beide über den Watchdog einen Dummy schalten. Beide Dummies sind in eine Struktur gefasst und voila...da ist sie, die kumulierte Abwesenheit :)
# Gemeinsame Anwesenheit
define Anwesenheit structure AtHome dummyAnke dummyJupp
attr Anwesenheit clientstate_behavior relative
attr Anwesenheit clientstate_priority on|anwesend off|abwesend
attr Anwesenheit devStateIcon anwesend:status_available abwesend:status_away_1
attr Anwesenheit eventMap on:anwesend off:abwesend


Ich hoffe es hilft.

Gruß
Jupp
Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 14 Februar 2014, 22:49:24
Hallo ich bin immer noch nicht so weit das es läuft. Ich überwache eine Structure mit dem Watchdog und möchte einen Dummy in dem angegebenen Zeitraum schalten. Kommen aber fehler im Log.

2014.02.14 22:40:52 3: Watchdog WD_Abwesenheit triggered
2014.02.14 22:40:52 3: Unknown command my, try help.
Unknown command if, try help.

ist da ein Fehler drin oder geht das garnicht?

define WD_Abwesenheit watchdog Handys_anwesend:absent 00:00:01 { my $hm == sprintf ("%%02d:%%02d", $hour, $min) ;; if (($hm gt "20:15" && $hm lt "22:59") } Handys_anwesend:present set Anwesenheit absent
attr WD_Abwesenheit room Anwesend
Titel: Antw:Abwesenheits erkennung
Beitrag von: Jupp am 17 Februar 2014, 22:45:48
Hallo Roland,

hat ein wenig gedauert, sorry...

Du hast scheinbar das Watchdog-Command ein wenig verdreht. Die Hilfe lässt sich folgendermaßen aus:

define <name> watchdog <regexp1> <timespec> <regexp2> <command>


Auf Dein define übertragen heißt das:
Das Problem liegt also bei <regexp2>. Dort hast Du ein Perl-Coding; allerdings sollte dort Handys_anwesend:present stehen. Probier es also mal hiermit:
define WD_Abwesenheit watchdog Handys_anwesend:absent 00:00:01 Handys_anwesend:present set Anwesenheit absent
Das Perl-Coding sieht für mich so aus, als wolltest Du das set Anwesenheit absent nur zwischen 20:15 und 22:59 schalten lassen, sehe ich das richtig? Dann solltest Du das auch in Deinem <command> verwursten. Z.B. so:

define WD_Abwesenheit watchdog Handys_anwesend:absent 00:00:01 Handys_anwesend:present {my $hm == sprintf ("%%02d:%%02d", $hour, $min) ;; if (($hm gt "20:15" && $hm lt "22:59") { fhem "set Anwesenheit absent" } }

Klappt es damit?

Wichtig dabei wäre noch, dass Du Deinem Watchdog sagst, dass er nicht bei jedem Feststellen der Abwesenheit zwischen 20:15 und 22:59 feuert; da der Präsenz-Dienst im Regelfall recht fleißig ist und alle paar Minuten ein Event auf An- oder Abwesenheit feuert würde demenstprechend auch jedes Mal das <command> ausgeführt werden. Du solltest bei Deinem Watchdog also noch etwas hinzufügen:

attr WD_Abwesenheit regexp1WontReactivate 1


Viele Grüße
Jupp
Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 18 Februar 2014, 09:09:57
Hallo Jupp Danke für die Hilfe. Ich habe am Sonntag abend eine etwas andere Lösung hin bekommen.  Habe die of Bedingung mit der zeit raus genommen und schaue den Watchdog einfach auf triggered wenn er nicht mehr schalten soll.  Ich bin mir aber noch nicht ganz sicher ob alles schon so funktioniert wie ich es möchte. Werde noch ein wenig testen und dann meine Fertige configuration hier einstellen. 

Gruß Roland

Gesendet von meinem GT-I8190 mit Tapatalk

Titel: Antw:Abwesenheits erkennung
Beitrag von: Roli1606 am 01 März 2014, 16:23:00
Hier nochmal der komplette Code wie es jetzt läuft. Habe das Precense ausgetauscht da das Anpingen  zu unzuverlässig war. Die Anwesenheit wir jetzt über die Tasker App auf den Handys geschaltet.

## Handy Roland
define Handy_Roland dummy
attr Handy_Roland Anwesenheit Handys_anwesend
attr Handy_Roland room Anwesend

## Handy Verena
define Handy_Verena dummy
attr Handy_Verena Anwesenheit Handys_anwesend
attr Handy_Verena room Anwesend

## Structure beide Handys
define Handys_anwesend structure Anwesenheit Handy_Roland Handy_Verena
attr Handys_anwesend clientstate_behavior relative
attr Handys_anwesend clientstate_priority present absent
attr Handys_anwesend room Anwesend

define Anwesenheit dummy
attr Anwesenheit room Anwesend

## WD an aus
define WDonoff dummy
attr WDonoff room Anwesend
attr WDonoff setList on off
attr WDonoff webCmd on:off

define WD_Abwesenheit watchdog Handys_anwesend:absent 00:15:00 Handys_anwesend:present set Anwesenheit absent;; setstate WD_Abwesenheit defined
attr WD_Abwesenheit regexp1WontReactivate 1
attr WD_Abwesenheit room Anwesend

define WD_Anwesenheit watchdog Handys_anwesend:present 00:00:01 Handys_anwesend:abesent set Anwesenheit present;; setstate WD_Anwesenheit defined
attr WD_Anwesenheit room Anwesend

define WDaktiv notify WDonoff {if (Value("WDonoff") eq "on") {fhem("setstate WD_Abwesenheit defined;; setstate WD_Anwesenheit defined")} else {fhem("setstate WD_Abwesenheit triggered;; setstate WD_Anwesenheit triggered")}   }

define Tuer_zu_Abwesend notify Anwesenheit:absent { if (Value("Tuerschloss") =~ m/^unlocked/)  { fhem("set Tuerschloss lock") }}
attr Tuer_zu_Abwesend room Anwesend

define Tuer_auf_Anwesend notify Anwesenheit:present { if (Value("Tuerschloss") =~ m/^locked/)  { fhem("set Tuerschloss unlock") }}
attr Tuer_auf_Anwesend room Anwesend

## Zeitschaltung

##Wohnungstür von Sonntag bis Donnerstag täglich um 23:00 Uhr absperren
define WohnungstuerSoBisDoVerriegeln at *23:00 {if (($wday==0) ||($wday==1)||($wday==2)||($wday==3)||($wday==4)) {fhem("set Tuerschloss lock;; set WDonoff off") }}

##Wohnungstür am Freitag und Samstag um 23:59 Uhr nachts absperren
define WohnungstuerVonFrBisSaVerriegeln at *23:59 {if (($wday == 5) || ($wday == 6)) {fhem("set Tuerschloss lock;; set WDonoff off") }}

##Wohnungstür von Mo bis Sa um 05:35 Uhr entriegeln
define WohnungstuerVonMoBisSaentriegeln at *05:35 {if (($wday == 1) || ($wday == 2) || ($wday == 3) ||($wday == 4) || ($wday == 5) || ($wday == 6)) {fhem("set Tuerschloss unlock  if (Value('Anwesenheit') eq 'present');; set WDonoff on;; trigger Anwesenheit") }}

## Wohnungstür am Sonntag um 09:00 Uhr entriegeln
define WohnungstuerAmSoEntriegeln at *09:33 {if (($wday == 0)) {fhem("set Tuerschloss unlock  if (Value('Anwesenheit') eq 'present');; set WDonoff on;; trigger Anwesenheit") }}

##FileLog
define FileLog_Anwesenheit FileLog ./log/Anwesenheit-%Y.log Handy_Roland|Handy_Verena|Anwesenheit|Handys_anwesend|WD_Abwesenheit|WD_Anwesenheit|Tuer_zu_abwesend|Tuer_auf_anwesend|WohnungstuerAmFrSaVerriegeln
attr FileLog_Anwesenheit logtype text
attr FileLog_Anwesenheit room Anwesend
attr FileLog_Anwesenheit verbose 5



Gruß Roland