FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Stonemuc am 28 September 2018, 08:27:35

Titel: DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Stonemuc am 28 September 2018, 08:27:35
Ich möchte mit meinem Bewegungsmelder im Bad das Licht im Bad automatisieren. Das soll folgendermaßen funktionieren::

Wenn der Bewegungsmelder auf "on" steht und es dunkel ist und das Rollo nicht geschlossen, soll angefangen werden das  Rollo zu schließen und 3 Sekunden später das Licht anschalten.

Wenn das Rollo unten ist, soll das Licht sofort angeschalten werden. Wenn ich mit dem Taster ausschalte, soll das Licht auch aus gehen und nach 10 Sekunden soll die Bewegungserkennung wieder "scharf" geschalten werden.

Ansonsten soll, wenn keine Bewegung mehr im Raum erkannt wird, das Licht automatisch nach 5 Minute ausschalten.

Wenn ich manuell mit dem Taster AI einschalte, ist der Lux Wert ja sowieso über 50 und dann dürfte nichts passieren, außer dass das Licht an geht und an bleibt. Ist das so alles richtig konfiguriert? Ich bin noch ein FHEM Neuling und hab noch nicht den richtigen Durchblick und mir alles aus der commandref rausgesucht...

Ich habe alles Eltako Enocean Komponenten. Die Befehle set Rollo position xy und set Licht An funktionieren wenn ich sie absetze.
define Bad_Automatik DOIF ([Bewegungsmelder_Bad:motion] eq "on" and [Bewegungsmelder_Bad:brightness] <= 50 and [Rollo_Bad_OG:position] < 100  and [?$SELF] ne "cmd_3_1") (set Rollo_Bad_OG position 100) (set Licht_Bad_OG on) (set Licht_Bad_OG off)
DOELSEIF ([Bewegungsmelder_Bad:motion] eq "on" and [Bewegungsmelder_Bad:brightness] <= 50 and [Rollo_Bad_OG:position] == 100 and [?$SELF] ne "cmd_3_1") (set Licht_Bad_OG on) (set Licht_Bad_OG off)
DOELSEIF ([Taster_Bad_OG_L_R:state] eq "A0" and [Taster_Bad_OG_L_R:buttons] eq "pressed") (set Licht_Bad_OG off) ()
attr Bad_Automatik wait 0,3,300:0,300:0,10
attr Bad_Automatik  do resetwait
Passiert hier das was ich oben beschrieben habe?

Vom User per habe ich folgende Info bekommen - im Gegensatz zum original Beitrag habe ich die Bennenung des Badtasters mittlerweile geändert und das einfache = vor der 100 auf == gesetzt, da es eine Fehlermeldung mit einem = gab:
Vom Klammerfehler mal abgesehen, denke ich schon. Zumindest, wenn der Bewegungsmelder einen zweiten Status ("off") kennt. Und die Helligkeit mit Licht an muss unter 50 sein (was es nicht ist, wie man an deinem Text erkennt). Sonst geht dein Licht trotz Bewegung nach 5 min wieder aus.

