Hauptmenü

Verlassen der Wohnung

Begonnen von Jack_n, 09 August 2016, 11:10:07

Vorheriges Thema - Nächstes Thema

DeeSPe

absent = kurz weg (paar Stunde)
gone = lange weg (Urlaub)

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Jack_n

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

DeeSPe

Indem ich neben "state" auf "home" eben auch "location" auf "arrival" setze.
Bei location kann man setzen was man will.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

CoolTux

Und wenn du dir die Attribute an schaust gibt es da noch eines wo man asleep gotosleep und awoken einstellen kann.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Jack_n

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

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

#21
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.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

#22
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.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Jack_n

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

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Jack_n

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.

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Jack_n

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?

DeeSPe

Könnte klappen, dass musst Du aber einfach ausprobieren.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Jack_n

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