Keymatic automatisch schließen bei Abwesenheit?

Begonnen von visionsurfer, 03 Oktober 2016, 11:12:44

Vorheriges Thema - Nächstes Thema

visionsurfer

Hallo,

Ich bin noch ziemlicher Anfänger. Ich hab mir aber ein Keymatic Türschloss installiert. Dazu zwei Funk Handsender für mich und meine Frau.

Ich denke aber das muss besser gehen. Immer die Teile mitzuschleppen ist ätzend.

Was ist wohl der beste Weg? In welche Richtung sollte ich schauen?

Es gibt doch wohl mindestens 3 Wege. Handy hab ich immer dabei wenn ich das Haus verlasse. Wenn ich nur kurz mit dem Hund gehe, dann meistens ohne Hund. Dann ziehe ich die Tür nur zu und es muss nicht abgeschlossen sein. Eintritt erhalte ich per ekey Fingerprint und elektrischem Summer.

Doch wie kann ich am besten automatisch abschließen lassen? Und natürlich auch öffnen ?

Durch Fritzbox die das Handy erkennt?
Durch geo Daten ?
Durch irgendwas anderes ?

Wir haben iPhones, vielleicht ist das noch wichtig ?

Was meint ihr? Was sollte ich mir näher anschauen ?

Cool wäre dann auch noch eine whatsapp mit: Haus verriegelt

Grüße
Visionsurfer

Invers

ZitatWenn ich nur kurz mit dem Hund gehe, dann meistens ohne Hund.
Sehr interessant, vorallem für den Hund. :-)
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Benni

#2
Hallo Visionsurfer,

bei uns gibt es auch "nur" iPhones zur Anwesenheitserkennung.

Die Anwesenheit wird über die Geodaten ermittelt (Stichwort Geofencing).
Gelöst ist das bei mir über ifttt (also auch die IF-App auf dem Phone). Es wird damit je nach Verlassen, bzw. Betreten eines bestimmten Bereiches eine E-Mail an ein für FHEM eingerichtetes IMAP-Postfach gesendet. Dieses Postfach wird FHEM-seitig per mailcheck ausgewertet und setzt so die An-/Abwesenheit der ROOMATES entsprechend (s.a. RESIDENTS).

Wenn keiner mehr zuhause ist, wird nach einer bestimmten Zeit die Haustür verriegelt. Verzögert durch einen watchdog, damit beim kurzer Abwesenheit nicht abgeschlossen wird (Geht auch für das Gassi-Gehen mit dem Hund).

Sobald wieder jemand nach Hause kommt, wird automatisch auch die Haustür wieder entriegelt.

Das ganze funktioniert hier sehr zuverlässig (>95%) und bei unseren iPhones damit wesentlich besser, als alles, was ich zuvor versucht hatte (Bluetooth, WLAN, Geofency).

Gegenüber Geofency hat die obige Methode noch den Vorteil, dass kein "Loch" für den Webhook ins eigene Netzwerk geöffnet werden muss.

Ach ja, die Meldung, dass die Tür Verriegelt wurde bekommt immer derjenige per telegram auf's Handy, der zuletzt das Haus verlassen hat.

Gruß Benni.

visionsurfer

Moin,

Ups, da hat sich ein Tippfehler eingeschlichen. Natürlich mit Hund, nur ohne verriegeln.

Ok, geofencing hört sich gut an.

Wie ist die Erfahrung mit einer Fritzbox und WLAN?

Klappt das nicht auch gut?

Grüße
Visionsurfer

Benni

Zitat von: visionsurfer am 03 Oktober 2016, 12:53:34
Wie ist die Erfahrung mit einer Fritzbox und WLAN?

Die Verzögerungen, bis der Status im Netz aktualisiert ist, ist teilw. erheblich (mehrere Minuten).
Außerdem verschwinden die iPhones auch schon mal aus dem WLAN, auch wenn sie eigentlich noch da sind (Powersave!?)

visionsurfer

Hi,

ok. Das wäre natürlich doof, wenn ich vor der Tür stehe und diese sich nicht öffnet. Hätte ich nicht gedacht das es da so einen zeitlichen Unterschied gibt.

Ich dachte immer, das geht auch in Echtzeit.

Was ich noch auf irgendeinen Video gesehen hatte, ist ein Zahlenschloss in einer Art APP, bzw. mobilen Webseite. Damit hatte die Version, dann nach Eingabe von einem Code auch das Schloss geöffnet.
Wäre vielleicht was für den Notfall.