Aber folgende Vereinfachungen:
define Bad_Automatik DOIF ([Rollo_Bad_OG:position] < 100 and [$SELF.dunkel]) (set Rollo_Bad_OG position 100) (set $SELF cmd_2)
DOELSEIF ([Rollo_Bad_OG:position] == 100 and [$SELF.dunkel]) (set Licht_Bad_OG on) (set Licht_Bad_OG off)
DOELSEIF ([Taster_Bad_OG_L_R:state] eq "A0" and [Taster_Bad_OG_L_R:buttons] eq "pressed") ((set Licht_Bad_OG off) ()

attr Bad_Automatik DOIF_Readings dunkel:[Bewegungsmelder_Bad:motion] eq "on" and [Bewegungsmelder_Bad:brightness] <= 50 and [?$SELF] ne "cmd_3_1"
attr Bad_Automatik wait 0,3:0,300:0,10
attr Bad_Automatik  do resetwait
Erklärung notwendig?

Ich hab alles mal nach Per's vorlage eingerichtet...allerdings passiert nichts. Wo liegt denn der Fehler? Ich habe folgende readings:

Rollo_Bad_OG
anglePos 0 2018-09-28 08:01:08
block unlock 2018-09-28 08:01:08
endPosition open 2018-09-28 08:01:08
position 0 2018-09-28 08:01:08
state open 2018-09-28 08:01:08

Bewegungsmelder_Bad:
brightness 112 2018-09-28 08:21:15
motion off 2018-09-28 08:21:15
presence absent 2018-09-26 21:55:38
state M: off E: 112 2018-09-28 08:21:15
temperature 0.0 2018-09-26 21:55:38
voltage 2.4 2018-09-26 21:55:38

Taster_Bad_OG_L_R:
buttons released 2018-09-28 07:29:43
channelA A0 2018-09-28 07:29:42
channelB BI 2018-09-28 07:27:06
state A0 2018-09-28 07:29:42

Oder muss ich den Zustand vom Taster in die erste und zweite Bedinigung mit ne state und buttons mit einbringen?
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Per am 28 September 2018, 10:58:08
und das einfache = vor der 100 auf == gesetzt, da es eine Fehlermeldung mit einem = gab
Gut, das ist mir nicht aufgefallen.


allerdings passiert nichts
Wie nichts? Gar nichts? Nicht mal der Status des Readings dunkel andert sich?

Oder muss ich den Zustand vom Taster in die erste und zweite Bedinigung mit ne state und buttons mit einbringen?
Nein.

Was mir noch aufgefallen ist: nicht $SELF.dunkel, sondern $SELF:dunkel
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Stonemuc am 28 September 2018, 12:15:56
Ah...das kann's natürlich sein. Denn der Statud des Readings dunkel ändert sich, aber dann passiert nichts. cmd 1 2 und 3 funktionieren aber, wenn ich sie manuell setze....
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Stonemuc am 30 September 2018, 08:21:09
So...mit dem : anstelle des . funktioniert nun alles.
Allerdings habe ich heute morgen das Problem gehabt, dass nach 5 Minuten das Licht beim Zähneputzen abgeschalten hat und ich im dunkeln stand.
Auch nach erneuter Bewegung ging das Licht nicht direkt wieder an.

Woran wird das liegen? Vermutlich hat das ja was damit zu tun, dass es ja für 5 Minuten dann nicht unter der entsprechenden brightness von dunkel ist - allerdings sollte es ja dann sofort bei erneuter Bewegungsregistrierung wieder hell werden - ich hab da ja kein wait, soweit ich das sehe.
Oder hat es damit was zu tun, dass der Bewegungsmelder nach Erkennung der letzten Bewegung erst mit einer Minute Verzögerung in den Modus off geht?

Wie binde ich das also ein, dass der Zustand cmd_2_1 bei aktiver Bewegungserkennung entsprechend so lang verlängert wird, wie Bewegung erkannt wird? Mit waitdel geht's ja vermutlich nicht. da dunkel dann ja nicht mehr 1 ist ...oder geht es doch? Vermutlich müsste ich das dunkel aufsplitten in Bwegeung und Helligkeit...

Ich hab mir das jetzt mal so vorgestellt, wobei ich noch ein eine Option der Waschischbeleuchtung als Nachtlicht integriert habe - passt das so?

define Bad_Automatik  DOIF ([?23:00-05:59] and [?$SELF:dunkel] and [$SELF:anwesend]) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus)
DOELSEIF ([Rollo_Bad_OG:position] < 100 and [?$SELF:dunkel] and [$SELF:anwesend]) (set Rollo_Bad_OG position 100) (set $SELF cmd_3)
DOELSEIF ([Rollo_Bad_OG:position] == 100 and [?$SELF:dunkel] and [$SELF:anwesend]) (set Licht_Bad_OG An) (set Licht_Bad_OG Aus)
DOELSEIF ([Taster_Bad_OG_L_R:state] eq "A0" and [Taster_Bad_OG_L_R:buttons] eq "pressed") ((set Licht_Bad_OG Aus) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus)

