FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Jack_n am 09 August 2016, 11:10:07

Titel: Verlassen der Wohnung
Beitrag von: Jack_n am 09 August 2016, 11:10:07
Hallo,

ich würde Euch gerne fragen wie man so etwas in FHEM richtig löst:

Ich habe eine Anwesenheitserkennung per Nut-mini.
Ich habe einen Bewegungsmelder im Flur zur Wohnungstüre hin
ich habe einen Tür/Fenster Sensor an der Wohnungstüre.

Jetzt würde ich gerne Folgendes machen: Wenn die Türe geöffnet wird soll geschaut werden ob zum Zeitpunkt der Türöffnung auch der Bewegunsmelder ausgelöst hatte.
Wenn er ausgelöst hat, dann ist das ein ziemlich sicheres Zeichen, dass Jemand die Wohnungstüre verlassen hat.
Oder anderstherum wenn er nicht ausgelöst hat als die Türe geöffnet wurde ist es definitiv so, dass Jemand die Wohnung betreten hat.

Ich habe das mit einem DoIf probiert, aber das klappt nicht so weil ich nicht abfragen kann ob der Melder zum Zeitpunkt der Türöffnung gemeldet hat - sondern es wird gewartet bis die Bedingung Tür offen und Melder an passt...

Bin für jeden Tip dankbar.

Gruss
Joachim

Titel: Antw:Verlassen der Wohnung
Beitrag von: MadMax-FHEM am 09 August 2016, 11:16:56
Hi Joachim,

ob es die schlauste und schlankste Lösung ist weiß ich nicht aber wie wäre folgendes:

notify auf "Tür auf" und dann in einer sub in myUtils (oder direkt, ich mache es aber wegen der Übersichtlichkeit eher in subs, selbst kleinen Auswertungen) prüfen, ob der Bewegungsmelder ausgelöst hat und wenn ja, dann evtl. noch per ReadingsAge wann, also ob erst "kürzlich" und dann den entsprechenden Wert in einem Dummy also "kommen" oder "gehen" setzen oder machen was immer du mit der Information tun willst...

Gruß, Joachim
Titel: Antw:Verlassen der Wohnung
Beitrag von: Jack_n am 09 August 2016, 11:20:02
Hallo Joachim,

das hört sich gut an, werde ich gleich nach der Arbeit probieren.

Vielen Dank

Joachim
Titel: Antw:Verlassen der Wohnung
Beitrag von: Markus M. am 09 August 2016, 11:39:07
Was für einen Bewegungsmelder hast du?

Notify auf motion am Bewegunsmelder: Anwesend
Notify auf noMotion am Bewegungsmelder: Abwesend, wenn der Timestamp von Tür closed grösser ist als der Timestamp von motion am Bewegungsmelder
Wenn dein Bewegungsmelder nur alert meldet, legst du statt dem 2. Notify das ganze jedes mal bei alert in einem Timer an.

Problemfall: Wenn du beim Nachhausekommen die Tür zumachst und vor einer 2. Meldung des Bewegungsmelders den Flur verlässt, bist du abwesend.
Also für Abwesend am besten zusätzlich den Bluetooth Tracker überprüfen.
Dann bist du lediglich anwesend wenn du einen Zeitraum des Bewegungsmelders in Bluetooth Reichweite bist.
Wenn das ein Problem ist, musst du auf jeden Fall den Timer (s.o.) mit einem sinnvollen Zeitraum verwenden.
Titel: Antw:Verlassen der Wohnung
Beitrag von: Jack_n am 09 August 2016, 12:00:14
Hallo Markus,

wie geht das mit der Abfrage der Timestamps?

Bewegungsmelder ist der Fibaro Motion Sensor.

Ich arbeite bisher mit dem Bluetoothtracker um die Anwesenheit zu checken.
Das geht auch sehr gut.

