Zonen-basierte Anwesenheitserkennung und -steuerung

Begonnen von KernSani, 15 März 2019, 19:06:04

Vorheriges Thema - Nächstes Thema

KernSani

Ich habe nochmal "gehirnt", was bei mir noch nicht so gut funktioniert. Das Ergebnis des "Hirnens" ist im ersten Post zu finden.
Die Grundannahme bisher war, dass eine Person mit einer gewissen Wahrscheinlichkeit abwesend ist, wenn keine Bewegung erfolgt (sofern keine Sensoren existieren, dass ein Raum geschlossen ist). Die Ergänzung ist nun: Ich kann für eine Zone das Attribut hz_boxMode auf 1 setzen. Die Annahme ist dann: Wenn in einer Zone eine Bewegung erkannt wird, ist eine Person anwesend (d.h. der Counter läuft nicht). Erst wenn in einer angrenzenden Zone eine Anwesenheit erkannt wird, habe ich mich (wahrscheinlich) bewegt und der Counter läuft los.Man könnte das Konzept noch erweitern und sagen erst wenn im aktuelle Raum eine Bewegung erkannt wird und kurz darauf im angrenzenden Raum, dann bin ich wahrscheinlich aufgestanden und weg, aber das hebe ich mir für die nächste Iteration auf.

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

curt

Zitat von: KernSani am 21 März 2019, 23:30:31
Ich habe nochmal "gehirnt", was

Ich habe ja nur ganz theoretisches Wissen - besser gesagt begründete Vermutungen, was da real abgebildet wird. Im Grunde macht das Modul ja das ja nichts als eine Modellbildung im Sinne der Systemanalyse.

Von daher darf ich mal das Fenster einwerfen, natürlich nur im Sinne der Diskussion. Ein Fenster dürfte abhängig von der Außentemperatur sein: Bei -10° bedeutet ein offenes Fenster: Im Raum ist niemand. Bei +15° dürfte für Schlafzimmer zutreffen: Fenster offen, (definierte) Nachtzeit, Zone Schlafraum --> jemand im Raum.

@KernSani - Du sprachst von Türsensoren bei Dir:
1) Welche konkret?
2) Was sagte die Familie, als Du sie angebaut hast? Bzw. aus welchem Grund akzeptierte die Familie das?
RPI 4 - Jeelink HomeMatic Z-Wave

KernSani

Zitat von: curt am 22 März 2019, 01:11:03
Ich habe ja nur ganz theoretisches Wissen - besser gesagt begründete Vermutungen, was da real abgebildet wird. Im Grunde macht das Modul ja das ja nichts als eine Modellbildung im Sinne der Systemanalyse.

Von daher darf ich mal das Fenster einwerfen, natürlich nur im Sinne der Diskussion. Ein Fenster dürfte abhängig von der Außentemperatur sein: Bei -10° bedeutet ein offenes Fenster: Im Raum ist niemand. Bei +15° dürfte für Schlafzimmer zutreffen: Fenster offen, (definierte) Nachtzeit, Zone Schlafraum --> jemand im Raum.
[\quote]
Genau das meine ich damit, dass nicht notwendigerweise Bewegungssensoren verbaut sein müssen, um Anwesenheit zu erkennen. Die Problematik ist aber die selbe. Vielleicht wurde einfach vergessen, das Fenster zu schließen.

Zitat
@KernSani - Du sprachst von Türsensoren bei Dir:
1) Welche konkret?
2) Was sagte die Familie, als Du sie angebaut hast? Bzw. aus welchem Grund akzeptierte die Familie das?
Ich habe relativ wenige Türsensoren. Ich habe auch relativ wenige Türen und die stehen meistens offen. Verbaut habe ich sowohl Homematic (optisch) als auch XIAOMI (magnetisch). Für die Familie ist das kein Problem, da die Automatisierungen i.d..R. positiv wahrgenommen werden oder unbemerkt bleiben. Problematisch sind nur nicht funktionierende Automatisierungen. Ich glaube auch nicht, dass irgendwer das Gefühl hat, überwacht zu werden. Das wird sich in ein pasr Jahren vielleicht ändern, wenn ich den Jungs nachweisen kann, wann sie nachts nach Hause gekommen sind ;-)