attr Bad_Automatik DOIF_Readings dunkel:[Bewegungsmelder_Bad:brightness] <= 18 and [?$SELF] ne "cmd_4_1"
attr Bad_Automatik DOIF_Readings anwesend:[Bewegungsmelder_Bad:motion] eq "on"
attr Bad_Automatik wait 0,180:0,3:0,0:0,0,5
attr Bad_Automatik waitdel 0,0:0,0:0,300:0,0
attr Bad_Automatik  do resetwait
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Per am 01 Oktober 2018, 12:38:01
Woran wird das liegen? Vermutlich hat das ja was damit zu tun, dass es ja für 5 Minuten dann nicht unter der entsprechenden brightness von dunkel ist - allerdings sollte es ja dann sofort bei erneuter Bewegungsregistrierung wieder hell werden - ich hab da ja kein wait, soweit ich das sehe.
Du bist bereits in cmd_1, k.A. ob das trotz do resetwait von Bedeutung ist. Du kannst, da es eh "ausgeklammert" ist, statt
[Bewegungsmelder_Bad:brightness] <= 18
mit
[Bewegungsmelder_Bad:brightness] <= ([Licht_Bad_OG_WT]?18:48)
arbeiten, wobei "48" von mir jetzt willkürlich geschätzt ist. Also ein Wert, der bei Dunkelheit außen + Innenlicht an unterschritten wird.

attr Bad_Automatik DOIF_Readings dunkel:[Bewegungsmelder_Bad:brightness] <= 18 and [?$SELF] ne "cmd_4_1"
attr Bad_Automatik DOIF_Readings anwesend:[Bewegungsmelder_Bad:motion] eq "on"
Geht definitiv nicht, mit dem zweiten Aufruf überschreibst du den ersten. Syntaxfehler! Komma wäre das richtige Trennzeichen. Aber warum machst du den zweiten Eintrag überhaupt? Mehr als eine gewisse Vereinfachung der Syntax erzielst du damit hier nicht. Ob die Und-Verknüpfung in der Abfrage oder im DOIF-Reading erfolgt, ist egal.
Es handelt sich um einen Eltako FBH. Der kennt den Status motion on und motion oft.
Schickt er den Status "motion on" überhaupt mehrfach? Oder erst "motion off", wenn Schluss ist? Dann müsstest du deine Abfrage ganz anders lösen (separater Zweig für off).
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Stonemuc am 01 Oktober 2018, 17:50:52
Puh...das muss ich mir ehrlich gesagt mal schnell in den Logs anschauen. Kann natürlich sein, dass er den Status nur bei Wechsel sendet. Laut Bedienungsanleitung sendet er so lange on wie Bewegung erkannt wird. Wird keine Bewegung mehr erkannt beginnt die Rückfallverzögerung und nach einer Minute sendet er dann off...

Geht das so dann mit meiner Version?
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Per am 02 Oktober 2018, 11:11:32
Sollte. Aber: probier es aus!
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Stonemuc am 02 Oktober 2018, 20:34:26
Per,

ersteinmal danke für deine Hilfe. Ich versteh den Ausdruck
[Bewegungsmelder_Bad:brightness] <= ([Licht_Bad_OG_WT]?18:48)jedoch nicht richtig.
Er prüft ob Licht_Bad_OG_WT an ist, triggert dadurch aber nicht, sondern nur wenn der Helligkeitswert zwischen 18 und 48 in deinem Beispiel ist?

Aktuell sieht es bei mir so aus:

