Hallo Zusammen
hab mir eine DOIF gebastelt um die Hängelampe in der Stube mit BWM und brightness zu schalten.
An geht sie aber aus nicht, wie ich das möchte. Kann mal kurz jemand drüber schauen.
Danke und Gruß
([BWM_Stube:motion])
(set hueBridge_HUEDevice1 pct 100)
DOELSEIF ([BWM_Stube:brightness] < 40)
(set hueBridge_HUEDevice1 pct 100)
DOELSEIF ([BWM_Stube:brightness] > 41)
(set hueBridge_HUEDevice1 off)
do always
wait 0:0:30
ich möchte das die Lampe nach 30 sec wieder ausgeht
Versuch mal checkReadingEvent.
Sonst poste mal alle Events der beteiligten Geräte für den Schaltvorgang
Hallo
das hat leider nichts gebracht, hier die meldungen aus dem monitor
2017-11-29 12:35:31 DOIF Stube_Haengelampe_an cmd_nr: 1
2017-11-29 12:35:31 DOIF Stube_Haengelampe_an cmd: 1
2017-11-29 12:35:31 DOIF Stube_Haengelampe_an cmd_event: BWM_Stube
2017-11-29 12:35:31 DOIF Stube_Haengelampe_an cmd_1
2017-11-29 12:35:31 CUL_HM BWM_Stube motion: off
2017-11-29 12:35:31 CUL_HM BWM_Stube motionDuration: 17
2017-11-29 12:35:31 CUL_HM BWM_Stube noMotion
2017-11-29 12:36:20 DOIF Stube_Haengelampe_an cmd_nr: 2
2017-11-29 12:36:20 DOIF Stube_Haengelampe_an cmd: 2
2017-11-29 12:36:20 DOIF Stube_Haengelampe_an cmd_event: BWM_Stube
2017-11-29 12:36:20 DOIF Stube_Haengelampe_an cmd_2
2017-11-29 12:40:25 DOIF Stube_Haengelampe_an cmd_nr: 2
2017-11-29 12:40:25 DOIF Stube_Haengelampe_an cmd: 2
2017-11-29 12:40:25 DOIF Stube_Haengelampe_an cmd_event: BWM_Stube
2017-11-29 12:40:25 DOIF Stube_Haengelampe_an cmd_2
Lampe bleibt aber an
Weiß nich ob das hilft, aber wenn ich das richtig verstanden habe ist es so ähnlich wie ich das gemacht habe
Internals:
DEF ([Taster_BM_Motion:"motion: on"] and [Taster_BM_Motion:brightness] < 10 or $cmd == 1.1) (set Licht_EG_Flur on) (set Licht_EG_Flur off)
do resetwait
wait 0,17
Geht dann halt nach 17 Sekunden wieder aus
Zitat von: eule66 am 29 November 2017, 10:19:24ich möchte das die Lampe nach 30 sec wieder ausgeht
Programmiert hast du aber, dass sie 30 Sekunden, nachdem es heller als 41 ist, ausgeht. Zumindest, solange es keine Bewegung gibt.
hm irgendwie stehe ich gerade auf dem schlauch, wie bekomme ich es hin das die Lampe nach 30 sec wieder aus geht
hatte es so umgebaut, bekomme aber die Meldung es wird ein DOELSE oder DOELSEIF benötigt
([BWM_Stube:motion]) and ([BWM_Stube:brightness] < 40)
(set hueBridge_HUEDevice1 pct 100)
DOELSEIF (set hueBridge_HUEDevice1 off)
was genau möchtest du denn?
Soll die Lampe bei Motion on und Helligkeit < 41 an geschaltet werden - und bei Motion off wieder aus?
Zitat von: automatisierer am 29 November 2017, 16:19:07
was genau möchtest du denn?
Soll die Lampe bei Motion on und Helligkeit < 41 an geschaltet werden - und bei Motion off wieder aus?
Ja genau das hatte ich vor aber sie sollte halt nach einer bestimmten Zeit wenn keine Bewegung mehr ausgehen
([BWM_Stube:motion] eq "on" and [BWM_Stube:brightness] < 40)
(set hueBridge_HUEDevice1 pct 100)
DOELSE (set hueBridge_HUEDevice1 off)
attr ..... wait 0:30
hattest ein paar Klammern zuviel.
Und das hier:
[BWM_Stube:motion]
triggert und ist auch "wahr" wenn der BWM motion:off sagt...
Hab es jetzt so gemacht und es funktioniert
([BWM_Stube:?motion] and [BWM_Stube:brightness] < 40) (set hueBridge_HUEDevice1 pct 85) DOELSE (set hueBridge_HUEDevice1 off)
wait 0:30
Es lag an den Klammern
Danke für eure Unterstützung
und warum machst du das so??
ZitatDie alte Syntax [<devicename>:?<regex>] wird aus Kompatibilitätsgründen noch unterstützt, sollte aber nicht mehr benutzt werden.
wenn du auf Event auswerten willst, dann solltest du es so machen:
[BWM_Stube:"motion"]
Allerdings erschließt sich mir der Sinn nicht...
Wenn ich mir die Events anschaue:
2017-11-29 12:35:31 CUL_HM BWM_Stube motion: off
2017-11-29 12:35:31 CUL_HM BWM_Stube motionDuration: 17
2017-11-29 12:35:31 CUL_HM BWM_Stube noMotion
Dann wird dein cmd_1 durch:
2017-11-29 12:35:31 CUL_HM BWM_Stube motion: off
2017-11-29 12:35:31 CUL_HM BWM_Stube motionDuration: 17
wahr
und dein DOELSE-Zweig wird dadurch:
2017-11-29 12:35:31 CUL_HM BWM_Stube noMotion
wahr.
Sprich, wenn dein BWM motion on meldet, wird dein cmd1 2x wahr und im Anschluss dann cmd2 - somit läuft der Timer...
Wenn er dann motion off meldet, passiert das gleiche.
Denke nicht das das die gewünschte Funktion ist.
Ich würd nicht das Event auswerten, sondern das Reading. Dann ist cmd1 so lange wahr, wie der BWM motion: on meldet und der DOELSE-Zweig wird erst wahr, wenn der BWM nicht mehr motion: on meldet und dann wird nach 30 Sekunden das Licht aus geschaltet.
([BWM_Stube:motion] eq "on" and [BWM_Stube:brightness] < 40)
(set hueBridge_HUEDevice1 pct 100)
DOELSE (set hueBridge_HUEDevice1 off)
Wenn du dann unbedingt Events auswerten willst, dann wäre es mMn so am sinnvollsten:
([BWM_Stube:"^motion..on"] and [BWM_Stube:brightness] < 40)
(set hueBridge_HUEDevice1 pct 100)
DOELSEIF ([BWM_Stube:"^motion..off"]) (set hueBridge_HUEDevice1 off)
da mit DOELSE alle Events die nicht wahr im Bezug auf [BWM_Stube:"motion"] sind cmd2 auslösen und so wie in meinem Beispiel nur die "motion: off" Meldung zu cmd2 führt