Kurz, weil mobil
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

curt

Zitat von: KernSani am 22 März 2019, 06:50:24
Für die Familie ist das kein Problem, da die Automatisierungen i.d..R. positiv wahrgenommen werden oder unbemerkt bleiben.

Nuj, ich habe die DDR noch in voller Pracht erlebt. Und von daher bin ich sowie selbst Nachgeborene höchst sensibel gegen jede Art von Überwachung. Gute Erziehung halt.

Der ganze Homematic-Zauber fällt für Türüberwachung aus, das trägt zu sehr auf. Das habe ich an der Haustür, an der Terrassentür und an den Fenstern, die typischerweise geöffnet werden. Aber wenn ich die nun noch an andere Türen klebe, werde ich mir anschließend ein Hotelzimmer suchen müssen.

Der Kern ist im Grunde Dein Halbsatz
Zitatoder unbemerkt bleiben

Und selbst das ist ein heikler Balanceakt.
RPI 4 - Jeelink HomeMatic Z-Wave

KernSani

Zitat von: curt am 22 März 2019, 07:02:45
Nuj, ich habe die DDR noch in voller Pracht erlebt. Und von daher bin ich sowie selbst Nachgeborene höchst sensibel gegen jede Art von Überwachung. Gute Erziehung halt.
Die "gute" Erziehung fehlt bei uns, das macht es vielleicht einfacher...

Zitat von: curt am 22 März 2019, 07:02:45
Der ganze Homematic-Zauber fällt für Türüberwachung aus, das trägt zu sehr auf. Das habe ich an der Haustür, an der Terrassentür und an den Fenstern, die typischerweise geöffnet werden. Aber wenn ich die nun noch an andere Türen klebe, werde ich mir anschließend ein Hotelzimmer suchen müssen.

Der Kern ist im Grunde Dein Halbsatz
Und selbst das ist ein heikler Balanceakt.
Ich will nicht wissen, was passiert, wenn die Familie herausfindet, dass du sie unbemerkt überwachst ;-) - Da hänge ich lieber ein Schild hin, "Dieser Raum ist FHEM überwacht" ;-)
Mit mit Wort "unbemerkt" hatte ich mich auf die Automatisierungen bezogen, nicht auf die Sensoren. 
Insgesamt stimme ich dir aber zu, es ist immer ein Balanceakt, der Nutzer (d.h. im Wesentlichen die Familie) muss den Nutzen sehen und darf sich nicht bevormundet fühlen. 
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

curt

Zitat von: KernSani am 22 März 2019, 07:33:53
Ich will nicht wissen, was passiert, wenn die Familie herausfindet, dass du sie unbemerkt überwachst ;-)

Im Kinderzimmer des schon ganz großen Kindes (beruflich gleiche Fraktion) stand ein Temperatursensor auf dem Tisch. Das Kind kam zu Besuch und nächtigte im Kinderzimmer. Seitdem meldet *ReadingsSupervision* , dass der Sensor verschollen ist. Soweit dazu.
RPI 4 - Jeelink HomeMatic Z-Wave

binford6000

ZitatDer ganze Homematic-Zauber fällt für Türüberwachung aus, das trägt zu sehr auf. Das habe ich an der Haustür, an der Terrassentür und an den Fenstern, die typischerweise geöffnet werden. Aber wenn ich die nun noch an andere Türen klebe, werde ich mir anschließend ein Hotelzimmer suchen müssen.
Moin,
das sehe ich ganz genauso. Wobei ich jetzt nicht ausziehen müsste...  ;)
Und daher finde ich Olis Vorschlag von #60 auch gut. Es sollte eine einfache Möglichkeit geben OHNE Türkontakte.
VG Sebastian