define Bad_Automatik DOIF ([?23:00-05:59] and [?$SELF:dunkel]) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus) DOELSEIF ([Rollo_Bad_OG:position] < 100 and [$SELF:dunkel]) (set Rollo_Bad_OG position 100) (set $SELF cmd_3) DOELSEIF ([Rollo_Bad_OG:position] == 100 and [$SELF:dunkel]) (set Licht_Bad_OG An) (set Licht_Bad_OG Aus) DOELSEIF ([Taster_Bad_OG_L_R:state] eq "A0" and [Taster_Bad_OG_L_R:buttons] eq "pressed") (set Licht_Bad_OG Aus) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus)
attr Bad_Automatik DOIF_Readings dunkel:[Bewegungsmelder_Bad:motion] eq "on" and [Bewegungsmelder_Bad:brightness] <= 18 and [?$SELF] ne "cmd_4_1"
attr Bad_Automatik do resetwait
attr Bad_Automatik group Bad_OG
attr Bad_Automatik wait 0,120:0,3:0,420:0,0,3
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Per am 04 Oktober 2018, 12:43:44
Er prüft ob Licht_Bad_OG_WT an ist, triggert dadurch aber nicht, sondern nur wenn der Helligkeitswert zwischen 18 und 48 in deinem Beispiel ist?
Je nach dem ob das Licht an ist oder nicht gibt er 18 oder 48 zurück.
Anders geschrieben:
if (Licht_Bad_OG_WT eq "on") then (return 18) else (return 48)
oder
iif(Licht_Bad_OG_WT eq "on",18,48) ;)

Und bitte wieder Zeilenumbrüche verwenden, Danke!
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Stonemuc am 04 Oktober 2018, 13:55:11
Hallo Per,

ich kapier es immernoch nicht - geht es darum, dass der Bewegungsmelder auch anspricht, wenn das Waschtisch Licht an wäre und gegebenenfalls einen höheren Helligkeitswert liefern würde? Bzw. was hat das Waschtischlicht mit der richtigen Beleuchtung zu tun? Müsste dann nicht das Licht_BAD_OG abgefragt werden?

Ich habe aber gerade da das Problem festgestellt, dass er mir bei Kusntlicht den Wert 0 liefert - sobald der Bewegungs/Helligkeitssensor mit meinem LED Kunstlicht beleuchtet wird, bleibt der Helligkeitswert trotzdem bei 0 - entweder ist er als provisorisch unter dm LED Strahler schlecht montiert oder er erkennt das "LED Licht" nicht.

Aber ich versteh nicht, warum er nicht im Status CMD 3_1 bleibt, so lange er Bewegung registriert bzw. wie kann ich das anstelle eines festen wait lösen? Kann ich im DOELSEIF Zweig die Bedingung abfragen? Weil normal sollte es ja mit dem Helligkeitswert von 0 - den der Sensor beim LED-Kusntlicht zurückliefert ja passen - normal sollte da ja der CMD3_1 wieder ausgeführt werden.
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Stonemuc am 08 Oktober 2018, 09:39:02
Könnte mir jemand nochmal den Unterschied zwischen

[?23:00-05:59] und [23:00-05:59] erklären? Ich habe ja vor, dass Hauptlich im Bad zu dieser Uhrzeit nicht einzuschalten, sondern nur das "Notlicht" am Waschtisch als Nachtbeleuchtung. Wenn ich mit ? vorangestellt arbeite, funktioniert das wohl nicht. Laut commandref führt das ? zu keiner Triggerung, sondern nur zur Abfrage. Genau das sollte bei mir doch der Fall sein, aber mit meiner Definition funktioniert es nicht. Oder muss ich ohne ? arbeiten, da dort auch getriggert werden muss?

[define Bad_Automatik DOIF ([?23:00-05:59] and [?$SELF:dunkel]) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus) DOELSEIF ([Rollo_Bad_OG:position] < 100 and [$SELF:dunkel]) (set Rollo_Bad_OG position 100) (set $SELF cmd_3) DOELSEIF ([Rollo_Bad_OG:position] == 100 and [$SELF:dunkel]) (set Licht_Bad_OG An) (set Licht_Bad_OG Aus) DOELSEIF ([Taster_Bad_OG_L_R:state] eq "A0" and [Taster_Bad_OG_L_R:buttons] eq "pressed") (set Licht_Bad_OG Aus) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus)
attr Bad_Automatik DOIF_Readings dunkel:[Bewegungsmelder_Bad:motion] eq "on" and [Bewegungsmelder_Bad:brightness] <= 18 and [?$SELF] ne "cmd_4_1"
attr Bad_Automatik do resetwait
attr Bad_Automatik group Bad_OG
attr Bad_Automatik wait 0,120:0,3:0,420:0,0,3[/b]

Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Per am 08 Oktober 2018, 12:31:41
Oder muss ich ohne ? arbeiten, da dort auch getriggert werden muss?
Zumindest ein Wert muss Triggern können. An beiden (allen) ein Fragezeichen geht nicht.
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Stonemuc am 10 Oktober 2018, 08:45:07
Ja danke...das hatte ich übersehen, dass ich 2 x das ? gesetzt hatte. Gut wenn nochmal jemand drüber schaut. :)