Wobei ich ja erreichen möchte, das bei Abwesenheit und bei Anwesenheit das Schloss automatisch öffnet und schließt.

Also bei GEO Daten, müssten dann beide Iphones damit arbeiten, richtig ? Das von meiner Frau und mein Gerät. Sonst würde es ja nicht funktionieren.

Grüße,
Visionsurfer

Mitch

Zitat von: Benni am 03 Oktober 2016, 12:24:41
Hallo Visionsurfer,

bei uns gibt es auch "nur" iPhones zur Anwesenheitserkennung.

Die Anwesenheit wird über die Geodaten ermittelt (Stichwort Geofencing).
Gelöst ist das bei mir über ifttt (also auch die IF-App auf dem Phone). Es wird damit je nach Verlassen, bzw. Betreten eines bestimmten Bereiches eine E-Mail an ein für FHEM eingerichtetes IMAP-Postfach gesendet. Dieses Postfach wird FHEM-seitig per mailcheck ausgewertet und setzt so die An-/Abwesenheit der ROOMATES entsprechend (s.a. RESIDENTS).

Wenn keiner mehr zuhause ist, wird nach einer bestimmten Zeit die Haustür verriegelt. Verzögert durch einen watchdog, damit beim kurzer Abwesenheit nicht abgeschlossen wird (Geht auch für das Gassi-Gehen mit dem Hund).

Sobald wieder jemand nach Hause kommt, wird automatisch auch die Haustür wieder entriegelt.

Das ganze funktioniert hier sehr zuverlässig (>95%) und bei unseren iPhones damit wesentlich besser, als alles, was ich zuvor versucht hatte (Bluetooth, WLAN, Geofency).

Gegenüber Geofency hat die obige Methode noch den Vorteil, dass kein "Loch" für den Webhook ins eigene Netzwerk geöffnet werden muss.

Ach ja, die Meldung, dass die Tür Verriegelt wurde bekommt immer derjenige per telegram auf's Handy, der zuletzt das Haus verlassen hat.

Gruß Benni.

Wobei das "Loch" ja auch per Passwort gesichert werden kann, oder auch über VPN.

Mich würde interessieren, wie Du das gelöst hast: Ach ja, die Meldung, dass die Tür Verriegelt wurde bekommt immer derjenige per [url=http://fhem.de/commandref.html#TelegramBot]telegram[/url] auf's Handy, der zuletzt das Haus verlassen hat.
FHEM im Proxmox Container

CoolTux

Zitat von: Mitch am 03 Oktober 2016, 14:19:59

Mich würde interessieren, wie Du das gelöst hast: Ach ja, die Meldung, dass die Tür Verriegelt wurde bekommt immer derjenige per [url=http://fhem.de/commandref.html#TelegramBot]telegram[/url] auf's Handy, der zuletzt das Haus verlassen hat.

Wenn man Residents verwendet dann stehen solche Dinge als Reading im Device. Zum Beispiel welcher Roommate die letzte Residents Aktion ausgeführt hat.
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

visionsurfer

Hi,

ok. Also scheint es wirklich so, das der Weg mit den GEO Daten der Beste ist. Dann werde ich mich damit mal beschäftigen wenn ich meine Grundinstallation mal hinter mir habe :)

Grüße,
Visionsurfer

Benni

Zitat von: Mitch am 03 Oktober 2016, 14:19:59
Wobei das "Loch" ja auch per Passwort gesichert werden kann, oder auch über VPN.

Kein "Loch" ist aber auf jeden Fall "dichter", als ein geschütztes "Loch" ;D

Loredo

Zitat von: CoolTux am 03 Oktober 2016, 15:30:43
Wenn man Residents verwendet dann stehen solche Dinge als Reading im Device. Zum Beispiel welcher Roommate die letzte Residents Aktion ausgeführt hat.


Und mit einem DOIF in Kombination mit dem msg-Befehl lässt sich dann ganz leicht eine Nachricht schicken. Mein DOIF sieht aktuell so aus:



define di_Residents_presence_push DOIF

## ROOMMATE arrives at home
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
my $lastState=ReadingsVal([rgr_Residents:lastActivityByDev],"lastState","none");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "home" and
$devType eq "ROOMMATE" and
($lastState eq "absent" or $lastState eq "gone")
)
(
(msg push @[rgr_Residents:lastActivityByDev] |Anwesenheit| [rgr_Residents:residentsTotalPresent] Bewohner zu Hause: [rgr_Residents:residentsTotalPresentNames])
)


