Hallo zusammen,
ich habe einen Ikea Bewegungsmelder und möchte damit eine Leuchte schalten. Die Leuchte soll ab einem bestimmten Helligkeitswert schalten.
Das bekomme ich soweit auch hin, twilight liefert den aktuellen Helligkeitswert und über ein DOIF schalte ich bei state eq "motion" die Leuchte ein und bei "no_motion" wieder aus.
Wie kann ich aber nun verhindern, dass die Leuchte beim Wechsel zu "no_motion" ausgeschaltet wird, wenn die Leuchte manuell eingeschaltet wurde?
Szenario ist: Leuchte steht im Schlafzimmer und wenn ich dort abends noch was lese soll die Leuchte an sein. Da ich mich dabei auch gelegentlich bewege - vielleicht noch mal aufstehe - würde der Status des Bewegungsmelders auf "motion" wechseln und 1 Minute später wieder auf "no_motion" gehen. Und - ZACK! - ist die Leuchte aus.
Hab schon überlegt, ob ich irgendwie in einem Dummy festhalte, wie die Leuchte eingeschaltet wurde. Oder kennt jemand eine elegantere Variante?
LG,
Hallo,
mit DEVSPEC !?
Beispiel-DOIF anhand eines Amazon Echo der Radio abspielt bei Bewegung:
defmod doif_OG_Echo_Bad DOIF ([{sunrise("REAL")}-19:00] and ["MQTT2_zigbee_0x00158d00032c6d54:true"]) (set ECHO_G090LV03720400UN:FILTER=playStatus!=playing tunein s9014)\
DOELSEIF\
([{sunrise("REAL")}-19:00] and ["MQTT2_zigbee_0x00158d00032c6d54:false"]) (set ECHO_G090LV03720400UN pause)
attr doif_OG_Echo_Bad do always
attr doif_OG_Echo_Bad wait 0:180
Gruß
Thomas
Hi,
ich würde in die Bedingung des DOIF den Status der Lampe mit einbeziehen und no_motion gar nicht verwenden.
Wenn Lampe schon an dann macht das DOIF nichts :)
Mein Flurlicht als Beispiel:
defmod di_Flurlicht DOIF ([PIR1:"motion:.on"] and (!isday("REAL")?1:0 or [?PIRWg:brightness] < 130)) (set SW01_Sw01 on)(set SW01_Sw01 off)
attr di_Flurlicht do resetwait
attr di_Flurlicht room Flur
attr di_Flurlicht wait 0,180
Gruß Otto
Hallo Otto,
ich klinke mich mal ein.
Mein DoIf sieht so aus und funktioniert:
([ZWave_Auge_01:state] eq "open" and (!isday("REAL")?1:0 or [?ZWave_Auge_01:luminance] < 10)) (set ZWave_ST_02 on)(set ZWave_ST_02 off)
Da der Flur sehr dunkel ist, wollte ich isday rausnehmen, aber das gelingt mir nicht. Immer kommt eine Fehlermeldung.
ich musste auch
[ZWave_Auge_01:"state:.open"] and.....
in
[ZWave_Auge_01:state] eq "open" and....
ändern. Bei Luminance zweifle ich auch ob das so richtig ist.
Hier noch das list ZWave_Auge_01
Internals:
DEF f712869a 3
FUUID 5d9b4dd0-f33f-6033-a627-1f39903df4b476cf
IMAGE
IODev ZWDongle_0
LASTInputDev ZWDongle_0
MSGCNT 129
NAME ZWave_Auge_01
NR 193
STATE closed
TYPE ZWave
ZWDongle_0_MSGCNT 129
ZWDongle_0_RAWMSG 00040003063105012200dd
ZWDongle_0_TIME 2019-10-09 17:58:43
ZWaveSubDevice no
cmdsPending 9
homeId f712869a
isWakeUp 1
lastMsgSent 1570634003.79517
nodeIdHex 03
route 09
Helper:
DBLOG:
temperature:
LogDB:
TIME 1570636723.3713
VALUE 22.1
READINGS:
2019-10-09 17:13:23 CMD ZW_APPLICATION_UPDATE
2019-10-09 17:37:42 alarm_type_00 level 255 node 3 seconds 0
2019-10-09 17:38:23 basicSet 0
2019-10-09 17:13:54 luminance 1 Lux
2019-10-09 17:18:11 neighborList ZWDongle_0 ZWave_ST_02
2019-10-09 17:13:25 neighborUpdate done
2019-10-09 17:38:23 reportedState closed
2019-10-09 17:38:23 state closed
2019-10-09 17:58:43 temperature 22.1 C
SendStack:
sentset:480313
set:480314
set:48031b
set:48031c
set:48031d
set:48031e
set:48031f
set:480320
set:480321
Attributes:
DbLogInclude temperature, luminance, state
IODev ZWDongle_0
classes SENSOR_BINARY WAKE_UP ASSOCIATION BATTERY MULTI_CMD CRC_16_ENCAP MANUFACTURER_SPECIFIC VERSION CONFIGURATION MULTI_CHANNEL_ASSOCIATION SENSOR_MULTILEVEL SENSOR_ALARM
devStateIcon closed:motion_detector open:people_sensor@lightgreen
event-on-change-reading alarm_HomeSecurity,state
event-on-update-reading battery,luminance,temperature,wakeup
icon message_presence
neighborListPos 480.99,15.36
room ZWave
userReadings state:alarm_HomeSecurity.* {(ReadingsVal($NAME,"alarm_HomeSecurity","")=~/^Motion.Detection/)?"open":"closed"}
zwaveRoute ZWave_ST_02
Grüße aus Grimma
Hi,
[?ZWave_Auge_01:luminance:d]
weil da steht ja noch die Maßeinheit dahinter :)
Was kommt für ein Fehler?
Gruß Otto
Moin,
ich hatte:
([ZWave_Auge_01:state] eq "open" and (!isday("REAL")?1:0 or [?ZWave_Auge_01:luminance:d] < 10)) (set ZWave_ST_02 on)(set ZWave_ST_02 off)
das
(!isday("REAL")?1:0 or
entfernt, und dabei die Klammer-zu vergessen zu entfernen. Daher der Fehler.
nun habe ich:
([ZWave_Auge_01:state] eq "open" and [?ZWave_Auge_01:luminance:d] < 10) (set ZWave_ST_02 on)(set ZWave_ST_02 off)
und es funktioniert im dunkeln. Mal schauen, wie es bei Helligkeit ist. Mit dem Fragezeichen vor Luminance komme ich noch nicht klar.
Danke erstmals
Moin,
das Fragezeichen bedeutet, dass dieses Reading das DOIF nicht triggert. Triggern tut also jetzt nur der BM und der Wert luminance wird nur abgefragt.
Gruß Otto