Zonen-basierte Anwesenheitserkennung und -steuerung

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

Vorheriges Thema - Nächstes Thema

slor

Hallo zusammen, ich hätte noch einen...

Mir ist aufgefallen, dass ich unterschiedliche dim Level je nach Tageszeit bräuchte. Ich sehe aber nur unterschiedliche decay Einstellungen für die Tageszeiten, aber keine cmd. diese habe ich nur für die Anwesenheitslevel.

Vermute, dass ist aktuell im Modul nicht so abgebildet?

ich bräuchte sowas in der Art: hz_cmd_likely_evening

Oder lässt sich das anders umsetzen? Also bei Bewegung nachts 20% dimmen, morgens und abends 60% dimmen.
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

kotaro

#166
Hallo,

ich nutze auch über längeren Zeitraum dieses Modul. Dabei ist mir aufgefallen, das mir manchmal die Dauer fehlt. Hier wäre es toll, wenn man die Dauer für Nichtanwesenheit/Anwesenheit in Sekunden als Reading hätte (ähnlich wie in Residents Modul) -> da hier einer bei 0% der andere bei 30 oder 50% als Abwesend zählt, kam mir dabei folgende Idee:

Ein Attribute mit dem namen duration_range oder so ähnlich, dabei kann man zum Beispiel 0:1:50:100 oder nur 0:1:100 eingeben. Dann würde man eine Zeit zwischen erster und zweiter sowie zweiter und dritter Zahl usw... bestimmen.
Hier könnte man überlegen, ob man ein Rading oder jeweils ein eigenes Reading generieren würde (als 0_duration; 1_50_duration; 51_100 duration) was wiederum für einige DOIF's vielelicht etwas leichter wäre, weil man dann sagen kann, wenn 0 > 300 sek und Anwesenheit registriert --> dann wenig licht und wenn 0>300 sek und Anwesenheit registriert dann viel Licht/Laden der letzten Scene (man war ja nur kurz [5 min] drauen)...
Und insgesammt könnte man per doif darauf reagieren, das zum Beispiel seit über 5 Minuten jemand im Raum ist, und die Heizung hochdrehen, oder länger als 15 Minuten niemand mehr im Raum war, und die Heizung ausschalten usw... ebenso könnte man die Lichter dann (nachts zum Beispiel) in den ersten 3 Minuten (kurz rein und wieder aus dem Raum raus) nur 1 Lampe gedimmt einschalten, wenn man sich aber länger aufhält, kann man mehr Lampen hinzuschalten. usw.. da kam mir einige Ideen dazu.

Wäre das möglich???


slor

Das wäre wirklich cool! Hab ich noch garnicht dran gedacht.

@KernSani, hat du sowas wie eine Wunschliste / Backlog für das Modul?
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

KernSani

@slor, kotaro: Prinzipiell liese sich das gewünschte Szenario (soweit ich es verstanden habe) relativ leicht mit einem DOIF mit wait-Attribut umsetzen.
Ein Reading vergleichbar mit Residents zu erzeugen, in dem die An- bzw. Abwesenheitszeit z.B. jede Minute hochgezählt wird missfällt mir etwas, da das bei vielen Zonen eine ganze Menge Events erzeugt und wahrscheinlich will dann jemand nach 10 Sekunden Anwesenheit etwas triggern ;-) Ich denke nochmal drüber nach... Was spricht gegen DOIF mit wait?
@slor: Den Vorschlag "hz_cmd_likely_evening" nehme ich mal in mein persönliches Backlog mit auf. Damit werden die Userattribute zwar vielleicht etwas unübersichtlich, aber vielleicht mache ich das über ein weiteres Attribut steuerbar...
@slor/laberlaib: Die Analyse bez. des absence-Events ist m.E. vollkommen richtig. Das lustige ist, dass ich es bei mir nicht nachvollziehen kann. Da muss ich vielleicht nochmal mit einem Test-Bewegungsmelder ran, um das Ganze zu isolieren.
@pah: Die Anzahl der Personen in einer Zone zuverlässig zu bestimmen ist mein Traum... Aber bei mir ziemlich unrealistisch, wobei ich das mit den Stockwerken tatsächlich ausprobieren könnte. Nun zu einer möglichen Erweiterung des Modules: Das einzig sinnvolle Szenario, das ich mir aktuell vorstellen kann ist nur, dass mit Sicherheit weißt, wie viele Personen anwesend sind und entsprechend unterschiedlich reagierst (Sowas, wie: Alle Bewohner sind im OG, also mache ich das Licht im EG aus). Alle anderen Szenarien, Im Sinne von "Eine Person ist mit 77% Wahrscheinlichkeit im OG und mit 32% Wahrscheinlichkeit ist eine weitere Person anwesend , daher zählen wir jetzt von 109% nach unten" machen m.E. wenig Sinn. Ich lasse mich da aber gerne eines Besseren belehren...



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

slor

Hallo Oli, Danke!

ein Doif reicht dafür denke ich auch aus.

Bist du weiter gekommen bei der Analyse der Absence Events? (Tür zu von außen, Zone springt auf locked und 100% occupied)

Könntest du noch einen Check einbauen, der regelmäßig (konfigurierbar) prüft ob nach einen Close event wirklich jemand im Raum ist? Das würde ggf. evtl. das Problem weiter oben lösen.

