Anwesenheitserkennung

Marioir
Beiträge: 1147
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Do 3. Mär 2016, 21:06

Ich bastel grade an einer Anwesenheitserkennung für den Lightmanager

Ziel ist es, sobald man nach Hause kommt und sich das Smartphone in das Heimische WLAN einloggt, der Lightmanager ein Marker setzt, damit man verschiedene Szenen nur bei Anwesenheit schaltet und nebenbei kann man auch noch im Flur Licht einschalten, so das man nicht in einen dunklen Raum kommt. Der Fantasie ist da ja keine keine grenzen gesetzt.

Sobald man die Wohnung wieder verlässt, beginnt ein Countdown (ca. 10 Min) ist er abgelaufen und das Smartphone hat sich in der Zeit nicht mehr eingeloggt, (Also man kann in ruhe mal den müll runter bringen) schaltet der Lightmanager auf Abwesend.

Mit Hilfe aus dem Python Forum, habe ich auch ein kleines Python Programm geschrieben.
das läuft zurzeit auf eine Raspberry Pi.

Ablauf:

Programm fragt ob Handy erreichbar ist.
Kommt eine Rückmeldung sendet der PI den GET Befehl an den LM für eine bestimmte Szene Sagen wir mal Taste 100
Sobald die Abfrage keine Rückmeldung mehr bekommt beginnt das Programm die 10 min runter zu zählen.
in den 10 Min fragt der PI noch 10 mal ab, ob das Handy wirklich nicht da ist.
Sollte keins der 10 versuche Erfolgreich sein, sendet der PI wieder ein Get Befehl an den LM ( Taste 101)

Taste 100:
Marker 2 EIn (Anwesenheit)
Licht Flur Ein (Nur Abends)

Taste 101:
Marker 2 Aus (Anwesenheit)
Licht Flur Aus
Licht Wohnzimmer Aus
Licht Schlafzimmer Aus
Strom Tab Aus

Alles Funktioniert auch soweit ganz gut. Nur glaube ich das mein Android Telefon das WLAN in Standby schickt und somit nicht mehr Erreichbar ist, was zur folge hat, das er auf Abwesend schaltet obwohl ich daheim bin. Paar Sekunden später erkennt er es wieder und bin wieder Anwesend. Das ist besonders Nachts blöd, wenn auf einmal im Flur das Licht angeht.

Telefon ist aber so eingestellt das er WLAN im Standby aktiv lassen soll.
Ich weiß nicht woran es liegt.

Werde das Programm heute oder morgen mal zum Testen hochladen, vielleicht kann ja der ein oder andere mir noch ein paar Tipps geben oder weiß wodran das liegen könnte.

@JBMedia: Vielleicht könnte man eine Anwesenheitserkennung auch für den LightManager einpflegen.

Update: Habe das Script angehängt
Es läuft auch auf mein Synology NAS

[attachment=0]anwesenheit.zip[/attachment]
Dateianhänge
anwesenheit.zip
(828 Bytes) 647-mal heruntergeladen
Benutzeravatar
jbmedia
Administrator
Beiträge: 4446
Registriert: Mi 17. Feb 2016, 13:42

Fr 4. Mär 2016, 13:33

Wir haben zu Testzwecken mal eine Funktion in den LM integriert, die eine Anzahl konfigurierbarer IP-Adressen (z.B. von Handys) regelmäßig anpingt, um Anwesenheit zu erkennen. Allerdings ist das in der Praxis nicht ideal, denn der LM müsste ständig Pings verschicken. Wenn ein Gerät nicht antwortet, weil es nicht anwesend ist, dann muss der LM mind. 2 Sekunden warten, bevor der Ping als verloren gewertet werden darf. Sind nun z.B. 5 IPs eingetragen, dann entsteht schon eine Wartezeit von 10 Sekunden, und das jede Minute. Während dieser Zeit ist der LM zwar ansprechbar, aber mit reduzierter Performance. Außerdem ist es nicht sonderlich elegant, rund um die Uhr Pings ins Netzwerk zu schicken, zumal dies u.U. auch dafür sorgen könnte, dass Handys nicht in den Standby wechseln.

Sinnvoller wäre eine An- bzw. Abmeldung des Handys beim LM. Das geht mit Android Handys z.B. mit der Automate App ganz einfach. Ob es etwas ähnliches beim iPhone gibt, müsste man schauen. Bei der Abmeldung tritt allerdings die Problematik auf, dass das Handy nicht mehr im heimischen Netzwerk ist. Der Befehl müsste also über das Mobilfunknetz gesendet werden, was zur Verzögerung führen kann.
Wir wünschen viel Spaß mit den Produkten und einen erfolgreichen Tag! Ihr jbmedia Team :)

Benutzeravatar
Blackbird
Beiträge: 829
Registriert: Sa 20. Feb 2016, 17:51

Fr 4. Mär 2016, 15:30

Hab ich bei mir (Android) mit Tasker gelöst.
Tasker ist auch für andere Sachen (auch ungerootet) nur zu empfehlen.
Mein Handy weiss ob es zu Hause ist, in der Firma oder unterwegs.
Ist es zu Hause wird ein Marker gesetzt bzw. gelöscht...
Marioir
Beiträge: 1147
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Fr 4. Mär 2016, 15:32