Wenn ich oder meine Frau das Haus/Wohnung verlasse, dann gibt Sonos eine Statusmeldung aus.
Das macht auch nichts aus dass das bei jedem verlassen von der Wohnung so geschieht (kommt immer so lange die Bluetooth Tracker beide daheim sind), ich möchte nur nicht zB. bei der Rückkehr aus dem Keller mit der Statusmeldung und "Auf Wiedersehen" empfangen werden.  :D
Titel: Antw:Verlassen der Wohnung
Beitrag von: DeeSPe am 09 August 2016, 12:07:07
Zitat von: Jack_n am 09 August 2016, 12:00:14
Hallo Markus,

wie geht das mit der Abfrage der Timestamps?

Bewegungsmelder ist der Fibaro Motion Sensor.

Ich arbeite bisher mit dem Bluetoothtracker um die Anwesenheit zu checken.
Das geht auch sehr gut.

Wenn ich oder meine Frau das Haus/Wohnung verlasse, dann gibt Sonos eine Statusmeldung aus.
Das macht auch nichts aus dass das bei jedem verlassen von der Wohnung so geschieht (kommt immer so lange die Bluetooth Tracker beide daheim sind), ich möchte nur nicht zB. bei der Rückkehr aus dem Keller mit der Statusmeldung und "Auf Wiedersehen" empfangen werden.  :D

Ich setzte beispielsweise bei Ankunft eines RESIDENTS die Location des jeweiligen Bewohners auf arrival, im selben Moment wird ein at definiert welches nach 5 min die Location auf home setzt, sofern sie noch auf arrival ist. Sobald dann die Tür geöffnet und wieder geschlossen wird, wird geschaut ob der zuletzt eingetroffene Bewohner auf Location arrival steht, dieser willkommen geheißen und die Location auf home gesetzt.

Gruß
Dan
Titel: Antw:Verlassen der Wohnung
Beitrag von: Jack_n am 09 August 2016, 12:22:26
Hallo Dan,

mit der Begrüßung habe ich auch kein Problem, das klappt ganz so wie es soll.

Mein Problem ist, dass beim kurzen Verlassen der Wohnung der Tracker nicht dabei sein muss (aber kann).
Wenn man dann zurückkommt, dann soll natürlich nicht die Statusmeldung mit Verabschiedung kommen welche nun mal immer kommt wenn beide Tracker zu Hause sind.

Mit dem Residence-Modul habe ich noch nicht gearbeitet, da ich dachte dass es für 2 Personen überschaubar ist ohne.

Titel: Antw:Verlassen der Wohnung
Beitrag von: DeeSPe am 09 August 2016, 12:59:20
Ich habe nur einen Singlehaushalt zur Zeit und trotzdem das RESIDENTS Modul im Einsatz.
Habe aber z.B. auch einen Gastbesucher eingerichtet (mit entsprechendem BT-Tag), einen Testbenutzer und Familie sowie Freunde die mich regelmäßig besuchen.
Der Vorteil des RESINDENTS Modul liegt darin eben viele weitere Möglichkeiten zu haben, z.B. Setzen der Location, welcher Bewohner war zuletzt aktiv (Reading lastActivityByDev), wie lange war wer zu Hause bzw. weg.
Und einer der (meines Erachtens nach) größten Vorteile ist, dass es ein übergeordnetes Device rgr_Residents gibt, welches auf home steht solange noch ein Bewohner da ist, und dann auf absent wechselt sobald der letzte Bewohner geht.

Gruß
Dan
Titel: Antw:Verlassen der Wohnung
Beitrag von: MadMax-FHEM am 09 August 2016, 13:14:07
Zitatwie geht das mit der Abfrage der Timestamps?

Z.B. ReadingsAge (wie ReadingsVal etc.)...

