Ich möchte mein Küchenlicht am WE bei einem bestimmten Lichtsensorwert ausschalten bzw. am Wochentag bei einem anderen Lichtsensorwert. Wie schaffe ich das ?
mit
define LichtAus DOIF ((([LichtsensorKueche:lightlevel] > 15000)|we) or (([LichtsensorKueche:lightlevel] > 12000)|we)) (set Licht.Kuechentisch off)
komme ich nicht weiter, und etwas anderes kann ich aus der Comandref nicht herauslesen. Hat das schon jemand irgendwie geschafft ?
Danke
Hi,
https://fhem.de/commandref_modular_DE.html#DOIF_Wochentagsteuerung.
Vielleicht willst Du ja auch noch eine Zeit dazu :)
Die Zeiten triggern nicht! Nur der Lichtsensor!
define LichtAus DOIF (([?00:01-23:59|AT] and [LichtsensorKueche:lightlevel] > 15000) or ([?00:01-23:59|WE] and [LichtsensorKueche:lightlevel] > 12000) ) (set Licht.Kuechentisch off)
Gruß Otto
Danke ! Hab's jetz so gelöst (mus erst abwarten ob's wirklich funktioniert :) )
defmod Kuechentisch_aus DOIF ([LichtsensorKueche:"^lightlevel:.12\d{3}$"|8] or [LichtsensorKueche:"^lightlevel:.15\d{3}$"|7]) (set Licht.Kuechentisch off)
Die Idee mit der Zeit werde ich noch berücksichtigen !
Zitat von: rallye am 14 März 2021, 13:34:50
Danke ! Hab's jetz so gelöst (mus erst abwarten ob's wirklich funktioniert :) )
defmod Kuechentisch_aus DOIF ([LichtsensorKueche:"^lightlevel:.12\d{3}$"|8] or [LichtsensorKueche:"^lightlevel:.15\d{3}$"|7]) (set Licht.Kuechentisch off)
Die Idee mit der Zeit werde ich noch berücksichtigen !
Ich befürchte, da wirst du lange warten müssen, denn Wochentag-Angaben funktionieren nur mit Zeitangaben und nicht mit Ereignistriggern.
Zitat von: Damian am 14 März 2021, 14:01:41
Ich befürchte, da wirst du lange warten müssen, denn Wochentag-Angaben funktionieren nur mit Zeitangaben und nicht mit Ereignistriggern.
Zumindest heute hat es funktioniert (Logeinträge)
2021.03.15 06:45:09 3: MQTT2_DEVICE set Licht.Kuechentisch off
und
2021-03-15_06:40:11 LichtsensorKueche lightlevel: 11761
2021-03-15_06:40:11 LichtsensorKueche lux: 15
2021-03-15_06:40:11 LichtsensorKueche dark: 1
2021-03-15_06:40:11 LichtsensorKueche daylight: 0
2021-03-15_06:45:09 LichtsensorKueche lux: 19
2021-03-15_06:45:09 LichtsensorKueche lightlevel: 12788
2021-03-15_06:45:09 LichtsensorKueche daylight: 0
2021-03-15_06:45:09 LichtsensorKueche dark: 0
2021-03-15_06:49:43 LichtsensorKueche daylight: 0
Ob das auch am WE mit dem Wert 15000 funktioniert kann ich erst am Samstag sagen (der WAF würde darunter leiden wenn ich das mit z.B Dienstag ausprobiere).
Da muss man kein Programmierer sein, um zu sehen, dass die Angabe 8 für Arbeitstage in diesem Fall intern nicht benutzt wird:
Internals:
CFGFN
DEF ([LichtsensorKueche:"^lightlevel:.12\d{3}$"|8])
DOIFDEV ^global$|^LichtsensorKueche$
FUUID 604f450b-f33f-c0d4-1df2-e11489e9f1e08f58
MODEL FHEM
NAME Kuechentisch_aus
NR 340
NTFY_ORDER 50-Kuechentisch_aus
STATE initialized
TYPE DOIF
VERSION 23810 2021-02-23 20:14:35
READINGS:
2021-03-15 12:29:15 cmd 0
2021-03-15 12:29:15 mode enabled
2021-03-15 12:29:15 state initialized
Regex:
accu:
cond:
LichtsensorKueche:
0:
&STATE ^LichtsensorKueche$
condition:
0 ::EventDoIf('LichtsensorKueche',$hash,'^lightlevel:.12\d{3}$',1)
do:
0:
0
1:
helper:
DEVFILTER ^global$|^LichtsensorKueche$
NOTIFYDEV global|LichtsensorKueche
globalinit 1
last_timer 0
sleeptimer -1
trigger:
all LichtsensorKueche
uiTable:
Attributes:
Zitat von: Damian am 15 März 2021, 12:32:37
Da muss man kein Programmierer sein, um zu sehen, dass die Angabe 8 für Arbeitstage in diesem Fall intern nicht benutzt wird:
Danke, hab's verstanden
Wenn es nur ums Wochenende geht, probier mal:
define LichtAus DOIF ([LichtsensorKueche:lightlevel] > (($we)?12000:15000)) (set Licht.Kuechentisch off)
Wobei du bei deinem ersten DOIF Versuch bei beiden Werten |we stehen hast, musst also selbst nochmal die Zuordnung prüfen.