Ich bräuchte mal wieder einen Denkanstoß.
Ich möchte ein Aussenlicht schalten, wenn ein Familienmitglied nach Hause kommt.
Das ganze anhand der Anwesenheit im WLAN und in Abhängigkeit vom Tageslicht.
Ich habe im PRESENCE Modul alle Familienmitglieder als ROOMMATE angelegt, muss aber trotzdem auf jeden einzelnen reagieren, statt auf die gesamte Gruppe.
Mein Code sieht bislang so aus:
define HausTuer_Licht_kommenUdo ([rr_Udo:state] eq "home" and [Tageslicht:twilight_weather]<10) (set HM_395290 on-for-timer 90) DOELSE (set HM_395290 off)
attr HausTuer_Licht_kommenUdo event-on-change-reading rr_Udo:state
Grundsätzlich funktioniert es auch schon.
Jedoch habe ich das Problem, das einige der überwachten Smartphones (alles Androiden) sich PRESENCE-technisch ins Nivana verabschieden und irgendwann wieder online sind.
D.h. Nachts schaltet das Licht, obwohl real niemand nach Hause gekommen ist.
Habt ihr für mich einen Lösungsansatz um solche Fehlfunktionen zu verhinden?
Fraglich ist gerade auch noch, ob ich das ganze noch mit einem "do always" spicken sollte.
Rein vom Verständnis her ja, aber bislang geht es auch ohne. Wo wäre der Vorteil von "do always"
Danke,
vb
ps.
mir kam gerade die Idee, ein weiteres der vielen Readings aus dem Presence-Modul auszuwerten.
Lässt sich denn z.B. das "durTimerAbsence_cr" sinnvoll verwenden?
Hier steht ja die Dauer der Abwesenheit in Minuten, wenn ich die CommandRef richtig verstanden habe.
z.B. so?? "[durTimerAbsence_cr:state] <2"
Wobei ich halt momentan nicht abschätzen kann, wie lange die Geräte jeweils "offline" sind.
Es muss über 15 Minuten sein, da ich im PRESENCE bei Anwesenheit nur alle 900 Sekunden checken lasse, ob das Gerät noch da ist.
lan-ping 192.168.0.40 30 900
Zitat von: VB90 am 01 Oktober 2015, 17:08:23
Ich bräuchte mal wieder einen Denkanstoß.
Ich möchte ein Aussenlicht schalten, wenn ein Familienmitglied nach Hause kommt.
Das ganze anhand der Anwesenheit im WLAN und in Abhängigkeit vom Tageslicht.
Ich habe im PRESENCE Modul alle Familienmitglieder als ROOMMATE angelegt, muss aber trotzdem auf jeden einzelnen reagieren, statt auf die gesamte Gruppe.
Mein Code sieht bislang so aus:
define HausTuer_Licht_kommenUdo ([rr_Udo:state] eq "home" and [Tageslicht:twilight_weather]<10) (set HM_395290 on-for-timer 90) DOELSE (set HM_395290 off)
attr HausTuer_Licht_kommenUdo event-on-change-reading rr_Udo:state
Grundsätzlich funktioniert es auch schon.
Jedoch habe ich das Problem, das einige der überwachten Smartphones (alles Androiden) sich PRESENCE-technisch ins Nivana verabschieden und irgendwann wieder online sind.
D.h. Nachts schaltet das Licht, obwohl real niemand nach Hause gekommen ist.
Habt ihr für mich einen Lösungsansatz um solche Fehlfunktionen zu verhinden?
Fraglich ist gerade auch noch, ob ich das ganze noch mit einem "do always" spicken sollte.
Rein vom Verständnis her ja, aber bislang geht es auch ohne. Wo wäre der Vorteil von "do always"
Danke,
vb
ps.
mir kam gerade die Idee, ein weiteres der vielen Readings aus dem Presence-Modul auszuwerten.
Lässt sich denn z.B. das "durTimerAbsence_cr" sinnvoll verwenden?
Hier steht ja die Dauer der Abwesenheit in Minuten, wenn ich die CommandRef richtig verstanden habe.
z.B. so?? "[durTimerAbsence_cr:state] <2"
Wobei ich halt momentan nicht abschätzen kann, wie lange die Geräte jeweils "offline" sind.
Es muss über 15 Minuten sein, da ich im PRESENCE bei Anwesenheit nur alle 900 Sekunden checken lasse, ob das Gerät noch da ist.
lan-ping 192.168.0.40 30 900
Du könntest es auf bestimme Zeit beschränken:
([rr_Udo:state] eq "home" and [Tageslicht:twilight_weather]<10 and [?15:00-00:00]) ...
Gruß
Damian
Hallo Damian,
danke.
Diese Idee kam mir auch schon.
Aber wie das Leben dann so spielt, wenn ich es heute auf eine Zeit beschränke, kommt morgen jemand in einer anderen Zeitlage und das Licht geht nicht an, obwohl es nötig wäre. Obendrein ist nicht sicher, das die Geräte in der freigegebenen Zeit nicht genauso "rumspinnen".
Aus praktischer Sicht halte ich das daher nur für eine Krücke.
Fallen dir eventuell noch andere Attribute ein, mit denen ich etwas sicherer feststellen kann, das die Statusänderung echt ist?
Am besten wäre es natürlich, wenn die Smartphones zwischendurch immer erreichbar wären.
Ich habe schon überlegt, das PRESENCE über Bluetooth zu realisieren, was aber daran scheitert, das auf drei von fünf Geräten normalerweise BT nicht genutzt wird.
Man könnte auch einfach nen Lichtschalter am Gartenzaun befestigen, aber das wäre zu einfach ;D
vb
Zitat von: VB90 am 01 Oktober 2015, 20:25:10
Hallo Damian,
danke.
Diese Idee kam mir auch schon.
Aber wie das Leben dann so spielt, wenn ich es heute auf eine Zeit beschränke, kommt morgen jemand in einer anderen Zeitlage und das Licht geht nicht an, obwohl es nötig wäre. Obendrein ist nicht sicher, das die Geräte in der freigegebenen Zeit nicht genauso "rumspinnen".
Aus praktischer Sicht halte ich das daher nur für eine Krücke.
Fallen dir eventuell noch andere Attribute ein, mit denen ich etwas sicherer feststellen kann, das die Statusänderung echt ist?
Am besten wäre es natürlich, wenn die Smartphones zwischendurch immer erreichbar wären.
Ich habe schon überlegt, das PRESENCE über Bluetooth zu realisieren, was aber daran scheitert, das auf drei von fünf Geräten normalerweise BT nicht genutzt wird.
Man könnte auch einfach nen Lichtschalter am Gartenzaun befestigen, aber das wäre zu einfach ;D
vb
Wenn es sporadisch passiert und kein Muster auszumachen ist, dann lässt sich auch kein Algorithmus programmieren.
Gruß
Damian