http://www.fhemwiki.de/wiki/DevelopmentModuleAPI#ReadingsAge (http://www.fhemwiki.de/wiki/DevelopmentModuleAPI#ReadingsAge)
Titel: Antw:Verlassen der Wohnung
Beitrag von: Jack_n am 09 August 2016, 13:35:40
Hallo Dan, Hallo Joachim,

dann hab ich heute Abend 3 Themen: Residents, Roomate und Readings    :)

Danke Euch !

Gruss
Joachim
Titel: Antw:Verlassen der Wohnung
Beitrag von: DeeSPe am 09 August 2016, 13:39:53
Zitat von: Jack_n am 09 August 2016, 13:35:40
Hallo Dan, Hallo Joachim,

dann hab ich heute Abend 3 Themen: Residents, Roomate und Readings    :)

Danke Euch !

Gruss
Joachim

Eigentlich nur 2 Themen. ROOMMATE und GUEST gehören zu RESIDENTS. ;)

Gruß
Dan
Titel: Antw:Verlassen der Wohnung
Beitrag von: Jack_n am 09 August 2016, 17:21:09
Sodele , Residents und Rommmates habe ich angelegt, funktioniert auch sehr gut.

Von der Aufteilung ist das jetzt aber nicht so schön.

Unter dem Room Residents habe ich jetzt diese Reihenfolge: Bewohner 1 , Home State , Bewohner 2

Mit Sortby habe ich das schon versucht zu optimieren, aber Home State drängt sich immer in die Mitte.

Wie kann ich das besser machen ?

Gruss
Joachim

Titel: Antw:Verlassen der Wohnung
Beitrag von: CoolTux am 09 August 2016, 17:34:24
sorry klappt glaube nur innerhalb einer Gruppe. Also alle Devices in eine Gruppe machen und dann klappt das auch mit sortby
Titel: Antw:Verlassen der Wohnung
Beitrag von: Jack_n am 09 August 2016, 17:59:27
Hallo,

danke - alle Devices in eine Gruppe und den Alias von Status auf den Namen des Resident, dann sieht's wieder ordentlich aus   :) ;D

Danke sehr !!!

Aber eine Sache treibt mich heute noch um: Geht der Status "Absent" nicht von alleine auf "Gone" wenn 5 Min. lang nix passiert?

Viele Grüße
Joachim
Titel: Antw:Verlassen der Wohnung
Beitrag von: DeeSPe am 09 August 2016, 18:02:09
Zitat von: Jack_n am 09 August 2016, 17:59:27
Hallo,

danke - alle Devices in eine Gruppe und den Alias von Status auf den Namen des Resident, dann sieht's wieder ordentlich aus   :) ;D

Danke sehr !!!

Aber eine Sache treibt mich heute noch um: Geht der Status "Absent" nicht von alleine auf "Gone" wenn 5 Min. lang nix passiert?

Viele Grüße
Joachim

Nein, default glaube auf 36h eingestellt.
Einstellbar mit attr rr_autoGoneAfter.

Gruß
Dan
Titel: Antw:Verlassen der Wohnung
Beitrag von: DeeSPe am 09 August 2016, 18:03:03
absent = kurz weg (paar Stunde)
gone = lange weg (Urlaub)

Gruß
Dan
Titel: Antw:Verlassen der Wohnung
Beitrag von: Jack_n am 09 August 2016, 18:04:15
Zitat von: DeeSPe am 09 August 2016, 12:07:07
Ich setzte beispielsweise bei Ankunft eines RESIDENTS die Location des jeweiligen Bewohners auf arrival, im selben Moment wird ein at definiert welches nach 5 min die Location auf home setzt, sofern sie noch auf arrival ist. Sobald dann die Tür geöffnet und wieder geschlossen wird, wird geschaut ob der zuletzt eingetroffene Bewohner auf Location arrival steht, dieser willkommen geheißen und die Location auf home gesetzt.

Gruß
Dan

Ich habe nur 4 States: Home , Gone , Absent und gotoSleep.

Wie machst Du das dann mit arival ?