## ROOMMATE leaves home but residents are still present
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "absent" and
[?rgr_Residents:presence] eq "present" and
$devType eq "ROOMMATE"
)
(
(msg push @[rgr_Residents:lastActivityByDev] |Anwesenheit| [rgr_Residents:lastActivityBy] abgemeldet. [rgr_Residents:residentsTotalPresent] Bewohner verblieben: [rgr_Residents:residentsTotalPresentNames])
)


## ROOMMATE is absent for longer period but others are still nearby
DOELSEIF
(
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "gone" and
[?rgr_Residents:state] ne "gone"
)
(
(msg push @[rgr_Residents:lastActivityByDev]! -2 |Anwesenheit| Längere Abwesenheit für [rgr_Residents:lastActivityBy] wurde vermerkt.)
)


## all residents are absent for longer period
DOELSEIF
(
[rgr_Residents:?] and
[?rgr_Residents:state] eq "gone"
)
(
(msg push @rgr_Residents! -1 |Anwesenheit| Längere Abwesenheit aller Bewohner registriert. Erweitere Sicherheitsprotokolle wurden etabliert.)
)


## ROOMMATE leaves home and all residents are absent now
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "absent" and
[?rgr_Residents:presence] eq "absent" and
$devType eq "ROOMMATE"
)
(
(msg push @[rgr_Residents:lastActivityByDev] |Anwesenheit| [rgr_Residents:lastActivityBy] abgemeldet. Alle Bewohner sind abwesend, Sicherheitsprotokolle wurden etabliert.)
)


## GUEST control enabled
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
my $lastState=ReadingsVal([rgr_Residents:lastActivityByDev],"lastState","none");
[rgr_Residents:?lastActivity] and
(([?rgr_Residents:lastActivity] ne "absent" and [?rgr_Residents:residentsHome] > 1) or ([?rgr_Residents:lastActivity] eq "absent" and [?rgr_Residents:residentsHome] == 0)) and
$devType eq "GUEST" and
$lastState eq "none"
)
(
(msg push @rgr_Residents -1 |Anwesenheit| Steuerung für [rgr_Residents:lastActivityBy] wurde aktiviert)
)


## GUEST control enabled while no resident present (EXCEPTION!)
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
my $lastState=ReadingsVal([rgr_Residents:lastActivityByDev],"lastState","none");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] ne "absent" and
[?rgr_Residents:residentsTotalRoommatesPresent] == 0 and
$devType eq "GUEST" and
$lastState eq "none"
)
(
(msg push @rgr_Residents! 2 |Anwesenheit| Steuerung für [rgr_Residents:lastActivityBy] wurde aktiviert, obwohl kein Bewohner zu Hause ist!)
)


## GUEST control was disabled
DOELSEIF
(
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "none" and
[?rgr_Residents:state] ne "gone"
)
(
(msg push @rgr_Residents -1 |Anwesenheit| Steuerung für [rgr_Residents:lastActivityBy] wurde deaktiviert)
)


## GUEST arrives at home while residents are present
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
my $lastState=ReadingsVal([rgr_Residents:lastActivityByDev],"lastState","none");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:residentsHome] > 1 and
$devType eq "GUEST" and
$lastState eq "absent"
)
(
(msg push @rgr_Residents -2 |Anwesenheit| [rgr_Residents:lastActivityBy] ist jetzt zu Hause. Anwesende Bewohner: [rgr_Residents:residentsTotalPresentNames])
)


## GUEST arrives at home while he is the only one (EXCEPTION!)
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
my $lastState=ReadingsVal([rgr_Residents:lastActivityByDev],"lastState","none");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:residentsHome] == 1 and
$devType eq "GUEST" and
$lastState eq "absent"
)
(
(msg push @rgr_Residents! 2 |Anwesenheit| [rgr_Residents:lastActivityBy] ist jetzt alleine zu Hause!)
)


## GUEST leaves home while others are still at home
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "absent" and
[?rgr_Residents:presence] eq "present" and
$devType eq "GUEST"
)
(
(msg push @rgr_Residents -2 |Anwesenheit| [rgr_Residents:lastActivityBy] hat das Haus verlassen. [rgr_Residents:residentsTotalPresent] Bewohner verblieben: [rgr_Residents:residentsTotalPresentNames])
)


## GUEST leaves home after all residents
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "absent" and
[?rgr_Residents:presence] eq "absent" and
$devType eq "GUEST"
)
(
(msg push @rgr_Residents! |Anwesenheit| [rgr_Residents:lastActivityBy] hat das Haus verlassen. Alle Bewohner sind jetzt abwesend, Sicherheitsprotokolle werden etabliert.)
)
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER