Hallo Leute,
Habe ein Problem mit meinem DOIF.
Es hat den ganzen letzten sommer super geschaltet. Nur jetzt will er einfach nicht mehr schalten. Kann mir einer sagen ob ich einen Schreibfehler habe? Oder wo mein Fehler ist und wieso es letztes Jahr trotzdem geschaltet hat. Also das Hauptproblem ist er schaltet den Lüfter nicht mehr an das andere schaltet er.
Mit cmd1.2
ZitatInternals:
CFGFN
DEF (([21:00-18:00]) and ([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) < - 0.2
and ([LaCrosse_23:temperature] > ([Ole_Luefter_automatik:desired] + 2))) (set Luefter_Ole on) (set Luefter_Ole off)
DOELSE
((([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) > 0.2) or ([LaCrosse_0C:temperature] < [Ole_Luefter_automatik:desired]))
(set Luefter_Ole off)
FUUID 5f344a24-f33f-faf7-62e8-a01008e1902c96db
MODEL FHEM
NAME Ole_Luefter_automatik
NOTIFYDEV LaCrosse_23,LaCrosse_0C,Ole_Luefter_automatik,global
NR 3575
NTFY_ORDER 50-Ole_Luefter_automatik
STATE off
TYPE DOIF
VERSION 20811 2019-12-22 17:45:08
READINGS:
2020-08-13 18:00:00 cmd 2.2
2020-08-13 18:00:00 cmd_event timer_2
2020-08-13 18:00:00 cmd_nr 2
2020-08-13 18:00:00 cmd_seqnr 2
2020-08-13 17:55:12 desired 20
2020-08-13 17:55:12 e_Ole_Luefter_automatik_desired 20
2020-08-13 17:37:41 mode enabled
2020-08-13 18:00:00 state off
2020-08-13 18:00:00 timer_01_c01 13.08.2020 21:00:00
2020-08-13 18:00:00 timer_02_c01 14.08.2020 18:00:00
Regex:
accu:
cond:
LaCrosse_0C:
0:
temperature ^LaCrosse_0C$:^temperature:
LaCrosse_23:
0:
temperature ^LaCrosse_23$:^temperature:
Ole_Luefter_automatik:
0:
desired ^Ole_Luefter_automatik$:^desired:
attr:
cmdState:
0:
on
1:
off
repeatcmd:
wait:
waitdel:
waitsame:
condition:
0 (::DOIF_time($hash,0,1,$wday,$hms)) and (::ReadingValDoIf($hash,'LaCrosse_0C','temperature') - ::ReadingValDoIf($hash,'LaCrosse_23','temperature')) < - 0.2 and (::ReadingValDoIf($hash,'LaCrosse_23','temperature') > (::ReadingValDoIf($hash,'Ole_Luefter_automatik','desired') + 2))
days:
do:
0:
0 set Luefter_Ole on
1 set Luefter_Ole off
1:
0 (([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) > 0.2) or ([LaCrosse_0C:temperature] < [Ole_Luefter_automatik:desired])
1 set Luefter_Ole off
helper:
DEVFILTER ^global$|^LaCrosse_0C$|^LaCrosse_23$|^Ole_Luefter_automatik$
NOTIFYDEV global|LaCrosse_0C|LaCrosse_23|Ole_Luefter_automatik
event timer_2
globalinit 1
last_timer 2
sleeptimer -1
timerdev
timerevent timer_2
triggerDev
timerevents:
timer_2
timereventsState:
timer_2
triggerEvents:
timer_2
triggerEventsState:
timer_2
internals:
interval:
0 -1
1 0
intervalfunc:
localtime:
0 1597345200
1 1597420800
readings:
all LaCrosse_0C:temperature LaCrosse_23:temperature Ole_Luefter_automatik:desired
realtime:
0 21:00:00
1 18:00:00
time:
0 21:00:00
1 18:00:00
timeCond:
0 0
1 0
timer:
0 0
1 0
timers:
0 0 1
trigger:
triggertime:
1597345200:
localtime 1597345200
hash:
1597420800:
localtime 1597420800
hash:
uiState:
uiTable:
Attributes:
cmdState on|off
readingList desired
room Lüfter,Ole
setList desired:14,20,21,22,23,24
webCmd desired
DOELSE nimmt keine Bedingung.
Wenn Bedingung nötig, DOELSEIF
Um 18:00 Uhr ist [21:00-18:00] falsch => das DOIF ist im Status cmd2, und das ist normal
hi
hatte es noch schnell geändert nach dem du es mir geschickt hast. Hat aber leider nix gebracht. Leider fragt er die zustände des Temperatursensoren zur zeit auch nicht ab. ist dieses normal?? Habe es dieses abend mal wieder per Hand geschaltet.
so sieht mein Reading aus leider nur ohne Temperatursensoren
Ole_Luefter_automatik
Internals
CFGFN
DEF
(([21:00-18:00]) and ([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) < - 0.2
and ([LaCrosse_23:temperature] > ([Ole_Luefter_automatik:desired] + 2))) (set Luefter_Ole on) (set Luefter_Ole off)
DOELSEIF
((([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) > 0.2) or ([LaCrosse_0C:temperature] < [Ole_Luefter_automatik:desired]))
(set Luefter_Ole off)
FUUID
5f344a24-f33f-faf7-62e8-a01008e1902c96db
MODEL
FHEM
NAME
Ole_Luefter_automatik
NOTIFYDEV
LaCrosse_23,LaCrosse_0C,Ole_Luefter_automatik,global
NR
3575
NTFY_ORDER
50-Ole_Luefter_automatik
STATE
off
TYPE
DOIF
VERSION
20811 2019-12-22 17:45:08
Readings
cmd
2
2020-08-13 21:27:20
cmd_event
Ole_Luefter_automatik
2020-08-13 21:27:20
cmd_nr
2
2020-08-13 21:27:20
desired
23
2020-08-13 20:29:07
mode
enabled
2020-08-13 21:26:47
state
off
2020-08-13 21:27:20
timer_01_c01
14.08.2020 21:00:00
2020-08-13 21:26:47
timer_02_c01
14.08.2020 18:00:00
2020-08-13 21:26:47
das komische ist ja das es letztes Jahr geschaltet hat und im Winter hatte ich es deaktiviert und wo es wärmer wurde habe ich es wieder aktiviert aber es läuft einfach nicht.
Mit einem lesbaren "list" wäre es einfacher...
Auch ein "list" (wenn möglich lesbar) von den Temperatursensoren bitte
HI amenomade,
Sind die List so leider nicht lesbar?? Habe sie immer einfach kopiert.
List aussenthemometer
nternals:
CHANGED
DEF 0C
FUUID 5c8cece2-f33f-faf7-e34c-fda23f475953f641
IODev myJeeLink
LASTInputDev myJeeLink
LaCrosse_lastRcv 2020-08-13 22:43:45
MSGCNT 20551
NAME LaCrosse_0C
NR 48
STATE T: 25.9 H: 66
TYPE LaCrosse
addr 0C
battery_new 0
bufferedH
bufferedT
corr1 0
corr2 0
myJeeLink_MSGCNT 20695
myJeeLink_RAWMSG OK 9 12 1 4 235 66
myJeeLink_TIME 2020-08-13 22:43:45
previousH 66
previousT 25.9
sensorType 0=T(H)
READINGS:
2020-08-13 22:43:45 battery ok
2020-08-13 22:43:45 humidity 66
2020-08-13 22:42:15 state T: 25.9 H: 66
2020-08-13 22:43:45 temperature 25.9
Attributes:
IODev myJeeLink
alias Garten
event-on-change-reading humidity, temperatur
room Garten,Lüfter,Ole,Temperatur,Til
verbose 0
Automatik trost einstellung Lüfter Off
Internals:
CFGFN
DEF (([21:00-18:00]) and ([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) < - 0.2
and ([LaCrosse_23:temperature] > ([Ole_Luefter_automatik:desired] + 2))) (set Luefter_Ole on) (set Luefter_Ole off)
DOELSEIF
((([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) > 0.2) or ([LaCrosse_0C:temperature] < [Ole_Luefter_automatik:desired]))
(set Luefter_Ole off)
FUUID 5f344a24-f33f-faf7-62e8-a01008e1902c96db
MODEL FHEM
NAME Ole_Luefter_automatik
NOTIFYDEV LaCrosse_23,LaCrosse_0C,Ole_Luefter_automatik,global
NR 3575
NTFY_ORDER 50-Ole_Luefter_automatik
STATE on
TYPE DOIF
VERSION 20811 2019-12-22 17:45:08
READINGS:
2020-08-13 22:51:56 cmd 1.2
2020-08-13 22:51:56 cmd_event Ole_Luefter_automatik
2020-08-13 22:51:56 cmd_nr 1
2020-08-13 22:51:56 cmd_seqnr 2
2020-08-13 20:29:07 desired 23
2020-08-13 21:26:47 mode enabled
2020-08-13 22:51:56 state on
2020-08-13 21:26:47 timer_01_c01 14.08.2020 21:00:00
2020-08-13 21:26:47 timer_02_c01 14.08.2020 18:00:00
Regex:
accu:
cond:
LaCrosse_0C:
0:
temperature ^LaCrosse_0C$:^temperature:
1:
temperature ^LaCrosse_0C$:^temperature:
LaCrosse_23:
0:
temperature ^LaCrosse_23$:^temperature:
1:
temperature ^LaCrosse_23$:^temperature:
Ole_Luefter_automatik:
0:
desired ^Ole_Luefter_automatik$:^desired:
1:
desired ^Ole_Luefter_automatik$:^desired:
attr:
cmdState:
0:
on
1:
off
repeatcmd:
wait:
waitdel:
waitsame:
condition:
0 (::DOIF_time($hash,0,1,$wday,$hms)) and (::ReadingValDoIf($hash,'LaCrosse_0C','temperature') - ::ReadingValDoIf($hash,'LaCrosse_23','temperature')) < - 0.2 and (::ReadingValDoIf($hash,'LaCrosse_23','temperature') > (::ReadingValDoIf($hash,'Ole_Luefter_automatik','desired') + 2))
1 ((::ReadingValDoIf($hash,'LaCrosse_0C','temperature') - ::ReadingValDoIf($hash,'LaCrosse_23','temperature')) > 0.2) or (::ReadingValDoIf($hash,'LaCrosse_0C','temperature') < ::ReadingValDoIf($hash,'Ole_Luefter_automatik','desired'))
days:
do:
0:
0 set Luefter_Ole on
1 set Luefter_Ole off
1:
0 set Luefter_Ole off
2:
helper:
DEVFILTER ^global$|^LaCrosse_23$|^LaCrosse_0C$|^Ole_Luefter_automatik$
NOTIFYDEV global|LaCrosse_23|LaCrosse_0C|Ole_Luefter_automatik
globalinit 1
last_timer 2
sleeptimer -1
timerdev
timerevent
timerevents
timereventsState
triggerDev
interval:
0 -1
1 0
intervalfunc:
localtime:
0 1597431600
1 1597420800
readings:
all LaCrosse_0C:temperature LaCrosse_23:temperature Ole_Luefter_automatik:desired
realtime:
0 21:00:00
1 18:00:00
time:
0 21:00:00
1 18:00:00
timeCond:
0 0
1 0
timer:
0 0
1 0
timers:
0 0 1
triggertime:
1597420800:
localtime 1597420800
hash:
1597431600:
localtime 1597431600
hash:
uiState:
uiTable:
Attributes:
cmdState on|off
readingList desired
room Lüfter,Ole
setList desired:14,20,21,22,23,24
webCmd desiredcode]
Thermometer Ole
[code]Internals:
CHANGED
DEF 23
FUUID 5c8cec5e-f33f-faf7-d88d-b88e022c32234ad5
IODev myJeeLink
LASTInputDev myJeeLink
LaCrosse_lastRcv 2020-08-13 22:46:11
MSGCNT 18208
NAME LaCrosse_23
NR 46
STATE T: 27.4 H: 59
TYPE LaCrosse
addr 23
battery_new 0
corr1 0
corr2 0
myJeeLink_MSGCNT 18332
myJeeLink_RAWMSG OK 9 35 1 4 250 59
myJeeLink_TIME 2020-08-13 22:46:11
previousH 59
previousT 27.4
sensorType 0=T(H)
READINGS:
2020-08-13 22:46:11 battery ok
2020-08-13 22:46:11 humidity 59
2020-08-13 22:46:03 state T: 27.4 H: 59
2020-08-13 22:46:11 temperature 27.4
2020-04-02 03:46:59 temperature2 42.5
Attributes:
IODev myJeeLink
alias Ole Zimmer
event-min-interval .*:3600
event-on-change-reading temperatur,humidity
room Lüfter,Ole,Temperatur
Automatik Lüfter Ole
Internals:
CFGFN
DEF (([21:00-18:00]) and ([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) < - 0.2
and ([LaCrosse_23:temperature] > ([Ole_Luefter_automatik:desired] + 2))) (set Luefter_Ole on) (set Luefter_Ole off)
DOELSEIF
((([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) > 0.2) or ([LaCrosse_0C:temperature] < [Ole_Luefter_automatik:desired]))
(set Luefter_Ole off)
FUUID 5f344a24-f33f-faf7-62e8-a01008e1902c96db
MODEL FHEM
NAME Ole_Luefter_automatik
NOTIFYDEV LaCrosse_23,LaCrosse_0C,Ole_Luefter_automatik,global
NR 3575
NTFY_ORDER 50-Ole_Luefter_automatik
STATE off
TYPE DOIF
VERSION 20811 2019-12-22 17:45:08
READINGS:
2020-08-13 21:27:20 cmd 2
2020-08-13 21:27:20 cmd_event Ole_Luefter_automatik
2020-08-13 21:27:20 cmd_nr 2
2020-08-13 20:29:07 desired 23
2020-08-13 21:26:47 mode enabled
2020-08-13 21:27:20 state off
2020-08-13 21:26:47 timer_01_c01 14.08.2020 21:00:00
2020-08-13 21:26:47 timer_02_c01 14.08.2020 18:00:00
Regex:
accu:
cond:
LaCrosse_0C:
0:
temperature ^LaCrosse_0C$:^temperature:
1:
temperature ^LaCrosse_0C$:^temperature:
LaCrosse_23:
0:
temperature ^LaCrosse_23$:^temperature:
1:
temperature ^LaCrosse_23$:^temperature:
Ole_Luefter_automatik:
0:
desired ^Ole_Luefter_automatik$:^desired:
1:
desired ^Ole_Luefter_automatik$:^desired:
attr:
cmdState:
0:
on
1:
off
repeatcmd:
wait:
waitdel:
waitsame:
condition:
0 (::DOIF_time($hash,0,1,$wday,$hms)) and (::ReadingValDoIf($hash,'LaCrosse_0C','temperature') - ::ReadingValDoIf($hash,'LaCrosse_23','temperature')) < - 0.2 and (::ReadingValDoIf($hash,'LaCrosse_23','temperature') > (::ReadingValDoIf($hash,'Ole_Luefter_automatik','desired') + 2))
1 ((::ReadingValDoIf($hash,'LaCrosse_0C','temperature') - ::ReadingValDoIf($hash,'LaCrosse_23','temperature')) > 0.2) or (::ReadingValDoIf($hash,'LaCrosse_0C','temperature') < ::ReadingValDoIf($hash,'Ole_Luefter_automatik','desired'))
days:
do:
0:
0 set Luefter_Ole on
1 set Luefter_Ole off
1:
0 set Luefter_Ole off
2:
helper:
DEVFILTER ^global$|^LaCrosse_23$|^LaCrosse_0C$|^Ole_Luefter_automatik$
NOTIFYDEV global|LaCrosse_23|LaCrosse_0C|Ole_Luefter_automatik
globalinit 1
last_timer 2
sleeptimer -1
timerdev
timerevent
timerevents
timereventsState
triggerDev
interval:
0 -1
1 0
intervalfunc:
localtime:
0 1597431600
1 1597420800
readings:
all LaCrosse_0C:temperature LaCrosse_23:temperature Ole_Luefter_automatik:desired
realtime:
0 21:00:00
1 18:00:00
time:
0 21:00:00
1 18:00:00
timeCond:
0 0
1 0
timer:
0 0
1 0
timers:
0 0 1
triggertime:
1597420800:
localtime 1597420800
hash:
1597431600:
localtime 1597431600
hash:
uiState:
uiTable:
Attributes:
cmdState on|off
readingList desired
room Lüfter,Ole
setList desired:14,20,21,22,23,24
webCmd desired
Diese "lists" sehen besser aus
NAME LaCrosse_0C
2020-08-13 22:43:45 temperature 25.9
event-on-change-reading humidity, temperatur
So wirst Du nie Events auf "temperature" haben und das DOIF kann darauf nicht reagieren
EDIT: genauso bei Ole_Luefter_automatik
ausserdem ist scheinbar noch ein leerzeichen vor "temperatur", was da nicht hin gehört.
komisch finde ich allerdings, warum das letztes jahr funktioniert haben soll. :)
Vorletztes Jahr hätte es gar nicht funktioniert:
https://forum.fhem.de/index.php/topic,91959.msg844624.html#msg844624
event-on-change-reading 1
Aber letztes Jahr hatte er sicher event-on-change-reading nicht so, da:
https://forum.fhem.de/index.php/topic,101742.msg952152.html#msg952152
2019-06-24 19:22:44 e_LaCrosse_0C_temperature 30.9
https://forum.fhem.de/index.php/topic,99861.msg945894.html#msg945894
2019-06-03 22:56:23 e_LaCrosse_0C_temperature 20.9
2019-06-03 22:56:24 e_LaCrosse_23_temperature 22.8
Ich wusste, dass ich dieses DOIF schon gesehen hatte ;)
Hi
Habe die Daten geändert danke. Ne event on Chance reqding ist gläubig irgendwann im Winter dazu gekommen. Wollte es nicht so überladen habe, falls man was nachschauen wollte.
Ja genau es war letztes Jahr im Juni dort hat es aber geschaltet danach den ganzen Sommer
Ich habe die event on chance reading mal rausgeschmissen mal schauen ob es jetzt wieder klappt.
Ab wann kann man eigentlich die Sensoren wieder sehen? Sie werden mir nämlich im reading angezeigt.
Internals:
CFGFN
DEF (([21:00-18:00]) and ([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) < - 0.2
and ([LaCrosse_23:temperature] > ([Ole_Luefter_automatik:desired] + 2))) (set Luefter_Ole on) (set Luefter_Ole off)
DOELSE
((([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) > 0.2) or ([LaCrosse_0C:temperature] < [Ole_Luefter_automatik:desired]))
(set Luefter_Ole off)
FUUID 5f344a24-f33f-faf7-62e8-a01008e1902c96db
MODEL FHEM
NAME Ole_Luefter_automatik
NOTIFYDEV global,Ole_Luefter_automatik,LaCrosse_23,LaCrosse_0C
NR 3575
NTFY_ORDER 50-Ole_Luefter_automatik
STATE off
TYPE DOIF
VERSION 20811 2019-12-22 17:45:08
READINGS:
2020-08-14 16:30:17 cmd 2.2
2020-08-14 16:30:17 cmd_event Ole_Luefter_automatik
2020-08-14 16:30:17 cmd_nr 2
2020-08-14 16:30:17 cmd_seqnr 2
2020-08-13 20:29:07 desired 23
2020-08-14 16:30:14 mode enabled
2020-08-14 16:30:17 state off
2020-08-14 16:30:14 timer_01_c01 14.08.2020 21:00:00
2020-08-14 16:30:14 timer_02_c01 14.08.2020 18:00:00
Regex:
accu:
cond:
LaCrosse_0C:
0:
temperature ^LaCrosse_0C$:^temperature:
LaCrosse_23:
0:
temperature ^LaCrosse_23$:^temperature:
Ole_Luefter_automatik:
0:
desired ^Ole_Luefter_automatik$:^desired:
attr:
cmdState:
0:
on
1:
off
repeatcmd:
wait:
waitdel:
waitsame:
condition:
0 (::DOIF_time($hash,0,1,$wday,$hms)) and (::ReadingValDoIf($hash,'LaCrosse_0C','temperature') - ::ReadingValDoIf($hash,'LaCrosse_23','temperature')) < - 0.2 and (::ReadingValDoIf($hash,'LaCrosse_23','temperature') > (::ReadingValDoIf($hash,'Ole_Luefter_automatik','desired') + 2))
days:
do:
0:
0 set Luefter_Ole on
1 set Luefter_Ole off
1:
0 (([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) > 0.2) or ([LaCrosse_0C:temperature] < [Ole_Luefter_automatik:desired])
1 set Luefter_Ole off
helper:
DEVFILTER ^global$|^Ole_Luefter_automatik$|^LaCrosse_23$|^LaCrosse_0C$
NOTIFYDEV global|Ole_Luefter_automatik|LaCrosse_23|LaCrosse_0C
globalinit 1
last_timer 2
sleeptimer -1
timerdev
timerevent
timerevents
timereventsState
triggerDev
interval:
0 -1
1 0
intervalfunc:
localtime:
0 1597431600
1 1597420800
readings:
all LaCrosse_0C:temperature LaCrosse_23:temperature Ole_Luefter_automatik:desired
realtime:
0 21:00:00
1 18:00:00
time:
0 21:00:00
1 18:00:00
timeCond:
0 0
1 0
timer:
0 0
1 0
timers:
0 0 1
triggertime:
1597420800:
localtime 1597420800
hash:
1597431600:
localtime 1597431600
hash:
uiState:
uiTable:
Attributes:
cmdState on|off
readingList desired
room Lüfter,Ole
setList desired:14,20,21,22,23,24
webCmd desired
Also eigentlich sollte ein Tempsensor sich regelmässig melden. Es wird aber nix passieren, so lange er nicht wieder auf cmd1 springt
Du hast immer noch ein DOELSE statt ein DOELSEIF. Deswegen interpretiert DOIF das so: nur eine "condition", und im 2. Zweig zwei Befehle:
Zitat condition:
0 (::DOIF_time($hash,0,1,$wday,$hms)) and (::ReadingValDoIf($hash,'LaCrosse_0C','temperature') - ::ReadingValDoIf($hash,'LaCrosse_23','temperature')) < - 0.2 and (::ReadingValDoIf($hash,'LaCrosse_23','temperature') > (::ReadingValDoIf($hash,'Ole_Luefter_automatik','desired') + 2))
days:
do:
0:
0 set Luefter_Ole on
1 set Luefter_Ole off
1:
0 (([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) > 0.2) or ([LaCrosse_0C:temperature] < [Ole_Luefter_automatik:desired])
1 set Luefter_Ole off
Hi
Ne hatte es danach noch auf DOELSEIF geändert. Nur leider sprengt er nur im CMD 1.2 und schaltet den Lüfter nicht an
Funktoniert das nicht mit (set Luefter_Ole on) (set Luefter_Ole off)??? Wenn ich das off wegnehmen schaltet er sofort an. Wenn die Bedingungen passen.
Bitte ein "list".
Aber bitte in der Fassung, die jetzt produktiv ist! Sowas wie "neee, das war in meinem list, aber das hatte ich geändert" ist nur ein Zeitverlusst für uns. Was sollen wir analysieren, wenn was wir analysieren nicht das ist, was läuft? ? ? Was soll es bringen?
Wenn er bei cmd1.2 gelandet ist, hat er die Befehle ausgeführt.
Wenn Du aber set on und sofort wieder set off machst, dann geht der Lüfter zu kurz an, damit Du etwas sehen kannst. Wahrscheinlich fehlt dir noch ein "wait" Attribut
Tut mir leid. werde sofort eins nachreichen.
Hier schaltet es nicht. Dieses ist mit (set Luefter_Ole on) (set Luefter_Ole off)
Internals:
CFGFN
DEF (([21:00-18:00]) and ([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) < - 0.2
and ([LaCrosse_23:temperature] > ([Ole_Luefter_automatik:desired] + 2))) (set Luefter_Ole on)
(set Luefter_Ole off)
DOELSEIF
((([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) > 0.2) or ([LaCrosse_0C:temperature] < [Ole_Luefter_automatik:desired]))
(set Luefter_Ole off)
FUUID 5f344a24-f33f-faf7-62e8-a01008e1902c96db
MODEL FHEM
NAME Ole_Luefter_automatik
NOTIFYDEV global,LaCrosse_0C,LaCrosse_23,Ole_Luefter_automatik
NR 3575
NTFY_ORDER 50-Ole_Luefter_automatik
STATE on
TYPE DOIF
VERSION 20811 2019-12-22 17:45:08
READINGS:
2020-08-14 21:32:34 Device LaCrosse_0C
2020-08-14 21:32:23 cmd 1.2
2020-08-14 21:32:23 cmd_event LaCrosse_0C
2020-08-14 21:32:23 cmd_nr 1
2020-08-14 21:32:23 cmd_seqnr 2
2020-08-13 20:29:07 desired 23
2020-08-14 21:32:34 e_LaCrosse_0C_temperature 25.1
2020-08-14 21:32:33 e_LaCrosse_23_temperature 27.9
2020-08-14 21:32:21 mode enabled
2020-08-14 21:32:23 state on
2020-08-14 21:32:21 timer_01_c01 15.08.2020 21:00:00
2020-08-14 21:32:21 timer_02_c01 15.08.2020 18:00:00
Regex:
accu:
cond:
LaCrosse_0C:
0:
temperature ^LaCrosse_0C$:^temperature:
1:
temperature ^LaCrosse_0C$:^temperature:
LaCrosse_23:
0:
temperature ^LaCrosse_23$:^temperature:
1:
temperature ^LaCrosse_23$:^temperature:
Ole_Luefter_automatik:
0:
desired ^Ole_Luefter_automatik$:^desired:
1:
desired ^Ole_Luefter_automatik$:^desired:
attr:
cmdState:
0:
on
1:
off
repeatcmd:
wait:
waitdel:
waitsame:
condition:
0 (::DOIF_time($hash,0,1,$wday,$hms)) and (::ReadingValDoIf($hash,'LaCrosse_0C','temperature') - ::ReadingValDoIf($hash,'LaCrosse_23','temperature')) < - 0.2 and (::ReadingValDoIf($hash,'LaCrosse_23','temperature') > (::ReadingValDoIf($hash,'Ole_Luefter_automatik','desired') + 2))
1 ((::ReadingValDoIf($hash,'LaCrosse_0C','temperature') - ::ReadingValDoIf($hash,'LaCrosse_23','temperature')) > 0.2) or (::ReadingValDoIf($hash,'LaCrosse_0C','temperature') < ::ReadingValDoIf($hash,'Ole_Luefter_automatik','desired'))
days:
do:
0:
0 set Luefter_Ole on
1 set Luefter_Ole off
1:
0 set Luefter_Ole off
2:
helper:
DEVFILTER ^global$|^LaCrosse_0C$|^LaCrosse_23$|^Ole_Luefter_automatik$
NOTIFYDEV global|LaCrosse_0C|LaCrosse_23|Ole_Luefter_automatik
event battery: ok,temperature: 25.1,humidity: 64
globalinit 1
last_timer 2
sleeptimer -1
timerdev LaCrosse_0C
timerevent battery: ok,temperature: 25.1,humidity: 64
triggerDev LaCrosse_0C
timerevents:
battery: ok
temperature: 25.1
humidity: 64
timereventsState:
battery: ok
temperature: 25.1
humidity: 64
triggerEvents:
battery: ok
temperature: 25.1
humidity: 64
triggerEventsState:
battery: ok
temperature: 25.1
humidity: 64
internals:
interval:
0 -1
1 0
intervalfunc:
localtime:
0 1597518000
1 1597507200
readings:
all LaCrosse_0C:temperature LaCrosse_23:temperature Ole_Luefter_automatik:desired
realtime:
0 21:00:00
1 18:00:00
time:
0 21:00:00
1 18:00:00
timeCond:
0 0
1 0
timer:
0 0
1 0
timers:
0 0 1
trigger:
triggertime:
1597507200:
localtime 1597507200
hash:
1597518000:
localtime 1597518000
hash:
uiState:
uiTable:
Attributes:
cmdState on|off
readingList desired
room Lüfter,Ole
setList desired:14,20,21,22,23,24
webCmd desired
werde es aber mal mit einem wait befehl ausprobieren so wie du meintest.
ZUmindest triggern jetzt Lacrosse_0C und Lacrosse_23
Ja genau die Triggern. Das hat geklappt -> dafür schon mal danke.
Und ich habe einfach das off entfernt und schon schaltet es.
Internals:
CFGFN
DEF (([21:00-18:00]) and ([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) < - 0.2
and ([LaCrosse_23:temperature] > ([Ole_Luefter_automatik:desired] + 2))) (set Luefter_Ole on)
DOELSEIF
((([LaCrosse_0C:temperature] - [LaCrosse_23:temperature]) > 0.2) or ([LaCrosse_0C:temperature] < [Ole_Luefter_automatik:desired]))
(set Luefter_Ole off)
FUUID 5f344a24-f33f-faf7-62e8-a01008e1902c96db
MODEL FHEM
NAME Ole_Luefter_automatik
NOTIFYDEV Ole_Luefter_automatik,LaCrosse_0C,LaCrosse_23,global
NR 3575
NTFY_ORDER 50-Ole_Luefter_automatik
STATE on
TYPE DOIF
VERSION 20811 2019-12-22 17:45:08
READINGS:
2020-08-14 21:55:55 Device LaCrosse_23
2020-08-14 21:55:42 cmd 1
2020-08-14 21:55:42 cmd_event Ole_Luefter_automatik
2020-08-14 21:55:42 cmd_nr 1
2020-08-13 20:29:07 desired 23
2020-08-14 21:55:50 e_LaCrosse_0C_temperature 24.8
2020-08-14 21:55:55 e_LaCrosse_23_temperature 27.8
2020-08-14 21:55:38 mode enabled
2020-08-14 21:55:42 state on
2020-08-14 21:55:38 timer_01_c01 15.08.2020 21:00:00
2020-08-14 21:55:38 timer_02_c01 15.08.2020 18:00:00
Regex:
accu:
cond:
LaCrosse_0C:
0:
temperature ^LaCrosse_0C$:^temperature:
1:
temperature ^LaCrosse_0C$:^temperature:
LaCrosse_23:
0:
temperature ^LaCrosse_23$:^temperature:
1:
temperature ^LaCrosse_23$:^temperature:
Ole_Luefter_automatik:
0:
desired ^Ole_Luefter_automatik$:^desired:
1:
desired ^Ole_Luefter_automatik$:^desired:
attr:
cmdState:
0:
on
1:
off
repeatcmd:
wait:
waitdel:
waitsame:
condition:
0 (::DOIF_time($hash,0,1,$wday,$hms)) and (::ReadingValDoIf($hash,'LaCrosse_0C','temperature') - ::ReadingValDoIf($hash,'LaCrosse_23','temperature')) < - 0.2 and (::ReadingValDoIf($hash,'LaCrosse_23','temperature') > (::ReadingValDoIf($hash,'Ole_Luefter_automatik','desired') + 2))
1 ((::ReadingValDoIf($hash,'LaCrosse_0C','temperature') - ::ReadingValDoIf($hash,'LaCrosse_23','temperature')) > 0.2) or (::ReadingValDoIf($hash,'LaCrosse_0C','temperature') < ::ReadingValDoIf($hash,'Ole_Luefter_automatik','desired'))
days:
do:
0:
0 set Luefter_Ole on
1:
0 set Luefter_Ole off
2:
helper:
DEVFILTER ^global$|^LaCrosse_23$|^LaCrosse_0C$|^Ole_Luefter_automatik$
NOTIFYDEV global|LaCrosse_23|LaCrosse_0C|Ole_Luefter_automatik
event battery: ok,temperature: 27.8,humidity: 59
globalinit 1
last_timer 2
sleeptimer -1
timerdev LaCrosse_23
timerevent battery: ok,temperature: 27.8,humidity: 59
triggerDev LaCrosse_23
timerevents:
battery: ok
temperature: 27.8
humidity: 59
timereventsState:
battery: ok
temperature: 27.8
humidity: 59
triggerEvents:
battery: ok
temperature: 27.8
humidity: 59
triggerEventsState:
battery: ok
temperature: 27.8
humidity: 59
internals:
interval:
0 -1
1 0
intervalfunc:
localtime:
0 1597518000
1 1597507200
readings:
all LaCrosse_0C:temperature LaCrosse_23:temperature Ole_Luefter_automatik:desired
realtime:
0 21:00:00
1 18:00:00
time:
0 21:00:00
1 18:00:00
timeCond:
0 0
1 0
timer:
0 0
1 0
timers:
0 0 1
trigger:
triggertime:
1597507200:
localtime 1597507200
hash:
1597518000:
localtime 1597518000
hash:
uiState:
uiTable:
Attributes:
cmdState on|off
readingList desired
room Lüfter,Ole
setList desired:14,20,21,22,23,24
webCmd desired