curt

Zitat von: binford6000 am 22 März 2019, 07:59:05
Und daher finde ich Olis Vorschlag von #60 auch gut.

Bitte referenziere genauer: #60 ist von @KernSani - ich habe keine Ahnung wer Oli ist. Nun möchte Oli auch nicht suchen.
RPI 4 - Jeelink HomeMatic Z-Wave

binford6000

Zitat von: curt am 22 März 2019, 08:05:24
Bitte referenziere genauer: #60 ist von @KernSani - ich habe keine Ahnung wer Oli ist. Nun möchte Oli auch nicht suchen.

KernSani=Oli. Siehe #2  ;)

binford6000

Was mir mit 0.0.8 aufgefallen ist:

Wenn ich ein set fl_zone occupied 10 mache und bereits ein Timer läuft, wird dieser mit dem manuellen Wert nur kurz überschrieben und läuft dann weiter:

2019-03-22 08:39:39   lastZone        wz_zone
2019-03-22 08:39:39   occupied        50

[set fl_zone occupied 10]
2019-03-22 08:40:14   lastZone        self
2019-03-22 08:40:14   occupied        10

2019-03-22 08:40:39   lastZone        wz_zone
2019-03-22 08:40:39   occupied        30


Bug oder Feature?
lastZone ist jeweils das letzte meldende homezone-device?
VG Sebastian

binford6000

@KernSani:
Planst du auch die Unterstützung von PERL-Code in den CMD-userattr? Ein
{fhem("set bu_szene scene anwesend");}
funktioniert momentan bei mir nicht.
Ein attr hz_device widgetOverride hz_cmd_likely:textField-long
würde dann auch Sinn machen.
VG Sebastian

KernSani

Zitat von: binford6000 am 22 März 2019, 08:51:56
Was mir mit 0.0.8 aufgefallen ist:

Wenn ich ein set fl_zone occupied 10 mache und bereits ein Timer läuft, wird dieser mit dem manuellen Wert nur kurz überschrieben und läuft dann weiter:

2019-03-22 08:39:39   lastZone        wz_zone
2019-03-22 08:39:39   occupied        50

[set fl_zone occupied 10]
2019-03-22 08:40:14   lastZone        self
2019-03-22 08:40:14   occupied        10

2019-03-22 08:40:39   lastZone        wz_zone
2019-03-22 08:40:39   occupied        30


Bug oder Feature?
lastZone ist jeweils das letzte meldende homezone-device?
VG Sebastian
Würde mal auf Bug tippen... da fehlt ein RemoveInternalTimer... schaue ich mir an. Ja, lastZone ist das letzte meldende Device, du kannst es auch manuell mitgeben: set fl_zone occupied 10 vonMeinemDOIFgesetzt Bisher steckt da noch kein tieferer Sinn dahinter (ausser, dass das Modul unter bestimmten Umständen wissen muss, ob es timer-gesteuert aktualisiert wurde) aber da kommt sicher noch was.

Zitat von: binford6000 am 22 März 2019, 09:04:19
@KernSani:
Planst du auch die Unterstützung von PERL-Code in den CMD-userattr? Ein
{fhem("set bu_szene scene anwesend");}
funktioniert momentan bei mir nicht.
Ein attr hz_device widgetOverride hz_cmd_likely:textField-long
würde dann auch Sinn machen.
VG Sebastian
yep, beides auf dem Radar
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

binford6000

ZitatBisher steckt da noch kein tieferer Sinn dahinter (ausser, dass das Modul unter bestimmten Umständen wissen muss, ob es timer-gesteuert aktualisiert wurde) aber da kommt sicher noch was.

Ja das dachte ich mir schon. Diente ja auch "nur" als Bug-Reporting  ;)

KernSani