Aber nochmal zu meiner Frage mit der Sache - so lange Licht an, bis Bewegungserkennung aus geht...ich häng dazu mal das .pdf vom Bewegungsmelder an. Da steht drinnen, dass eine Bewegungserkennung sofort gesendet wird - das stimmt auch, denn wenn ich in's Bad komme schaltet sofort das Licht ein. Jetzt hab ich aber immernoch folgendes Problem:

Ich habe Licht an und Licht aus momentan mit (set ...licht an) (set ...licht aus) per festem wait gelöst. Das führt aber dazu, dass wenn die waittime abgelaufen ist, das Licht ausgeschalten wird. Problem dabei ist, dass er dann nicht sofort wieder das Licht anschaltet - ich kann mir nicht erklären warum. Es bleibt also dunkel, wenn man weiter anwesend ist.
Wenn ich das Bad verlasse und nach einer Minute wiederkommen, hat die Rückfallverzögerung gegriffen (laut Anleitung eine Minute) - motion steht also auf off - und bei neuer Bewegungserkennung geht das Licht wieder an.

Gibt es da eine Lösung den ersten cmd Zweig für Licht an so lange zu verlängern wie Bewegung erkannt wird? Also ohne festes wait? Oder muss ich die Zweige splitten und in dem Fall nur (set ...licht an) setzen und einen DOELSEIF Zweig mit motion eq off (set ...licht aus) hinzufügen? Dann bleibt das Licht ja so lange eingeschalten, bis der Status vom Bewegungsmelder wechselt.  Führt er dass dann auch nur bei erneuter Zustandsänderung aus? Oder jedes Mal wenn der Bewegungsmelder das off zusammen mit dem Helligkeitswert meldet auch? Weil dann würde er mir Tagsüber ja 100x das Licht im Bad ausschalten. Gibt es da dann gegebenenfalls eine Bedingung die ich mit einfließen lassen kann, die das verhindert? Also z.B. das vorher das Licht an war, oder Bewegung erkannt wurde oder ähnliches?

Ich hoffe jemand versteht mein Anliegen und kann mir da Hilfestellung geben. @Per, du hast dich ja schon sehr bemüht - vielleicht kannst du dich da mal reindenken und mir helfen. Ich wäre dir sehr dankbar. Momentan bekomm ich Ärger mit der Dame des Hauses, wenn das Licht beim Schminken aus geht.  :o
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Per am 10 Oktober 2018, 11:35:57
Schau mal ins Eventlog, welche Events der BW von sich gibt. Entweder du triggerst nur auf [motion] eq "on" (wenn das mehrfach gesendet wird) und arbeitest mit resetwait oder du triggerst auf [motion] eq "off" (fürs ausschalten, wenn der Melder das liefert) und nutzt nur wait für den Zweig.

DOIF ([motion] eq "on") (set licht on) (set licht off)
attr do resetwait
attr wait 0,300

DOIF ([motion] eq "on") (set licht on)
DOELSEIF ([motion] eq "off") (set licht off)
attr wait 0:300

Wenn das geht, kannst du die Helligkeit mit einbeziehen.
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Stonemuc am 12 Oktober 2018, 10:37:43
Ich glaube mit dem alternativen DOELSEIF Zweig für ([motion] eq "off"] funktioniert es wie gewünscht - zumindest das Hauptlich. Jetzt muss ich nur noch sehen, ob das was beim Duschen wird - da ist die Wand halb abgetrennt und ich muss sehen, ob der Bewegungsmelder die Bewegung in der Niesche erkennt. Und das Nachtlicht muss ich noch testen...
([?23:00-05:59] and [$SELF:dunkel]) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus)
DOELSEIF ([Rollo_Bad_OG:position] < 100 and [$SELF:dunkel]) (set Rollo_Bad_OG position 100) (set $SELF cmd_3)
DOELSEIF ([Rollo_Bad_OG:position] == 100 and [$SELF:dunkel]) (set Licht_Bad_OG An)
DOELSEIF ([Taster_Bad_OG_L_R:state] eq "A0" and [Taster_Bad_OG_L_R:buttons] eq "pressed") (set Licht_Bad_OG Aus) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus)
DOELSEIF ([Bewegungsmelder_Bad:motion] eq "off") (set Licht_Bad_OG Aus) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus)

