FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: dk3572 am 25 Januar 2020, 18:10:57

Titel: DOIF mit Hue_Bwegungsmelder
Beitrag von: dk3572 am 25 Januar 2020, 18:10:57
Hallo,

ich möchte mit einem Hue-Bewegungsmelder ein Licht einschalten in Abhängigkeit der Helligkeit im gleichen Raum.
Zur Zeit verwende ich die Helligkeit eines anderen Raumes, da sonst ja das Licht nicht an bleibt weil es ja im gleichen Raum hell genug wäre.
Wie habt ihr das gelöst?

DOIF

DEF        ([BM_WC_Motion] eq "motion" and [?BM_Flur_EG:brightness] < 40) (set WC_Licht pct 100) DOELSE (set WC_Licht off)

Attributes:
   do         always
   wait       0:65


Bewegungsmelder

DEF        sensor 38 1 IODev=HueBridge
   FUUID      5e04fb40-f33f-cd72-b87a-9a0508ac8160fccf
   FVERSION   31_HUEDevice.pm:0.210390/2020-01-23
   ID         S38
   INTERVAL   1
   IODev      HueBridge
   NAME       BM_WC_Motion
   NR         360
   STATE      nomotion


DEF        sensor 39 1 IODev=HueBridge
   FUUID      5e04fb88-f33f-cd72-7911-00ae625e4a760d40
   FVERSION   31_HUEDevice.pm:0.210390/2020-01-23
   ID         S39
   INTERVAL   1
   IODev      HueBridge
   NAME       BM_WC_Light
   NR         361
   STATE      0 lux
   TYPE       HUEDevice


Für Hilfe dankbar und Gruß
Dieter
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: amenomade am 25 Januar 2020, 18:25:47
ZitatWie habt ihr das gelöst?
Ich mache es mit Twilight (Aussenhelligkeit)
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: dk3572 am 25 Januar 2020, 18:30:16
Zitat von: amenomade am 25 Januar 2020, 18:25:47
Ich mache es mit Twilight (Aussenhelligkeit)

Danke für die schnelle Antwort.
Ja, so mache ich das mit einem Außenlicht auch.
Wenn der Bewegungsmelder schon die Helligkeit misst, sollte es doch auch mit dieser funktionieren.
Über die Hue-App würde es ja auch nur mit dem Bewegungsmelder funktionieren.

EDIT. Mit Twilight würde es auch nicht funktionieren wenn es taghell ist aber das Zimmer z.B. mit einem Rolladen verdunkelt ist. Dann sollte ja auch das Licht angehen  ;)
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: amenomade am 25 Januar 2020, 18:40:53
([BM_WC_Motion] eq "motion" and [?xxx:brightness] < 40) (set WC_Licht pct 100)
DOELSEIF  ([BM_WC_Motion] eq "nomotion") (set WC_Licht off)

Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: dk3572 am 25 Januar 2020, 18:46:55
Zitat von: amenomade am 25 Januar 2020, 18:40:53
([BM_WC_Motion] eq "motion" and [?xxx:brightness] < 40) (set WC_Licht pct 100)
DOELSEIF  ([BM_WC_Motion] eq "nomotion") (set WC_Licht off)


Wenn das Licht ausgeht weil ich mich nicht bewegt habe, es aber wieder anschalten möchte indem ich mich bewege, funktioniert es nicht weil es zu lange dauert bis der Helligkeitswert gesendet wird.  ;)
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: Byte09 am 25 Januar 2020, 18:55:43
Zitat von: dk3572 am 25 Januar 2020, 18:46:55
Wenn das Licht ausgeht weil ich mich nicht bewegt habe, es aber wieder anschalten möchte indem ich mich bewege, funktioniert es nicht weil es zu lange dauert bis der Helligkeitswert gesendet wird.  ;)

wie wird denn die lampe geschaltet ? ist da was direkt gepaired oder schaltet fhem letztendlich?

ich greife im moment der bewegung die helligkeit ab, die ja zusammen mit der bewegung als event kommt. in diesem moment ist das licht ja noch aus - und setze diesen wert in ein userreading , der nur dann aktualisiert wird, wenn das licht im moment des events aus ist. auf diesen wert greife ich zurück um zu entscheiden, ob geschaltet wird oder nicht.

funktioniert gut , geht aber vermutlich nur , wenn kein direktes pairing vorhanden ist.

ob nun per DOIF oder womit auch immer ist wohl Geschmackssache.

gruss Byte09
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: dk3572 am 25 Januar 2020, 19:00:34
Zitat von: Byte09 am 25 Januar 2020, 18:55:43
wie wird denn die lampe geschaltet ? ist da was direkt gepaired oder schaltet fhem letztendlich?