Zitat von: binford6000 am 22 März 2019, 08:51:56
Was mir mit 0.0.8 aufgefallen ist:

Wenn ich ein set fl_zone occupied 10 mache und bereits ein Timer läuft, wird dieser mit dem manuellen Wert nur kurz überschrieben und läuft dann weiter:

2019-03-22 08:39:39   lastZone        wz_zone
2019-03-22 08:39:39   occupied        50

[set fl_zone occupied 10]
2019-03-22 08:40:14   lastZone        self
2019-03-22 08:40:14   occupied        10

2019-03-22 08:40:39   lastZone        wz_zone
2019-03-22 08:40:39   occupied        30


Bug oder Feature?
lastZone ist jeweils das letzte meldende homezone-device?
VG Sebastian
Ich habe mir das nochmal angesehen - Kann es sein, Da überschreibt wz_zone die fl_zone - Ist wz ein Kind von fl oder adjacent? Dann wäre das Verhalten richtig...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

binford6000

ZitatIch habe mir das nochmal angesehen - Kann es sein, Da überschreibt wz_zone die fl_zone - Ist wz ein Kind von fl oder adjacent? Dann wäre das Verhalten richtig...

Bei wz_zone steht fl_zone als adjacent drin. Bei fl_zone ist kein adjacent gesetzt.
defmod fl_zone homezone
attr fl_zone userattr hz_cmd_absent hz_cmd_likely hz_cmd_present hz_cmd_unlikely hz_decay_afternoon hz_decay_day hz_decay_evening hz_decay_morning hz_decay_night hz_lumiThreshold_absent hz_lumiThreshold_likely hz_lumiThreshold_present hz_lumiThreshold_unlikely hz_decay_sr hz_decay_ss hz_decay_sr hz_decay_ss
attr fl_zone devStateIcon present:user_available@blue likely:user_available@lightgreen unlikely:user_unknown@orange absent:user_away@red
attr fl_zone hz_cmd_absent IF ([rr_Sebastian:state] eq "asleep") (set fl_szene scene abwesend)
attr fl_zone hz_cmd_likely IF ([rr_Sebastian:state] eq "asleep") (set fl_szene scene schlafen)
attr fl_zone hz_dayTimes 05:00|morning 10:00|day 14:00|afternoon 18:00|evening 23:00|night
attr fl_zone hz_decay 300
attr fl_zone hz_occupancyEvent fl_bwm:motion
attr fl_zone hz_state 100:present 50:likely 1:unlikely 0:absent
attr fl_zone icon floor


defmod wz_zone homezone
attr wz_zone userattr hz_cmd_absent hz_cmd_likely hz_cmd_present hz_cmd_unlikely hz_decay_afternoon hz_decay_day hz_decay_evening hz_decay_morning hz_decay_night     hz_lumiThreshold_absent hz_lumiThreshold_likely hz_lumiThreshold_present hz_lumiThreshold_unlikely hz_decay_sr hz_decay_ss hz_decay_sr hz_decay_ss
attr wz_zone devStateIcon present:user_available@blue likely:user_available@lightgreen unlikely:user_unknown@orange absent:user_away@red
attr wz_zone hz_adjacent fl_zone
attr wz_zone hz_closedEvent PhilipsTV.PRE:present
attr wz_zone hz_cmd_absent IF ([rr_Sebastian:state] eq "asleep") (set wz_szene scene abwesend)
attr wz_zone hz_cmd_likely IF ([rr_Sebastian:state] eq "asleep") (set wz_szene scene schlafen)
attr wz_zone hz_dayTimes 05:00|morning 10:00|day 14:00|afternoon 18:00|evening 23:00|night
attr wz_zone hz_decay 300
attr wz_zone hz_occupancyEvent wz_bwm:motion
attr wz_zone hz_openEvent PhilipsTV.PRE:absent
attr wz_zone hz_state 100:present 50:likely 1:unlikely 0:absent
attr wz_zone icon floor



VG Sebastian