attr wait 0,120:0,3:0:0,0,3:0,0,3

Vielen Dank, Per!
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Per am 12 Oktober 2018, 11:48:35
ob das was beim Duschen wird
Ich habe dafür die absolute Luftfeuchtigkeit im Delta zu den anderen Zimmern genutzt.
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Stonemuc am 28 Februar 2019, 00:11:37
Ich muss meinen Beitrag hier mal fortführen, da nun ein neues Problem hinzugekommen ist, welches ich damals nicht absehen konnte, da wir zu dieser Jahreszeit noch nicht im Haus wohnten. Mein DOIF sieht mittlerweile so aus und funktioniert wunderbar.

define Bad_Automatik DOIF ([?23:00-05:59] and [$SELF:dunkel]) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus)
DOELSEIF ([Rollo_Bad_OG:position] < 100 and [$SELF:dunkel]) (set Rollo_Bad_OG position 100) (set $SELF cmd_3)
DOELSEIF ([Rollo_Bad_OG:position] == 100 and [$SELF:dunkel]) (set Licht_Bad_OG An)
DOELSEIF ([Taster_Bad_OG_L_R:state] eq "A0" and [Taster_Bad_OG_L_R:buttons] eq "pressed") (set Licht_Bad_OG Aus) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus)
DOELSEIF ([Bewegungsmelder_Bad:motion] eq "off") (set Licht_Bad_OG Aus) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus)
DOELSEIF ([Rollo_Bad_OG:position] == 100 and [Bewegungsmelder_Bad:motion] eq "on" and [Weatherman:wm_var_lux] > 40) (set Rollo_Bad_OG Auf)

attr Bad_Automatik DOIF_Readings dunkel:[Bewegungsmelder_Bad:motion] eq "on" and [Weatherman:wm_var_lux] <= 40 and [?$SELF] ne "cmd_4_1"
attr Bad_Automatik wait 0,120:0,3:0:0,0,3:0,0,3:0

Jetzt steht tagsüber am Nachmittag die Sonne aber so tief, dass man sich im Spiegel nicht sehen kann.
Ich breach mir gerade gedanklich einen ab, das Modul irgendwie so zu "deaktivieren" dass ich es mit einem Druck auf [Taster_Bad_OG_L_R:state] eq "BI" so lange stillegen kann, bis es draußen dunkel ist und cmd_2 wahr wird, aber ohne dass cmd_6 erfüllt wird und sich das Rollo bei Bewegung und ausreichender Helligkeit draußen nicht wieder öffnet, sondern in seinem manuell gefahrenen Zustand bleibt.

Hat da jemand einen Lösungsansatz? Ich könnte eventuell einen langen wait timer setzen, aber das wäre sehr unelegant und müsste ja immer wieder angepasst werden, da sich der Sonnenuntergang ja immer verschiebt.
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Ellert am 28 Februar 2019, 07:59:44
Nimm ein weiteres DOIF in dem genau die Bedingungen, die Bad_Automatik auf disable/enable setzen, https://commandref.fhem.de/commandref_DE.html#DOIF_setdisable
Titel: Antw:DOIF - Badautomatik - Licht per Bewegungsmelder und Taster
Beitrag von: Stonemuc am 28 Februar 2019, 11:44:30
Ja und wie kommt ich dann da wieder raus? Aus dem disable? Da müsste ich mir irgendeine Bedeingung einfallen lassen - eventuell dunkel und Bewegung an, so dass wieder auf Automatik geschalten wird....

Die Idee war gut, danke...funktioniert prima. Da habe ich wohl etwas zu kompliziert gedacht...