Hallo zusammen,
ich habe folgenden DOIF in Betrieb:
([BewM_HM:brightness] <120 and [PIR_Kueche:POWER1] eq "on")(set LED_Stripe_HS on) DOELSEIF ([BewM_HM:brightness] <120 and [PIR_Kueche:POWER1] eq "off")(set LED_Stripe_HS off)
Erweitern möchte ich das um folgendes:
In der Zeit von 16:30 bis 21:00 soll der LED_Stripe_HS auf jedenfall leuchten. wenn ([BewM_HM:brightness] <120
, erreicht ist, egal ob sich jemand in der Küche aufhält, denn die "Chefin" möchte nicht im Dunkeln heimkommen, zu mindestens im Winter ;D
Hat jemand einen Lösungsansatz?
Ralf
Hi,
Zeig mal das list vom Bewegungsmelder.
Ist das in einem Reading als Text oder Value?
Gab es nicht auch ReadingsVal("device","reading",0)?
Gruß Arnd
Signalduino (Nano, ESP, ...), CUL (Busware, Nano, Maple, ...), Homematic (HM-MOD-UART-RPI, ESP, Maple, ...), LaCrosseGateway (LGW, ESP, ...), 1-wire, ESPEasy, Bravia, Yamaha, ...
Klingt nach dem klassischen Fall von dem hier:
http://fhem.de/commandref_DE.html#DOIF_Kombination_von_Ereignis_und_Zeitsteuerung_mit_logischen_Abfragen
Ungetestet, aber sollte so aussehen:
([BewM_HM:brightness] <120 and ([16:30-21:00] or [PIR_Kueche:POWER1] eq "on"))(set LED_Stripe_HS on) DOELSEIF ([BewM_HM:brightness] <120 and [PIR_Kueche:POWER1] eq "off")(set LED_Stripe_HS off)
Zitat von: RaspiLED am 15 März 2020, 19:14:50
Hi,
Zeig mal das list vom Bewegungsmelder.
Ist das in einem Reading als Text oder Value?
Gab es nicht auch ReadingsVal("device","reading",0)?
Gruß Arnd
Signalduino (Nano, ESP, ...), CUL (Busware, Nano, Maple, ...), Homematic (HM-MOD-UART-RPI, ESP, Maple, ...), LaCrosseGateway (LGW, ESP, ...), 1-wire, ESPEasy, Bravia, Yamaha, ...
Hallo Arnd, hier das List:
Internals:
CUL868_MSGCNT 33
CUL868_RAWMSG A0DAF841069F20CAABBCC06010600::-77.5:CUL868
CUL868_RSSI -77.5
CUL868_TIME 2020-03-15 19:39:44
DEF 69F20C
FUUID 5dcdaabd-f33f-0409-52f0-f68dfa159c618809
IODev CUL868
LASTInputDev CUL868
MSGCNT 33
NAME BewM_HM
NOTIFYDEV global
NR 247
NTFY_ORDER 50-BewM_HM
STATE noMotion
TYPE CUL_HM
chanNo 01
lastMsg No:AF - t:10 s:69F20C d:AABBCC 06010600
protLastRcv 2020-03-15 19:39:44
protRcv 33 last_at:2020-03-15 19:39:44
rssi_at_CUL868 cnt:33 min:-77.5 max:-72 avg:-74.16 lst:-77.5
Helper:
DBLOG:
battery:
logdb:
TIME 1584297585.10383
VALUE ok
brightness:
logdb:
TIME 1584297585.10383
VALUE 6
cover:
logdb:
TIME 1584297585.10383
VALUE closed
motion:
logdb:
TIME 1584286938.64084
VALUE off
state:
logdb:
TIME 1584286938.64084
VALUE noMotion
READINGS:
2020-03-15 16:41:46 Activity alive
2019-12-17 13:56:11 D-firmware 1.7
2019-12-17 13:56:11 D-serialNr PEQ0389513
2020-03-15 19:39:44 battery ok
2020-03-15 19:39:44 brightness 6
2020-03-15 19:39:44 cover closed
2020-03-15 16:42:18 motion off
2020-03-15 13:29:21 motionCount 247_next:240s
2020-03-15 13:33:23 motionDuration 242
2019-12-23 07:17:39 powerOn 2019-12-23 07:17:39
2020-03-15 19:39:44 recentStateType info
2020-03-15 16:42:18 state noMotion
2020-03-15 13:29:21 trigDst_AABBCC noConfig
2020-03-15 13:29:21 trigger_cnt 247
helper:
HM_CMDNR 175
mId 005D
peerFriend peerAct,peerVirt
peerOpt 4:motionDetector
regLst 0,1,4p
rxType 28
supp_Pair_Rep 0
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +69F20C,00,00,00
nextSend 1584297584.60805
prefIO
rxt 2
vccu
p:
69F20C
00
00
00
mRssi:
mNo AF
io:
CUL868:
-75.5
-75.5
prt:
bErr 0
sProc 0
sleeping 1
q:
qReqConf 00
qReqStat
role:
chn 1
dev 1
rssi:
at_CUL868:
avg -74.1666666666667
cnt 33
lst -77.5
max -72
min -77.5
Attributes:
IODev CUL868
actCycle 000:10
actStatus alive
autoReadReg 4_reqStatus
expert 2_raw
firmware 1.7
model HM-SEN-MDIR-O-3
peerIDs 00000000,
room CUL_HM
serialNr PEQ0389513
subType motionDetector
Zitat von: xenos1984 am 15 März 2020, 19:24:24
Klingt nach dem klassischen Fall von dem hier:
http://fhem.de/commandref_DE.html#DOIF_Kombination_von_Ereignis_und_Zeitsteuerung_mit_logischen_Abfragen
Ungetestet, aber sollte so aussehen:
([BewM_HM:brightness] <120 and ([16:30-21:00] or [PIR_Kueche:POWER1] eq "on"))(set LED_Stripe_HS on) DOELSEIF ([BewM_HM:brightness] <120 and [PIR_Kueche:POWER1] eq "off")(set LED_Stripe_HS off)
Danke, werde ich testen
Zitat von: xenos1984 am 15 März 2020, 19:24:24
Klingt nach dem klassischen Fall von dem hier:
http://fhem.de/commandref_DE.html#DOIF_Kombination_von_Ereignis_und_Zeitsteuerung_mit_logischen_Abfragen
Ungetestet, aber sollte so aussehen:
([BewM_HM:brightness] <120 and ([16:30-21:00] or [PIR_Kueche:POWER1] eq "on"))(set LED_Stripe_HS on) DOELSEIF ([BewM_HM:brightness] <120 and [PIR_Kueche:POWER1] eq "off")(set LED_Stripe_HS off)
Ich habe es folgendermassen eingebaut, aber es funktioniert nicht
([Lux_Dachboden:BH1750_Illuminance]< 500 and [16:30-21:00] or [PIR_Kueche:POWER] eq "on") (set LED_Stripe_HS on) DOELSEIF ([Lux_Dachboden:BH1750_Illuminance]< 500 and [16:30-21:00] or [PIR_Kueche:POWER] eq "off")(set LED_Stripe_HS off)
Mein Wunsch ist auf jeden FAll 16.30-21:00 LED an, wenn Luxmeter sagt <500 Lux.
Der nächste Wunsch lautet, wenn Luxmeter sagt <500 und es ist Bewegung registriert, in der Zeit von 21:01 - 16:29, LED an.
Wo ist mein Denkfehler?
Oder doch lieber 2 DOIF´s bauen?
1.
([16:30-21:00] ) and [Lux_Dachboden:BH1750_Illuminance]< 500)(set LED_Stripe_HS on) DOELSE(set LED_Stripe_HS off)
2.
([21:01-16:29] ) and [Lux_Dachboden:BH1750_Illuminance]< 500) and [PIR_Kueche:POWER] eq "on") (set LED_Stripe_HS on) DOELSE (set LED_Stripe_HS off)
Sonnige Grüße
Ralf
Zitat von: Kuehnhackel am 22 März 2020, 17:06:32
Ich habe es folgendermassen eingebaut, aber es funktioniert nicht
([Lux_Dachboden:BH1750_Illuminance]< 500 and [16:30-21:00] or [PIR_Kueche:POWER] eq "on") (set LED_Stripe_HS on) DOELSEIF ([Lux_Dachboden:BH1750_Illuminance]< 500 and [16:30-21:00] or [PIR_Kueche:POWER] eq "off")(set LED_Stripe_HS off)
Mein Wunsch ist auf jeden FAll 16.30-21:00 LED an, wenn Luxmeter sagt <500 Lux.
Der nächste Wunsch lautet, wenn Luxmeter sagt <500 und es ist Bewegung registriert, in der Zeit von 21:01 - 16:29, LED an.
Wo ist mein Denkfehler?
Oder doch lieber 2 DOIF´s bauen?
1. ([16:30-21:00] ) and [Lux_Dachboden:BH1750_Illuminance]< 500)(set LED_Stripe_HS on) DOELSE(set LED_Stripe_HS off)
2. ([21:01-16:29] ) and [Lux_Dachboden:BH1750_Illuminance]< 500) and [PIR_Kueche:POWER] eq "on") (set LED_Stripe_HS on) DOELSE (set LED_Stripe_HS off)
Sonnige Grüße
Ralf
Kombiniere doch die beiden Bedingungen mit einem "or" zusammen, dann hast du, was du suchst.
Zitat von: Damian am 22 März 2020, 18:58:41
Kombiniere doch die beiden Bedingungen mit einem "or" zusammen, dann hast du, was du suchst.
Habe es versucht, klappt aber irgendwie nicht.
Deswegen habe ich jetzt erstmal 2 DOIF´s geschrieben und werde es heute abend testen.
Hallo Ralf,
([Lux_Dachboden:BH1750_Illuminance]< 500 and [16:30-21:00] or [PIR_Kueche:POWER] eq "on")
a b & c |
0 0 0 0 0
1 0 0 1 1
0 1 0 0 0
0 1 0 1 1
1 1 1 0 1
1 1 1 1 1
Die Tabelle zeigt c ([PIR_Kueche:POWER] eq "on") ist dominierend
Ist ([PIR_Kueche:POWER] eq "on") Bewegung?
Dann dieser Vorschlag, wenn ich deinen Text richtig verstanden habe ;)
(([16:30-21:00] and [Lux_Dachboden:BH1750_Illuminance]< 500) or ([21:01-16:29] and [Lux_Dachboden:BH1750_Illuminance]< 500 and [PIR_Kueche:POWER] eq "on")) (set LED_Stripe_HS on) DOELSE (set LED_Stripe_HS off)
Bei Deinen beiden Beispielen ist Klammerkrise ;)
Gruß Otto
Zitat von: Otto123 am 24 März 2020, 17:15:51
Hallo Ralf,
Ist ([PIR_Kueche:POWER] eq "on") Bewegung?
Gruß Otto
Hallo Otto, Ja
Dass mit den Klammern hatte ich auch bemerkt, nachdem ich das so eingeben hatte, aber nicht im Thread geändert.
Inzwischen hatte ich diesen DOIF eingebunden:
((([21:01-16:29] and [Lux_Dachboden:BH1750_Illuminance]< 500) and [PIR_Kueche:POWER] eq "on")) (set LED_Stripe_HS on) (set Kommode on) DOELSEIF ((([21:01-16:29] and [Lux_Dachboden:BH1750_Illuminance]< 500) and [PIR_Kueche:POWER] eq "off"))(set LED_Stripe_HS off)(set Kommode off)
und diesen:
([16:30-21:00] and [Lux_Dachboden:BH1750_Illuminance]< 500)(set LED_Stripe_HS on) (set Kommode on) DOELSE (set LED_Stripe_HS off)(set Kommode off)
Aber ich werde deinen Ansatz testen.
Vielen Dank
LG von der Elbe
Ralf
(set LED_Stripe_HS on) (set Kommode on)
kannst Du so
(set LED_Stripe_HS on,set Kommode on)
oder so
((set LED_Stripe_HS,Kommode on))
schreiben.
Zitat von: Otto123 am 24 März 2020, 17:42:07
(set LED_Stripe_HS on) (set Kommode on)
kannst Du so
(set LED_Stripe_HS on,set Kommode on)
oder so
((set LED_Stripe_HS,Kommode on))
schreiben.
Danke für die Hilfe und Hinweis.