Gruss
Joachim
Titel: Antw:Verlassen der Wohnung
Beitrag von: DeeSPe am 09 August 2016, 18:06:11
Indem ich neben "state" auf "home" eben auch "location" auf "arrival" setze.
Bei location kann man setzen was man will.

Gruß
Dan
Titel: Antw:Verlassen der Wohnung
Beitrag von: CoolTux am 09 August 2016, 18:31:01
Und wenn du dir die Attribute an schaust gibt es da noch eines wo man asleep gotosleep und awoken einstellen kann.
Titel: Antw:Verlassen der Wohnung
Beitrag von: Jack_n am 09 August 2016, 18:33:01
Hi,

hab's jetzt gefunden.

Für die "alten Hasen" ist das bestimmt Ärmelschütteln, für mich ist das viel Lernarbeit.

Danke für Eure Geduld  :) :) :)

Joachim
Titel: Antw:Verlassen der Wohnung
Beitrag von: DeeSPe am 09 August 2016, 18:34:39
Zitat von: Jack_n am 09 August 2016, 18:33:01
Für die "alten Hasen" ist das bestimmt Ärmelschütteln, für mich ist das viel Lernarbeit.

War es für mich/uns auch...
Mache das jetzt aber schon ein halbes Jahr und da kennt man sich langsam aus. ;)

Gruß
Dan
Titel: Antw:Verlassen der Wohnung
Beitrag von: DeeSPe am 09 August 2016, 22:28:32
Hier mal ein Beispiel einer typischen Telegram Konversation wenn mein Bekannter aus dem Nachbarhaus vorbeikommt. Der hat nämlich auch einen Schlüssel für den Notfall und darf somit auch meine Wohnung betreten (Alarmanlage geht aus).
Wenn er der letzte gewesen wäre der gegangen ist, so hätte er auch eine Benachrichtigung über das Einschalten der Alarmanlage und den Hinweis über eventuell noch geöffnete Außenfenster/-türen bekommen. Natürlich bekomme ich immer eine Nachricht wenn die Alarmanlage an/aus geschaltet wird wenn ich nicht zu hause bin. ;)

Gruß
Dan

EDIT: Dateianhang entfernt.
Titel: Antw:Verlassen der Wohnung
Beitrag von: DeeSPe am 09 August 2016, 22:36:02
Und hier noch mal meine zurechtgeschnippelte persönliche Konversation von heute (musste da ein paar Sachen rausschneiden weil ein Kontakt bei mir heute Fehlalarme ausgelöst hat).

Gruß
Dan

EDIT: Dateianhang entfernt.
Titel: Antw:Verlassen der Wohnung
Beitrag von: Jack_n am 10 August 2016, 19:07:46
So, ich bin schon recht weit gekommen mit Residents und Roommate.

Jetzt wollte ich noch mal das Problem angehen wie man feststellen kann ob Jemand gekommen oder gegangen ist.

Meine Idee war auszuwerten ob zuerst der Bewegungsmelder im Flur auslöst oder der Sensor an der Wohnungseingangstüre (zum Flur).

Es klappt aber leider nicht...

Die sub KommtGeht wird mit einem Notify aufgerufen wenn die Flurtüre geöffnet wird.

Hab ich da einen Denkfehler drin, oder was meint Ihr ?

sub KommtGeht() {

    my $secondsTuere=@_;
    my $secondsBWMF=@_;
    my $default=@_;

    sleep 2;
    $secondsTuere = ReadingsAge("ZWave_Haustuere", "reportedState", $default);
    $secondsBWMF = ReadingsAge("ZWave_Sensor_Flur", "motion", $default);
    if ($secondsTuere<$secondsBWMF) {speak("Jemand ist gegangen.")} else {speak("Jemand ist gekommen.")};
   
}
Titel: Antw:Verlassen der Wohnung
Beitrag von: DeeSPe am 10 August 2016, 19:11:39
Warum löst Du das nicht wie von mir vorgeschlagen mit dem Setzen der Location beim Ankommen?
Dann kann Dir der Bewegungsmelder total egal sein. ;)