Noch ein Wunsch, könntest du einbauen, dass bei jeder Veränderung von Occupied nach oben der cmd Befehl neu getriggert wird? Nicht nur beim initialen Occupied. Hintergrund: Zone hat ein decay von 10 min. Nach 2 Minuten macht jemand das Licht am Schalter aus. Dann bleibt die Zone trotz Bewegung 8 Minuten Dunkel, bevor das wieder angeht. Das Setting gerne konfigurierbar :-)

Könntest du deinen ersten Post um das Backlog erweitern? Dann kann man checken ob ein Feature schon angefragt / in Arbeit / implementiert ist :-)

Falls du nen Bewegungsmelder brauchst, ich könnte dir einen schicken.
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

slor

#170
Zitat von: slor am 13 April 2021, 16:12:04
Noch ein Wunsch, könntest du einbauen, dass bei jeder Veränderung von Occupied nach oben der cmd Befehl neu getriggert wird? Nicht nur beim initialen Occupied. Hintergrund: Zone hat ein decay von 10 min. Nach 2 Minuten macht jemand das Licht am Schalter aus. Dann bleibt die Zone trotz Bewegung 8 Minuten Dunkel, bevor das wieder angeht. Das Setting gerne konfigurierbar :-)

Edit: Kann ich vermutlich mit hz_absenceEvent: lösen.

Auf der Anderen Seite könnte ja noch jemand im Raum sein... der würde dann wieder occupied triggern. Falls nicht vorher der Lumisensor bei dem hellen Licht das nicht blockt :-)
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

KernSani

Zitat von: slor am 13 April 2021, 16:15:04
Edit: Kann ich vermutlich mit hz_absenceEvent: lösen.

Auf der Anderen Seite könnte ja noch jemand im Raum sein... der würde dann wieder occupied triggern. Falls nicht vorher der Lumisensor bei dem hellen Licht das nicht blockt :-)
"Licht aus" als absenceEvent ist ungeschickt, jedenfalls wenn man "Licht aus" auch als cmd_absent hat ;-) Gibt einen schönen Loop...

Ich schreibe heute Abend mal meine Ideen und eure Anregungen als Backlog in den ersten Post.

Danke für das Angebot mit dem Bewegungssensor, aber ich habe in jedem Raum einen dieser netten kleinen Aquara Dinger rumstehen ;-)
 
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

slor

Wie gut, dass ich das noch nicht implementiert habe :-)

Dann setzt das bitte ins Backlog. - Danke!
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

KernSani

so, habe im ersten Post mal das Backlog mit angefügt.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

@slor, es hängt eine neue Version am ersten Post, die möglicherweise dein Problem mit dem Absence Event bei geschlossener Tür löst. Wenn das Problem weiterhin besteht hätte ich gerne mal ein "list" der betroffenen Zone, damit ich das besser nachstellen kann.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

slor

Danke! Problem ist gelöst. Die Zone springt nicht mehr auf Likely nach dem Schließen der Tür, sonder zählt brav runter auf 0

Habe aber ein komisches Phänomen:
Ich habe den Lichtschalter, welcher auch gleichzeitig ein Aktor für das Licht ist als absent event (off) definiert.
Schalte ich nun das Licht ein, geht es sofort wieder aus.
Was ich etwas komisch finde, da der Aktor ja auf on und nicht off geht.

List vom Device:

Attributes:
   devStateIcon present:user_available@green likely:user_available@lightgreen unlikely:user_unknown@yellow absent:user_away
   hz_absenceEvent DG_AZ_WS:state:.off
   hz_closedEvent DG_AZ_TK:state:.closed
   hz_cmd_absent set HUEDevice21 off; set DG_AZ_WS off
   hz_dayTimes 05:00|morning 10:00|day 14:00|afternoon 18:00|evening 23:00|night
   hz_decay   300
   hz_luminanceReading DG_AZ_PM:1.CURRENT_ILLUMINATION
   hz_occupancyEvent DG_AZ_PM:hmstate:.yes
   hz_openEvent DG_AZ_TK:state:.open
   hz_state   100:present 50:likely 1:unlikely 0:absent
   room       1_test
   sortby     10
   stateFormat state
| Timer: occupied
   userattr   hz_cmd_present:textField-long hz_lumiThreshold_present hz_cmd_likely:textField-long hz_lumiThreshold_likely hz_cmd_unlikely:textField-long hz_lumiThreshold_unlikely hz_cmd_absent:textField-long hz_lumiThreshold_absent hz_decay_morning hz_decay_day hz_decay_afternoon hz_decay_evening hz_decay_night
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

KernSani

@slor: Habe das gerade mal versucht nachzuvollziehen, bzw. nachzubauen... Ohne Erfolg... Wenn du das absenceEvent raus nimmst funktioniert wieder alles? Oder funkt da noch irgendein andere notify/DOIF mit rein?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

slor

Habs rausgenommen, geht.
Ich habe aber gesehen, dass der Schalter selbst beim "ON" drücken erst mal seinen alten Status übermittelt, nämlich off. Da geht die Zone natürlich auf Absence.
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

KernSani

Zitat von: slor am 14 April 2021, 23:46:12
Habs rausgenommen, geht.
Ich habe aber gesehen, dass der Schalter selbst beim "ON" drücken erst mal seinen alten Status übermittelt, nämlich off. Da geht die Zone natürlich auf Absence.
Lässt sich das mit einer cleveren Regex ausschliessen? Wie sieht denn das Eventlog bei "ON" aus?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Neue Version mit Implementierung eines "doAlways" Attributes ist am ersten Post angehängt. Doku des Attributes ist ebenfalls im ersten Post.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...