ich greife im moment der bewegung die helligkeit ab, die ja zusammen mit der bewegung als event kommt. in diesem moment ist das licht ja noch aus - und setze diesen wert in ein userreading , der nur dann aktualisiert wird, wenn das licht im moment des events aus ist. auf diesen wert greife ich zurück um zu entscheiden, ob geschaltet wird oder nicht.

funktioniert gut , geht aber vermutlich nur , wenn kein direktes pairing vorhanden ist.

ob nun per DOIF oder womit auch immer ist wohl Geschmackssache.

gruss Byte09

Danke, klingt gut und darüber habe ich auch bereits nachgedacht/gelesen.
Wie mache ich das am besten ohne Mswitch?

Es ist nichts gepaired, fhem schaltet.
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: Byte09 am 25 Januar 2020, 19:02:21
Zitat von: dk3572 am 25 Januar 2020, 19:00:34
Wie mache ich das am besten ohne Mswitch?

ist dann leider nicht meine Baustelle, da ich mich sonst mit nichts gut genug auskenne um es auf die schnelle zu machen.

gruss Byte09
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: amenomade am 25 Januar 2020, 22:10:52
Idee: bei "motion", wenn brightness < 40 or DOIF war auf off seit weniger als 20s

([BM_WC_Motion] eq "motion" and ([?xxx:brightness] < 40 or [?$SELF] eq "cmd_2" and [?$SELF:state:sec] < 20))
   (set WC_Licht pct 100)
   
DOELSEIF  ([BM_WC_Motion] eq "nomotion")
(set WC_Licht off)


Ansonsten kann man die Idee von Byte09 wahrscheinlich mit setreading einsetzen. Aber mir fehlt etwas: wann soll die alte brightness zurückgesetzt werden? Bringt mich zu eine andere Idee... hmmm... muss überlegen

Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: amenomade am 25 Januar 2020, 22:19:06
([BM_WC_Motion] eq "motion" and ([?xxx:brightness] < 40 or [?$SELF:oldbrightness,999] < 40))
(IF ([WC_Licht] eq "off")(setreading $SELF oldbrightness 0))
(set WC_Licht pct 100)
(set WC_Licht off)
(setreading $SELF oldbrightness 999)

attr ... wait 0,0,60,60
attr ... do resetwait
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: dk3572 am 26 Januar 2020, 08:56:05
Guten Morgen und Danke für die Beispiele, werde ich testen.

Aber mal ehrlich, ist das Problem so neu oder wie lösen das andere Anwender?

Schönes Wochenende und Gruß
Dieter
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: Damian am 26 Januar 2020, 10:31:15
Zitat von: dk3572 am 26 Januar 2020, 08:56:05
Aber mal ehrlich, ist das Problem so neu oder wie lösen das andere Anwender?

Dass die Helligkeit nicht aktuell ist, vielleicht schon.

Auch das erstmalige Einschalten des Lichtes ist damit kritisch zu sehen.
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: dk3572 am 26 Januar 2020, 11:06:39
Zitat von: Damian am 26 Januar 2020, 10:31:15
Dass die Helligkeit nicht aktuell ist, vielleicht schon.

Auch das erstmalige Einschalten des Lichtes ist damit kritisch zu sehen.

Hallo und Danke für deinen Antwort.
Leider verstehe ich grad gar nicht was du mir damit sagen willst.  ???
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: Damian am 26 Januar 2020, 11:12:08
Wenn du bei Bewegung die Helligkeit abfragst und diese nicht aktuell ist, dann könnte es sein, dass du Licht einschaltest, obwohl es noch Hell ist.

Wie oft wird die Helligkeit aktualisiert?

Im günstigsten Falle sollte sie mit der Bewegung kommen.
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: dk3572 am 26 Januar 2020, 11:17:02
Zitat von: Damian am 26 Januar 2020, 11:12:08
Wenn du bei Bewegung die Helligkeit abfragst und diese nicht aktuell ist, dann könnte es sein, dass du Licht einschaltest, obwohl es noch Hell ist.

Wie oft wird die Helligkeit aktualisiert?

Im günstigsten Falle sollte sie mit der Bewegung kommen.

Es ist ein Hue-Bewegungsmelder. Ich denke das sie mit der Bewegung kommt.
Wie hast du bzw. würdest du das lösen?
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: binford6000 am 26 Januar 2020, 11:24:21
Zitat von: dk3572 am 26 Januar 2020, 08:56:05
Aber mal ehrlich, ist das Problem so neu oder wie lösen das andere Anwender?