Super Tipp, danke.
Auf so einfache Ideen bin ich bisher gar nicht gekommen.

Werde ich auf jedenfall mal ausprobieren, wenn ich daheim bin.
Benutzeravatar
netzkeks
Beiträge: 43
Registriert: Fr 4. Mär 2016, 18:44
Wohnort: NRW

Sa 5. Mär 2016, 13:54

Hallo Zusammen,

erstmal freue mich über das tolle und interessante Forum ...

das mit der Anwesenheitserkennung finde ich richtig spannend.
Habe mir gerade mal die App "Tasker" heruntergeladen.

Da ich, was die Möglichkeiten mit "Tasker" angeht, noch neu bin,
wäre meine Frage:
Wie ist die Einstellung dass das Handy weiß das es zu Hause ist und
wie kann es dann einen Marker im LM-Air setzen?

Danke & Gruss netzkeks
Benutzeravatar
Blackbird
Beiträge: 829
Registriert: Sa 20. Feb 2016, 17:51

Sa 5. Mär 2016, 14:54

netzkeks hat geschrieben:Hallo Zusammen,

erstmal freue mich über das tolle und interessante Forum ...

das mit der Anwesenheitserkennung finde ich richtig spannend.
Habe mir gerade mal die App "Tasker" heruntergeladen.

Da ich, was die Möglichkeiten mit "Tasker" angeht, noch neu bin,
wäre meine Frage:
Wie ist die Einstellung dass das Handy weiß das es zu Hause ist und
wie kann es dann einen Marker im LM-Air setzen?

Danke & Gruss netzkeks
Mit Tasker muss man sic ein wenig beschäftigen... ;)
Das ist ein mächtiges Werkzeug.

Guck mal unter Profile>>>Ort
Ist diese Profil aktiv, das heisst, Du hälst Dich am Ort auf welchen Du da definiert hast,
musst Du einen Task zu diesem Profil anlegen. Im vorliegenden Fall würdest Du einen HTTP Befehl mit Inhalt Knopf "X" schicken. Knopf "X" würdest Du dann im LM mit Marker "Daheim" "An" belegen z.Bsp.
Wenns ausserhalb des Heimnetzwerkes funzen soll, und dein Router keine feste IP hat (sehr wahrscheinlich) musst Du noch gucken, dass Du den DynamicDns Service vonJBmedia oder einem anderen Anbieter nutzt....
Eigentlich geht fast alles, aber umso mehr man machen will, umso mehr Gewerke und Themenfelder werden das......
Benutzeravatar
netzkeks
Beiträge: 43
Registriert: Fr 4. Mär 2016, 18:44
Wohnort: NRW

So 6. Mär 2016, 13:25

Danke für die Antwort.

Es funktioniert wirkliche super, auch mit dem neuen DynDNS Service von jbmedia.
Hilfreich sind die Infos auf: http://cms.jbmedia.de/index.php?option= ... 57&lang=de

Gruss netzkeks
Marioir
Beiträge: 1147
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Fr 11. Mär 2016, 09:06

Habt ihr das mit WLAN Erkennung gemacht? oder Ortsgebunden?

Zurzeit läuft es über WLAN, nur hab das Problem, wenn ich mein Auto in der Garage Parke, das mein WLAN erkannt wird. LM schaltet auf Anwesend.

Laufe ich ums Haus, setzt das WLAN aus, somit ist der Tasker aktiv und schickt nach 10 min den Abwesenheitsbefehl.
Nun sitze ich im Wohnzimmer und nach paar min gehen die Lichter bei mir aus.

Anwesenheit finde ich ganz gut das er es über WLAN macht, da er nur anspricht wenn ich wirklich im Haus bin.
Abwesenheit muss ich mal testen, dass ich es so einrichte, das er nur schaltet wenn ich den Ort (Umkreis 200 Meter) verlasse. Wäre das möglich? Hab auf die schnelle bisher nur die andere Richtung gefunden, also wenn man sich in einen Ort aufhält. nicht wenn man ihn verlässt. Vielleicht habe ich es auch nur übersehen.
2meter_pdm
Beiträge: 9
Registriert: Do 10. Mär 2016, 20:02

Sa 12. Mär 2016, 09:17

Moin,wenn du bei dem Task Anwesenheit noch als letztes "Stop Task Abwesenheit" (Bei Aktionskategorie/Task/Stop) hinzufügst,dann geht es.Jedesmal wenn du mit dem Wlan verbunden wirst,wird dann der Task Abwesenheit angehalten.
Marioir
Beiträge: 1147
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Sa 12. Mär 2016, 09:57

Sehe schon, ich muss mich langsam echt mal genauer mit dem Tasker beschäftigen.

Hab die Anwesenheit zurzeit Ortsgebunden gemacht (30 Meter), nur gestern hat er mir paar mal auf Anwesend geschaltet ob wohl ich den Ort gar nicht verlassen habe.
Antworten