Gruß
Dan
Titel: Antw:Verlassen der Wohnung
Beitrag von: Jack_n am 10 August 2016, 19:24:01
Hallo Dan,

weil ich auch beim Gehen ein Ereigniss auslösen will und das direkt beim Verlassen der Wohnung, nicht beim Verlassen der BlueToothreichweite.
Ich möchte idealerweise ohne den BT Tracker wissen ob Jemand kommt oder geht.
Titel: Antw:Verlassen der Wohnung
Beitrag von: DeeSPe am 10 August 2016, 19:52:26
Zitat von: Jack_n am 10 August 2016, 19:07:46
So, ich bin schon recht weit gekommen mit Residents und Roommate.

Jetzt wollte ich noch mal das Problem angehen wie man feststellen kann ob Jemand gekommen oder gegangen ist.

Meine Idee war auszuwerten ob zuerst der Bewegungsmelder im Flur auslöst oder der Sensor an der Wohnungseingangstüre (zum Flur).

Es klappt aber leider nicht...

Die sub KommtGeht wird mit einem Notify aufgerufen wenn die Flurtüre geöffnet wird.

Hab ich da einen Denkfehler drin, oder was meint Ihr ?

sub KommtGeht() {

    my $secondsTuere=@_;
    my $secondsBWMF=@_;
    my $default=@_;

    sleep 2;
    $secondsTuere = ReadingsAge("ZWave_Haustuere", "reportedState", $default);
    $secondsBWMF = ReadingsAge("ZWave_Sensor_Flur", "motion", $default);
    if ($secondsTuere<$secondsBWMF) {speak("Jemand ist gegangen.")} else {speak("Jemand ist gekommen.")};
   
}

Deine Perlkenntnisse sind nicht ausreichend...  8)

Wenn Du der Funktion was übergeben willst, dann so "sub KommtGeht($)".
Den Variablen weist du hier gerade das nicht übergebene zu (@_).
Ob die Rechnung mit dem ReadingsAge richtig ist kann ich Dir nicht sagen weil ich bisher nicht mit ReadingsAge gearbeitet habe.

Gruß
Dan
Titel: Antw:Verlassen der Wohnung
Beitrag von: Jack_n am 10 August 2016, 20:31:49
Ich habe jetzt einen anderen Ansatz aber auch dafür sind meine Perlkentnisse nicht ausreichend  8)

Was ich machen will: Wenn die Tür geöffnet wird wird ermittelt ob der Bewegungsmelder open ist und ob das ReadingsAge von motion mindestens 2 Sekunden alt ist.
2 Sekunden deshalb weil man beim Gehen locker 2 Sekunden vor dem Melder rumgeht.


Beim Kommen kann der Melder zwar auch open sein (wenn er die Türe als Bewegung erkennt) aber das Age sollte nicht >2 Sekunden sein weil man ja noch nicht vom Melder registriert wurde.

Was meinst Du Dan, kann das klappen?
Titel: Antw:Verlassen der Wohnung
Beitrag von: DeeSPe am 10 August 2016, 22:20:25
Könnte klappen, dass musst Du aber einfach ausprobieren.

Gruß
Dan
Titel: Antw:Verlassen der Wohnung
Beitrag von: Jack_n am 11 August 2016, 07:34:56
Hallo Dan,

beim Verlassen der Wohnung hat's schon mal geklappt.

Muss heute Nachmittag mal schauen wie es beim Ankommen ist.

War gestern Abend schon zu spät um noch ständig vor die Tür zu gehen   ;D

Der Code ist auch noch ziemlich müllig, da werde ich heute Abend auch noch mal studieren müssen wie man das besser machen kann.

Viele Grüße
Jo