FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: marko1420 am 11 Juni 2015, 01:34:34

Titel: Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: marko1420 am 11 Juni 2015, 01:34:34
Hallo miteinander

Ich möchte eine Anwesendheitserkennug nur für einen Raum ermöglichen.
Dazu habe ich einen Bewegungssensor mit fhen gekoppelt.
Dummerweise macht der Bewegungssensor nur das was auch schon die Bezeichnung sagt. Er detektiert Bewegungen.
Wenn ich still sitze bin ich für den Bewegungssensor nicht anwesend.

Kennt jemand einen "Anwesentheitsdetekor" der ohne Bewegungen der Person auskommt ?

Marko
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: stromer-12 am 11 Juni 2015, 21:13:17
Du suchst einen Präsenzmelder, dabei kann ich aber nicht helfen.

Gesendet von meinem GT-I9295

Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: igami am 11 Juni 2015, 21:31:45
Für meine Wohnung nutze ich eine Kombination aus Türkontakt und Bewegungsmelder, kann man natürlich auch für einen Raum verwenden.
Solange die Tür geschlossen bleibt kann wohl niemand den Raum verlassen, auch wenn er sich nicht bewegt.

Grüße
igami
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: marko1420 am 12 Juni 2015, 00:50:49
@ stromer-12

Präsenzmelder war ein gutes Stichwort.
Allerdings scheint es sich dabei um hochpräzise Bewegungsmelder zu handeln die auch kleinste Bewegungen erfassen können. Entsprechend teuer.
Ich suche eine etwas preisgünstigere Lösung.

Aber Danke für Deine Antwort.

@ igami

Gute Lösung für die Wohnungstür die ich mir im Hinterkopf behalten werde.
Aber für nur ein Zimmer nicht so gut. Ich müsste ja ständig die Tür hinter mir schließen.

Danke für Deine Antwort.


Ich hatte gedacht so etwas ist recht leicht. War wohl ein Irrtum.

Es geht darum alles nach 30 min. auszuschalten wenn keiner mehr im Zimmer ist.
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Wuppi68 am 12 Juni 2015, 09:37:10
ansonsten, webcam auf infrarot umbauen und das bild auswerten lassen
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: marko1420 am 14 Juni 2015, 01:27:09
Hallo Wuppi68

An eine Bilderkennung per Kamera hatte ich auch schon gedacht. Dazu ist aber eine Software nötig die etwas viel Rechenleistung benötigt.
Fhem läuft auf einem Raspberry Pi.
Umbau einer Webcam auf Inrarot scheint ja recht einfach zu gehen. Gibt es eine "schlanke" Software die Bildveränderungen erkennen kann?

Im Moment habe ich zum Test ein (retriggerbares) Monoflop mit einer Zeikonstante von 10 Minuten an meinem Bewegungsmelder. Dies scheint ganz gut zu funktionieren. Länger als 3 Minuten kann ich sowiso nicht Still sitzen bleiben.

Eigentlich kann ich gar nicht glauben dass so ein Problem noch nicht gelöst ist. Oder bin ich der Einzige der eine Anwesentheitserkennung innerhalb eines Zimmer benötigt?

Marko
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: marko1420 am 14 Juni 2015, 02:07:42
Hallo Wuppi68

Ich habe noch mal etwas nachgedacht. Ich benötige kein Programm zur Bildauswertung sondern nur eins welches zwischen hell und dunkel im Bild unterscheidet?

Marko
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Prof. Dr. Peter Henning am 14 Juni 2015, 05:25:41
Unsinn, das kann niemals mit Sicherheit feststellen, ob eine Person im Raum ist. So etwa könnte die Kleidung kalt sein.

Eine bessere Lösung ist, an der Tür (z.B. mit zwei Ultraschallsensoren) festzustellen, ob jemand hinein- oder hinausgeht. Und somit eine Buchführung über die Anzahl der Personen im Raum zu haben.

LG

pah

Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: ujaudio am 14 Juni 2015, 05:44:57
Ich glaube eine wirklich perfekte Lösung gibt es nicht. Aber ein Freund hat Präsenzmelder und ist zufrieden damit. Irgendwo hier im Forum gibt es glaube ich noch einen Ansatz über Bluetooth. Sensoren im Türrahmen (ich denke eher an 2 Infrarot-Lichtschranken) können nur funktionieren, wenn die trotz Abstand von ca. 5-8cm sich nicht beeinflussen (muss halt sehr fokussiert sein). Aber die Optik? Außerdem dürfte das auch dann so ähnliche Kosten wie ein Präsenzmelder haben.
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Rince am 14 Juni 2015, 06:07:36
Kalte Kleidung ist egal. Solange er lebt und der Kopf dementsprechend warm ist jedenfalls. Dann sind es halt weniger helle Pixel.
Allerdings bezweifle ich, dass wir ein echtes Wärmebild bekommen.

Eine Differenzbildbetrachtung könnte helfen. Problematisch ist die Balance, die das Hintergrundbild vom Vordergrund trennt. Auch der Hintergrund verändert sich ja dynamisch im laufe eines Tages.

Wir könnten auch, da das Licht an ist, rosafarbene Pixel zählen ;)


Also:
Prinzipiell geht das
Was fertiges kenne ich nicht

Problem:
Je universeller sowas nutzbar ist, desto ungenauer wird es

Kannst du bitte genauer beschreiben, wie die Situation aussieht, wenn du anwesend bist ohne dich zu bewegen?
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Prof. Dr. Peter Henning am 14 Juni 2015, 12:31:39
Nein, kalte Kleidung ist nicht egal - und meine Aussage war keine "Meinung", sondern das Ergebnis von Forschungstätigkeiten (nicht meinen, in diesem Fall).

Sowohl die Auswertung eines Infrarotbildes, als auch ein summarisch wirkender PIR-Detektor erfordern eine direkte Sichtverbindung zwischen Kamera/Sensor und wärmeabstrahlender Fläche. Zwar kann man das mit einem zusätzlichen Ultraschall- oder Mikrowellsen (Radar)-Sensor kombinieren, trotzdem würde davon z.B. eine Person, die im Sessel eingeschlafen ist, nach einiger Zeit nicht mehr als Mensch erkannt.

LG

pah
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Rince am 14 Juni 2015, 12:50:45
Es kommt immer auf die Randbedingungen an.
Wie gesagt, wir werden kein gutes IR Bild bekommen, welches Rückschlüsse auf die Oberflächentemperatur zuläßt. Damit geht diese Idee nicht.

Wenn diese Arbeit öffentlich zugänglich ist, gib mir bitte einen Link.
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Prof. Dr. Peter Henning am 14 Juni 2015, 12:53:44
Darf ich an dieser Stelle nicht, da ich Gutachter für den Antrag auf Innovationsförderung bin.

LG

pah
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: herrmannj am 14 Juni 2015, 13:27:04
Hi,

ich benutze die Konstruktion mit Bewegungsmeldern und setze das per DOIF um.

Schau Dir mal DOIF und dessen "wait" an, damit kannst Du das recht einfach umsetzen. Bei mir sind das HE Bewegungsmelder, die senden "on" und "off". Die Logik die ich verwende ist (per DOIF): wenn der Status des Bewegungsmelders für eine Zeit X gleich "off" ist wird für diesen Raum "abwesend" angenommen. Ein "on" schaltet eben sofort wieder auf anwesend.

Die Zeit X musst Du anhand Deiner individuellen Gewohnheiten festlegen. Um den Skeptikern vorzubeugen: das ist natürlich keine 100% Messung sondern eine Heuristik die auch mal daneben liegen kann, bspw wenn ich auf der Couch einschlafe ;). Klappt aber im Saldo ausreichend gut.

vg
joerg
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: marko1420 am 14 Juni 2015, 17:17:34
Hallo herrmannj

Deine Lösung ist vermutlich genau was ich gesucht habe. Werde ich ausprobieren.

Danke.

Allerdings interessiert mich immer noch wie man es besser machen könnte.

@ Rince
ZitatKannst du bitte genauer beschreiben, wie die Situation aussieht, wenn du anwesend bist ohne dich zu bewegen?
Ich sitze (alleine) vor dem Computer oder dem Fernseher. Da sind die Bewegungen eher minimal.

@ pah

Danke für Deine Antwort . Es haben sich also auch andere Leute dieser Problematik zugewandt.

Für mich funktioniert die die Anwendung eines Monoflops (10 min retriggerbar) in Verbindung mit dem Bewegungsmelder zufriedenstellend seit 2 Tagen.
Dies ist natürlich nur eine Bastlerlösung die ich mir mangels Ahnung selbst ausgedacht habe.

Ich bin aber sehr daran interessiert wie man so etwas professionell löst.

Marko
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Rince am 14 Juni 2015, 20:31:57
Oh, dann ist es eher easy. Warum machst du kein "presence" auf die Geräte?
Solange du sie brav aus machst, ist das durchaus zuverlässig.

Wenn dein TV keinen Netzwerkanschluss hat, käme eine Steckdose mit Leistungsmessung in betracht. Auch am PC, wenn Downloads länger brauchen (aber hoffentlich der Monitor aus ist).

So könntest du auch die Glotze aus machen, wenn du davor einschläfst...
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: marko1420 am 14 Juni 2015, 23:21:16
Hallo Rince

Ich schalte kein Gerät aus wenn ich aus dem Zimmer gehe sondern erwarte das dies FHEM nach 30 min.  für mich erledigt.
Funktioniert ja auch gut.

Mein Problem ist der Bewegungssensor der vermutet ich wäre nicht im Zimmer solange ich mich nicht nennenswert bewege.

Angesprochen wurde Präsenzmelder, ist aber zu teuer.
Ich versuche einen "Präsenzmelder" preisgünstig hin zu bekommen.

Aber Danke.

Marko
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Prof. Dr. Peter Henning am 15 Juni 2015, 08:13:55
Aber das gibt es als Technologie doch längst - hier z.B. http://www.ebay.de/itm/like/151195217388?lpid=106&chn=ps zusammen mit dem hier http://www.hundehalter.net/tierortung__identifikation/chipreader/tierchip_und_rfid_mini-lesegeraet__rt10_i62_1062_0.htm.

LG

pah
Titel: Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: justme1968 am 15 Juni 2015, 08:34:24
genau. das ist die einzige methode die zuverlässigkeit verspricht und neben bei auch noch eine personen erkennung bietet.

der einzige nachteil ist die viel reichweite. also gleich konsequent in die fußsohlen implantieren und die empfänger in den estrich zu beiden seiten jeder tür.

das sollte eine ziemlich perfekte lösung ergeben.
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Rince am 15 Juni 2015, 10:02:02
@marko1420

Für deinen Desktop PC dürfte es ziemlich gut machbar sein. Ne WebCam hast du?
Dann OpenCV drauf (ok, das dauert etwas) und ein kleines bisserl FaceDetection skripten. Kann ich versuchen zu machen, wird aber ein bisserl dauern (Sommer). Ich übernehme auch keine Garantie, dass es läuft. Aber prinzipiell interessiert es mich selber ;)

Dann lassen wir, statt einer grafischen Anzeige, einfach auf deinen fhem Rechner nen Dummy setzen, von wegen "no_face_detected" oder "face_detected".
Das machen wir z.b. alle 60 Sekunden. Sollte locker ausreichen, um 30 Minuten Dauerabwesenheit zu erkennen und ggfs. false positives rauszufiltern. Damit halten wir auch die CPU Last sehr gering.

Ein kleines config Skript dazu, fertig.
IP-Adresse vom fhem Rechner
Namen vom Dummy
Zeitintervall
Parameter (FaceDetection-spezifisch, damit kann man ggfs. etwas spielen)
Grafik ja/nein (also WebCam Bild mit Gesicht)
Kamera (wenn mehr da sind, welche wir nehmen sollen; vermutlich wird sie fürs erste quasi dauerhaft blockiert)

Die restliche Auswertung machen wir dann in fhem direkt. Dann brauche ich keinen fehleranfälligen Programmcode schreiben, und du kannst selber entscheiden, was fhem tut, wenn du weg bist (und z.B. die Netzwerkkarte hochgradig aktiv ist. weil der Download länger dauert)


Für den Fernseher brauchen wir allerdings was anderes, da wird das so nicht funktionieren...



Die Frage geht jetzt an dich, ob du das ausprobieren willst.
OpenCV installieren, 3rd Party Software installieren (Python, Numpy, Matplotlib)

Ich teste die Installation bei mir durch, dann bekommst du eine Step by Step Anleitung.


Wenn dir das den Aufwand wert ist, legen wir los.
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Prof. Dr. Peter Henning am 15 Juni 2015, 11:48:19
Das wird so nicht gut funktionieren. Denn wenn er sich hinlegt und den Kopf zur Seite dreht => Keine Anwesenheit...

Der Ansatz ist also den Aufwand _nicht_ wert.

Ich denke, man sollte hier einen Zustandsautomaten bauen, der mit einer Vielzahl von Sensoren arbeiten kann, die sich gegenseitig korrigieren. Beispielsweise kann der Event "Fernseher geht an" verwendet werden, um den Status auf "anwesend" zu stellen, falls das noch nicht geschehen ist (z.B. wegen fehlerhafter Detektion des Tierchips ...).

LG

pah

Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Rince am 15 Juni 2015, 13:45:01
Zitat von: pahDas wird so nicht gut funktionieren. Denn wenn er sich hinlegt und den Kopf zur Seite dreht => Keine Anwesenheit...
Zitat von: RinceFür den Fernseher brauchen wir allerdings was anderes, da wird das so nicht funktionieren...

Ja, und? Das schrieb ich bereits.
Für die PC Erkennung sind es ca. 100 Zeilen Python Skript... Das meiste ist schon fertig, 0815...
Wenn er vor dem PC in der horizontalen schläft, weiß ich allerdings auch nicht weiter ;)
Die OpenCV default hog human detection method ist mir bis jetzt fremd, und vermutlich ist es ein ziemlicher Aufwand sie zu integrieren.


Zitat von: pahDer Ansatz ist also den Aufwand _nicht_ wert.
Nur für die PC Anwesenheit mag es ein leichter Overkill sein. Andererseits schwebt mir da schon mehr vor. Wenn die FaceDetection klappt, können wir im nächsten Schritt ne Kaskade für FaceRecognition bauen. Damit weiß die Automatisierung dann gleich, wer vor dem PC sitzt. Das könnte man dann genauso gut auf die Kamera vor der Haustür loslassen...

Spannend wird es auch, wenn mehr Leute zu Hause sind und anfangen auf den fhem Tabletts rumzuspielen. Die Kiddies dürfen Ihre Playlists verändern, die Heizungssteuerung aber nicht...
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Mathea am 15 Juni 2015, 14:46:24
Hallo marko1420,

ich habe leider keinen Vorschlag für deinen Fernseher, aber immerhin das gleiche Problem an meinem Computer gelöst. Meine Zimmer-Anwesenheitssteuerung funktioniert auch über Bewegungsmelder, welche aber in meinem Arbeitszimmer nicht funktionierte, da ich mich am Computer nicht ausreichend bewege, um erkannt zu werden.

Was ich letztendlich gemacht habe und bis heute perfekt funktioniert: Ich habe mir auf meinem iMac ein Script geschrieben welches bei Nutzung alle 30 Sekunden (oder eine andere beliebige Zeit) einen Dummy in fhem auf ON setzt. Wird der Dummy eine Minute lang (oder deine Wunschzeit) nicht auf ON gesetzt, schaltet sie ein watchdog auf OFF und fhem geht davon aus, dass ich vom Computer weggegangen bin. Für die Erkennung, ob der Computer in Benutzung ist oder nicht, frage ich in meinem Script die Variable "IdleTime" meines Macs ab. Das Betriebssystem nutzt diese Variable, um nach einer gewissen Inaktivität den Bildschirm abzuschalten und den Rechner in den Standby zu versetzen. Sie wird also bei jeder Maus- / Tastaturbewegung erneut auf 0 gesetzt. Wie eine solche Variable unter Windows oder Linux heißt kann ich leider nicht sagen. Voraussetzung für den Erfolg dieser Lösung ist natürlich, dass das Script bei jedem Hochfahren des Computers automatisch permanent im Hintergrund ausgeführt wird.

Ich bin mit der Lösung super zufrieden und in anbetracht dessen, dass das nur ca. 10 Zeilen Script-Code sind ist das Aufwand- / Leistungsverhältnis nicht zu übertreffen.

Die Schwachstelle dieses Ansatzes: Schaue ich gerade zum Beispiel einen Film, ist der Computer nicht aktiv in Benutzung und ich bewege mich nur minimal. In diesem Fall würde der watchdog den Dummy in fhem auf OFF setzen obwohl ich den Computer ja in einer gewissen Weise benutze. Ich denke aber, dass sich das auch irgendwie abfangen lässt.

Gruß,
Mathea
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Rince am 15 Juni 2015, 20:42:30
Hab mal auf die Schnelle was gestrickt.

Also, bei 1 Bild/Sekunde komme ich auf ca. 4% CPU Auslastung.
Getestet auf nem älteren i5-2500k @3,3GHz, 8GB RAM, Windows 7 64Bit

Bei 1 Bild / 5 Sekunden fällt es wohl unter die Messgrenze...

Erkennt mein Gesicht ab ca. 1,20m vor der Webcam, ziemliches Dämmerlicht aber Monitore an.
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Rince am 15 Juni 2015, 22:15:12
Ich glaube ich bekomme auch ne einfache EXE Datei hin :)
Dann gibt es keinen Stress mit den 4 Programmen zum installieren :)

Muss noch rausfinden, wie ich das Ding mit den Abhängigkeiten paketieren kann, und dennoch das Config-File eben nicht...

Tendentiell würde ich es so machen:
Bei erkanntem Gesicht eine Meldung an fhem. Ohne Gesicht, keine Meldung. Wenn die Meldung bei fhem älter ist als 30 Minuten, ist kein User mehr da :)
Das könnte dann ein einfacher watchdog erledigen.
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Rince am 16 Juni 2015, 18:57:00
Fertig :)

Sort of.

Ein Timer von 10 Sekunden klappt gut.
Kann jetzt auch einen Befehl an fhem lostreten.
Damit ist es funktionell fertig.


Was fehlt:
Code aufräumen (wird vermutlich wirklich länger dauern ;) )
Config-File einbinden
EXE Datei erzeugen

Der Prozess im TaskManager dümpelt so zwischen 0 und 1% rum, also eher witzlos.
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: marko1420 am 17 Juni 2015, 02:44:52
Meine Güte, so viele Antworten und Lösungsmöglichkeiten.

Die muss ich erstmal alle ausprobiern.

Meine Lösung ist der von Mathea sehr ähnlich.

ZitatWas ich letztendlich gemacht habe und bis heute perfekt funktioniert: Ich habe mir auf meinem iMac ein Script geschrieben welches bei Nutzung alle 30 Sekunden (oder eine andere beliebige Zeit) einen Dummy in fhem auf ON setzt. Wird der Dummy eine Minute lang (oder deine Wunschzeit) nicht auf ON gesetzt, schaltet sie ein watchdog auf OFF und fhem geht davon aus, dass ich vom Computer weggegangen bin

Ich mach das selbe nur über einen Attiny den ich als Monoflop mit 10 min. benutze. (Vom Bewegungsmelder gesteuert)

Dies ist aber nur eine Bastlerlösung, mich interessiert wie man das besser machen könnte.

@Rice

das sollte ja nicht auf einerem älteren PC laufen sondern auf RPI

Hallo pah

Um einen Zustandsautomaten geht es hier vermutlich sogar.
Alledings brauche ich da noch etwas länger bis ich mit einer Vielzahl von Sensoren arbeiten kann, die sich gegenseitig korrigieren.
Im Moment habe ich ja nur einen Bewegungssensor mit Monoflop.

Marko, der an weiteren Meinungen interessiert ist.





Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Rince am 17 Juni 2015, 06:32:26
Zitatdas sollte ja nicht auf einerem älteren PC laufen sondern auf RPI
Ich dachte auf deinem Rechner?

Die Lösung für den RasPi muss anders aussehen, weil dein Gesicht beim TV sehen vermutlich nicht immer zur verfügung steht...
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: Rince am 21 Juni 2015, 15:03:25
Ist erst mal fertig :)
Downloaden, conf.json editieren loslegen...

http://forum.fhem.de/index.php/topic,38347.0.html
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: marko1420 am 24 Juni 2015, 02:25:31
Hallo Rince

Schöner Lögungsansatz. Werde ich weiter vefolgen.

Das Problem Anwesentheitserkennung nur in einem Raum scheint alles andere als einfach zu sein.

Ich benutze im Moment einen Bewegungssensor mit nachgeschaltem Monoflop (retriggerbar und Zeitkonstante derzeit 25 min.) als Präsensmelder.
Um alles im Zimmer auszuschalten muss es ja nicht sehr genau sein.

Ich logge derzeit nur meine Anwesentheit mit, scheint aber gut zu funktionieren.

Haben auch andere Interesse an einer sehr einfachen Lösung die wir entwikeln könnten?

Marko
Titel: Antw:Anwesendheitserkennung in einem Raum per Bewegungssensor
Beitrag von: ujaudio am 25 Juni 2015, 11:27:37
ja

wie hst du den einen Bewegungssensor mit Monoflop in FHEM programmiert? Ist eigentlich eine Anfängerfrage...