Hallo zusammen,
ich habe eine Frage zu meinem DOIF, bei dem mehrere und-Bedingungen berücksichtigt werden sollen.
Ein Rolladen soll geschlossen werden (siehe DOELSEIF in untem gezeigtem DOIF), wenn eine über TWILIGHT Uhrzeit erreicht ist UND der Dummy "Urlaub" den Status "nein" hat UND der Temperatursensor weniger als 5°C ausgibt.
Das ganze funktionierte bisher ohne die Bedingung "and [Urlaub:"nein"]". Aber damit eben nicht mehr.
Anbei die umfängliche Definition des DOIF und den DUMMY:
Internals:
DEF ([({twilight("Tageslicht","sr_indoor","5:45","8:00")}+80)]) (set Kueche_Rolladen off)
DOELSEIF ([({twilight("Tageslicht","ss_indoor","19:00","22:00")}+50)] and [Urlaub:"nein"] and [TH_Sensor_1:temperature] < 5) (set Kueche_Rolladen on)
NAME DOIF_Kueche_Rolladen
NR 208
NTFY_ORDER 50-DOIF_Kueche_Rolladen
STATE initialized
TYPE DOIF
READINGS:
2018-01-31 18:39:30 Device TH_Sensor_1
2018-01-31 10:01:40 cmd 0
2018-01-31 18:39:30 e_TH_Sensor_1_events battery: ok,humidity: 90,T: 5.2 H: 90,temperature: 5.2,statTemperatureDayMin: 3.1,statTemperatureDayAvg: 7.1,statTemperatureDayMax: 9.2,statTemperatureMonthMin: 0.3,statTemperatureMonthAvg: 5.1,statTemperatureMonthMax: 13.7,statTemperatureYearMin: 0.3,statTemperatureYearAvg: 5.1,statTemperatureYearMax: 13.7,dewpoint: 3.7
2018-01-31 18:39:30 e_TH_Sensor_1_temperature 5.2
2018-01-31 10:01:40 mode enabled
2018-01-31 10:01:40 state initialized
2018-01-31 10:01:40 timer_01_c01 01.02.2018 07:57:15
2018-01-31 10:01:40 timer_02_c02 31.01.2018 19:00:50
Regex:
condition:
0 DOIF_time_once($hash,0,$wday)
1 DOIF_time_once($hash,1,$wday) and EventDoIf('Urlaub',$hash,'nein',1) and ReadingValDoIf($hash,'TH_Sensor_1','temperature') < 5
days:
devices:
1 Urlaub TH_Sensor_1
all Urlaub TH_Sensor_1
do:
0:
0 set Kueche_Rolladen off
1:
0 set Kueche_Rolladen on
2:
helper:
DOIF_Readings_events
DOIF_eventas
event battery: ok,humidity: 90,T: 5.2 H: 90,temperature: 5.2,statTemperatureDayMin: 3.1,statTemperatureDayAvg: 7.1,statTemperatureDayMax: 9.2,statTemperatureMonthMin: 0.3,statTemperatureMonthAvg: 5.1,statTemperatureMonthMax: 13.7,statTemperatureYearMin: 0.3,statTemperatureYearAvg: 5.1,statTemperatureYearMax: 13.7,dewpoint: 3.7
globalinit 1
last_timer 2
sleeptimer -1
triggerDev TH_Sensor_1
triggerEvents:
battery: ok
humidity: 90
T: 5.2 H: 90
temperature: 5.2
statTemperatureDayMin: 3.1
statTemperatureDayAvg: 7.1
statTemperatureDayMax: 9.2
statTemperatureMonthMin: 0.3
statTemperatureMonthAvg: 5.1
statTemperatureMonthMax: 13.7
statTemperatureYearMin: 0.3
statTemperatureYearAvg: 5.1
statTemperatureYearMax: 13.7
dewpoint: 3.7
triggerEventsState:
battery: ok
humidity: 90
state: T: 5.2 H: 90
temperature: 5.2
statTemperatureDayMin: 3.1
statTemperatureDayAvg: 7.1
statTemperatureDayMax: 9.2
statTemperatureMonthMin: 0.3
statTemperatureMonthAvg: 5.1
statTemperatureMonthMax: 13.7
statTemperatureYearMin: 0.3
statTemperatureYearAvg: 5.1
statTemperatureYearMax: 13.7
dewpoint: 3.7
internals:
itimer:
localtime:
0 1517468235
1 1517421650
readings:
1 TH_Sensor_1:temperature
all TH_Sensor_1:temperature
realtime:
0 07:57:15
1 19:00:50
time:
0 ({twilight("Tageslicht","sr_indoor","5:45","8:00")}+80)
1 ({twilight("Tageslicht","ss_indoor","19:00","22:00")}+50)
timeCond:
0 0
1 1
timer:
0 0
1 0
timers:
0 0
1 1
trigger:
all Urlaub
triggertime:
1517421650:
localtime 1517421650
hash:
1517468235:
localtime 1517468235
hash:
uiState:
uiTable:
Attributes:
do always
group Rolladen
room TEST
verbose 5
Internals:
NAME Urlaub
NR 213
STATE nein
TYPE dummy
READINGS:
2018-01-25 06:15:05 state nein
Attributes:
devStateIcon ja:control_building_empty nein:status_automatic nein:status_automatic nein:status_automatic
group Urlaubsschaltung
room TEST
webCmd ja:nein
Wer hat eine Idee und kann mir mit einem gezielten Hinweis helfen?
Gruß
Heiko
Versuch mal aus [Urlaub:"nein"]
folgendes zu machen: [Urlaub] eq "nein"
Du versuchst das event ,,nein" abzufangen, du möchtest aber state eq ,,nein"
Kurz, weil mobil...
Und eins drüber die Erklärung, welche ich nicht dazu geschrieben habe, weil vergessen. Danke Oli.
Danke für die schnellen Hinweise und Erklärungen!
Probiere ich gleich aus, aber sage schon mal Danke!
Gruß
Heiko
Zitat von: Amenophis86 am 31 Januar 2018, 19:23:44
Und eins drüber die Erklärung, welche ich nicht dazu geschrieben habe, weil vergessen. Danke Oli.
Da waren wir wohl gleichzeitig am Werk ;-)
Kurz, weil mobil...