zB. mit dem Modul homezone. https://forum.fhem.de/index.php/topic,98594.0.html (https://forum.fhem.de/index.php/topic,98594.0.html)
Mein Klo sieht so aus  ;D :
defmod wc_zone homezone
attr wc_zone userattr hz_decay_afternoon hz_decay_day hz_decay_evening hz_decay_morning hz_decay_night             hz_decay_sr hz_decay_ss hz_decay_sr hz_decay_ss  :textField-long    :textField-long    :textField-long    :textField-long   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
attr wc_zone cmdIcon closed:radio_checked@blue occupied100:rc_dot@blue open:radio_checked@lightgreen occupied0:rc_dot@red
attr wc_zone devStateIcon inactive:ios-NACK present:user_available@blue likely:user_available@lightgreen unlikely:user_unknown@orange absent:user_away@red
attr wc_zone eventMap /occupied 0:occupied0/ /occupied 100:occupied100/
attr wc_zone group Homezone
attr wc_zone hz_absenceEvent Wohnung:presence:.absent
attr wc_zone hz_cmd_absent setscene wc.hgr abwesend
attr wc_zone hz_cmd_likely IF ([Wohnung] =~ /sleep/) (setscene wc.hgr schlafen)\
ELSE (setscene wc.hgr anwesend)
attr wc_zone hz_dayTimes 05:00|morning 10:00|day 14:00|afternoon 18:00|evening 23:00|night
attr wc_zone hz_decay 300
attr wc_zone hz_lumiThreshold_likely 0:35
attr wc_zone hz_luminanceReading wc_bwm:lux
attr wc_zone hz_occupancyEvent wc_bwm:motion
attr wc_zone hz_state 100:present 50:likely 1:unlikely 0:absent
attr wc_zone icon floor
attr wc_zone room 50_Zonen
attr wc_zone userReadings lux {ReadingsNum('wc_huesens_light','lux',50);;;;},\
targetlux
attr wc_zone webCmd closed:open:occupied100:occupied0


Mal ganz einfach beschrieben: Bei Bewegung Licht an (in Abhängigkeit der Helligkeit des Sensors).
Es bleibt dann an solange Bewegung herrscht. Bei Nicht-Bewegung Licht geht das Licht aus (falls es an war).

VG Sebastian
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: Byte09 am 26 Januar 2020, 11:29:57
ich verstehe das - noch bestehende - problem nicht wirklich.

Die Lösung wurde bereits genannt - und die kann nur sein , die Helligkeit immer dann zu speichern , wenn sie aktualisiert wird UND das licht noch aus ist. Diese gespeicherte Helligkeit muss weder gelöscht werden , noch sonst irgendwas. Sie wird einfach mit aktuellem wert überschrieben , wenn sie wieder geliefert wird bei ausgeschaltetem licht.

da ich davon aushgehe , das das licht mit einem timer angeschaltet wird - alles andere macht ja nicht wirklich sinn - geht es in jedem Fall von alleine aus - irgendwann und spätestens dann wird bei der nächsten bewegung die aktuelle Helligkeit aktualisiert.

das ist mitt einem simplen notify/doif umsetzbar ( zumindest die aktualisierung der helligkeit )

Zitatwenn ein motion kommt schaue nach dem reading helligkeit im sensor und schreiben diesen in das reading XXX WENN die lampe aus ist ( nur dann ).

zum schalten der lampe dann ein zweites notify oder wegen mir auch DOIF:

Zitatwenn bewegung und das reading XXX < schalthelligkeit -> anschalten für x sekunden

edit: es muss dann nur gewährleistet sein , das das zweite notify auch wirklich erst nach dem ersten ausgelöst wird ( wie auch immer : seperater trigger etc. )

es gibt irgendwie kein problem

gruss Byte09





Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: dk3572 am 26 Januar 2020, 11:57:57
Ich habe den Vorschlag von amenomade getestet und funktioniert auch soweit.
Leider wird die Helligkeit nicht schnell genug aktualisiert.
Wenn es z.B. hell genug ist und ich denn Rollladen schließe, sollte das Licht angehen da es ja dann im Raum dunkel ist.  ;)
Über die Hue-APP würde das doch funktionieren, möchte aber alles mit fhem lösen.
Titel: Antw:DOIF mit Hue_Bwegungsmelder
Beitrag von: Byte09 am 26 Januar 2020, 12:11:58
Zitat von: dk3572 am 26 Januar 2020, 11:57:57
Ich habe den Vorschlag von amenomade getestet und funktioniert auch soweit.
Leider wird die Helligkeit nicht schnell genug aktualisiert.
Wenn es z.B. hell genug ist und ich denn Rollladen schließe, sollte das Licht angehen da es ja dann im Raum dunkel ist.  ;)
Über die Hue-APP würde das doch funktionieren, möchte aber alles mit fhem lösen.

dann wirst du das schliessen des rollos als zusätzlichen trigger verwenden müssen da zu diesem zeitpunkt ja unbekannt ist wann der bewegungsmelder das nächstemal meldet.

Byte09