Hallo,
Mein DOIF funktioniert nicht mehr richtig.
Vielleicht sehe ich den Wald vor lauter Bäumen nicht,
Doch ich finde den Fehler nicht.
([{sunset("CIVIL",0,"17:00","21:00")}] and [Aussentemperatur:state] => 15) (set Jalo_Finnja_hinten:FILTER=pct>=80 pct 64)
DOELSEIF
([{sunset("CIVIL",0,"17:00","21:00")}] and [Aussentemperatur:state] < 15) (set Jalo_Finnja_hinten:FILTER=pct>=80 pct 0)
Anbei auch ein List
Internals:
DEF 3146A4
IODev Teil_an_Fritzbox
LASTInputDev Teil_an_Fritzbox
MSGCNT 27
NAME Jalo_Finnja_hinten
NR 46
NTFY_ORDER 50-Jalo_Finnja_hinten
STATE Hoch
TYPE CUL_HM
Teil_an_Fritzbox_MSGCNT 27
Teil_an_Fritzbox_RAWMSG A0D24A4103146A4F110340601C800::-49.5:Teil_an_Fritzbox
Teil_an_Fritzbox_RSSI -49.5
Teil_an_Fritzbox_TIME 2015-07-13 11:00:04
lastMsg No:24 - t:10 s:3146A4 d:F11034 0601C800
protLastRcv 2015-07-13 11:00:04
protResnd 7 last_at:2015-07-13 08:31:13
protSnd 27 last_at:2015-07-13 11:00:04
protState CMDs_done
rssi_Teil_an_Fritzbox avg:-46.63 min:-49 max:-45 lst:-48 cnt:11
rssi_at_Teil_an_Fritzbox avg:-47.2 min:-52 max:-44 lst:-49.5 cnt:27
Readings:
2015-07-13 11:00:00 CommandAccepted yes
2015-01-30 14:01:14 D-firmware 2.3
2015-01-30 14:01:14 D-serialNr LEQ1025121
2015-05-02 10:20:10 PairedTo 0xF11034
2015-01-30 13:53:14 R-confBtnTime permanent
2015-01-30 14:01:29 R-driveDown 16.8 s
2015-01-30 13:53:15 R-driveTurn 0.5 s
2015-01-30 14:01:29 R-driveUp 18.4 s
2015-01-30 13:53:14 R-intKeyVisib invisib
2015-01-30 13:53:14 R-localResDis off
2015-01-30 13:53:14 R-pairCentral 0xF11034
2015-01-30 13:53:15 R-sign off
2015-01-30 13:53:15 R-statusInfoMinDly 2 s
2015-01-30 13:53:15 R-statusInfoRandom 1 s
2015-01-30 13:53:15 R-transmitTryMax 6
2015-05-02 10:20:10 RegL_00: 02:01 0A:F1 0B:10 0C:34 15:FF 18:00 00:00
2015-05-02 10:20:11 RegL_01: 08:00 09:00 0A:00 0B:00 0C:A8 0D:00 0E:B8 0F:05 10:00 30:06 57:24 00:00
2015-07-13 11:00:04 deviceMsg on (to Teil_an_Fritzbox)
2015-07-13 11:00:04 level 100
2015-01-30 13:53:42 levelMissed desired:5
2015-07-13 11:00:04 motor stop:on
2015-07-13 11:00:04 pct 100
2015-05-02 08:56:44 powerOn 2015-05-02 08:56:44
2015-07-13 11:00:04 recentStateType info
2015-07-13 11:00:04 state on
2015-07-13 11:00:04 timedOn off
Helper:
HM_CMDNR 36
cSnd 11F110343146A40201C80000,11F110343146A40201C80000
dlvlCmd ++A011F110343146A40201C80000
mId 006A
rxType 1
Dir:
cur stop
rct up
Io:
newChn +3146A4,00,00,00
nextSend 1436778004.7198
prefIO
rxt 0
vccu
p:
3146A4
00
00
00
Mrssi:
mNo 24
Io:
Teil_an_Fritzbox -47.5
Prt:
bErr 0
sProc 0
Rspwait:
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
prs 1
Rpt:
IO Teil_an_Fritzbox
flg A
ts 1436778004.63318
ack:
HASH(0x112e1c8)
248002F110343146A400
Rssi:
Teil_an_fritzbox:
avg -46.6363636363636
cnt 11
lst -48
max -45
min -49
At_teil_an_fritzbox:
avg -47.2037037037037
cnt 27
lst -49.5
max -44
min -52
Attributes:
IODev Teil_an_Fritzbox
autoReadReg 4_reqStatus
eventMap off:Runter on:Hoch
expert 2_full
firmware 2.3
group Jalousie_hinten,Jalousien
model HM-LC-Bl1PBU-FM
peerIDs 00000000,
room Finnja,Jalousien
serialNr LEQ1025121
set Rollo_Gruppe
subType blindActuator
userattr set set_map structexclude
webCmd statusRequest:toggle:on:off:up:down:stop /code]
Readings:
Readings
cmd_event
timer_1
2015-07-10 21:00:00
cmd_nr
1
2015-07-10 21:00:00
e_Aussentemperatur_state
16
2015-07-13 21:31:20
state
cmd_1
2015-07-10 21:00:00
timer_1_c1
14.07.2015 21:00:00
2015-07-13 21:00:00
timer_2_c2
14.07.2015 21:00:00
2015-07-13 21:00:00/[code]
Zitat von: Thoffi1978 am 13 Juli 2015, 21:50:33
Hallo,
Mein DOIF funktioniert nicht mehr richtig.
Vielleicht sehe ich den Wald vor lauter Bäumen nicht,
Doch ich finde den Fehler nicht.
([{sunset("CIVIL",0,"17:00","21:00")}] and [Aussentemperatur:state] => 15) (set Jalo_Finnja_hinten:FILTER=pct>=80 pct 64)
DOELSEIF
([{sunset("CIVIL",0,"17:00","21:00")}] and [Aussentemperatur:state] < 15) (set Jalo_Finnja_hinten:FILTER=pct>=80 pct 0)
Anbei auch ein List
Internals:
DEF 3146A4
IODev Teil_an_Fritzbox
LASTInputDev Teil_an_Fritzbox
MSGCNT 27
NAME Jalo_Finnja_hinten
NR 46
NTFY_ORDER 50-Jalo_Finnja_hinten
STATE Hoch
TYPE CUL_HM
Teil_an_Fritzbox_MSGCNT 27
Teil_an_Fritzbox_RAWMSG A0D24A4103146A4F110340601C800::-49.5:Teil_an_Fritzbox
Teil_an_Fritzbox_RSSI -49.5
Teil_an_Fritzbox_TIME 2015-07-13 11:00:04
lastMsg No:24 - t:10 s:3146A4 d:F11034 0601C800
protLastRcv 2015-07-13 11:00:04
protResnd 7 last_at:2015-07-13 08:31:13
protSnd 27 last_at:2015-07-13 11:00:04
protState CMDs_done
rssi_Teil_an_Fritzbox avg:-46.63 min:-49 max:-45 lst:-48 cnt:11
rssi_at_Teil_an_Fritzbox avg:-47.2 min:-52 max:-44 lst:-49.5 cnt:27
Readings:
2015-07-13 11:00:00 CommandAccepted yes
2015-01-30 14:01:14 D-firmware 2.3
2015-01-30 14:01:14 D-serialNr LEQ1025121
2015-05-02 10:20:10 PairedTo 0xF11034
2015-01-30 13:53:14 R-confBtnTime permanent
2015-01-30 14:01:29 R-driveDown 16.8 s
2015-01-30 13:53:15 R-driveTurn 0.5 s
2015-01-30 14:01:29 R-driveUp 18.4 s
2015-01-30 13:53:14 R-intKeyVisib invisib
2015-01-30 13:53:14 R-localResDis off
2015-01-30 13:53:14 R-pairCentral 0xF11034
2015-01-30 13:53:15 R-sign off
2015-01-30 13:53:15 R-statusInfoMinDly 2 s
2015-01-30 13:53:15 R-statusInfoRandom 1 s
2015-01-30 13:53:15 R-transmitTryMax 6
2015-05-02 10:20:10 RegL_00: 02:01 0A:F1 0B:10 0C:34 15:FF 18:00 00:00
2015-05-02 10:20:11 RegL_01: 08:00 09:00 0A:00 0B:00 0C:A8 0D:00 0E:B8 0F:05 10:00 30:06 57:24 00:00
2015-07-13 11:00:04 deviceMsg on (to Teil_an_Fritzbox)
2015-07-13 11:00:04 level 100
2015-01-30 13:53:42 levelMissed desired:5
2015-07-13 11:00:04 motor stop:on
2015-07-13 11:00:04 pct 100
2015-05-02 08:56:44 powerOn 2015-05-02 08:56:44
2015-07-13 11:00:04 recentStateType info
2015-07-13 11:00:04 state on
2015-07-13 11:00:04 timedOn off
Helper:
HM_CMDNR 36
cSnd 11F110343146A40201C80000,11F110343146A40201C80000
dlvlCmd ++A011F110343146A40201C80000
mId 006A
rxType 1
Dir:
cur stop
rct up
Io:
newChn +3146A4,00,00,00
nextSend 1436778004.7198
prefIO
rxt 0
vccu
p:
3146A4
00
00
00
Mrssi:
mNo 24
Io:
Teil_an_Fritzbox -47.5
Prt:
bErr 0
sProc 0
Rspwait:
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
prs 1
Rpt:
IO Teil_an_Fritzbox
flg A
ts 1436778004.63318
ack:
HASH(0x112e1c8)
248002F110343146A400
Rssi:
Teil_an_fritzbox:
avg -46.6363636363636
cnt 11
lst -48
max -45
min -49
At_teil_an_fritzbox:
avg -47.2037037037037
cnt 27
lst -49.5
max -44
min -52
Attributes:
IODev Teil_an_Fritzbox
autoReadReg 4_reqStatus
eventMap off:Runter on:Hoch
expert 2_full
firmware 2.3
group Jalousie_hinten,Jalousien
model HM-LC-Bl1PBU-FM
peerIDs 00000000,
room Finnja,Jalousien
serialNr LEQ1025121
set Rollo_Gruppe
subType blindActuator
userattr set set_map structexclude
webCmd statusRequest:toggle:on:off:up:down:stop /code]
Readings:
Readings
cmd_event
timer_1
2015-07-10 21:00:00
cmd_nr
1
2015-07-10 21:00:00
e_Aussentemperatur_state
16
2015-07-13 21:31:20
state
cmd_1
2015-07-10 21:00:00
timer_1_c1
14.07.2015 21:00:00
2015-07-13 21:00:00
timer_2_c2
14.07.2015 21:00:00
2015-07-13 21:00:00/[code]
größer gleich in Perl ist >= und nicht =>
Gruß
Damian
Hallo,
Ich habe nun einmal das = geändert. Trotzdem fährt die Jalousie nicht runter.
Wenn ich etwas in der DEF ändere und der DOIF auf initialize "geht", dann funktioniert das ganze. Einen Tag später dann leider nicht mehr.
Kann es noch einen Fehler geben?
Weil das DOIF noch den gleichen Status (state) hat?!
Sinnvoll ist ein List vom DOIF, nicht vom Aktor.
Hallo.
Mmh. Ja, aber warum ???
Anbei die list vom DOIF
Internals:
DEF ([{sunset("CIVIL",0,"17:00","21:00")}] and [Aussentemperatur:state] >= 15) (set Jalo_Finnja_hinten:FILTER=pct>=80 pct 64)
DOELSEIF
([{sunset("CIVIL",0,"17:00","21:00")}] and [Aussentemperatur:state] < 15) (set Jalo_Finnja_hinten:FILTER=pct>=80 pct 0)
NAME di_Finnja_hinten_runter
NR 197
NTFY_ORDER 50-di_Finnja_hinten_runter
STATE cmd_1
TYPE DOIF
Readings:
2015-07-14 21:00:00 cmd_event timer_1
2015-07-14 21:00:00 cmd_nr 1
2015-07-16 13:14:41 e_Aussentemperatur_state 18
2015-07-14 21:00:00 state cmd_1
2015-07-16 07:14:42 timer_1_c1 16.07.2015 21:00:00
2015-07-16 07:14:42 timer_2_c2 16.07.2015 21:00:00
Condition:
0 DOIF_time_once($hash->{timer}{0},$wday,"") and ReadingValDoIf('Aussentemperatur','state','') >= 15
1 DOIF_time_once($hash->{timer}{1},$wday,"") and ReadingValDoIf('Aussentemperatur','state','') < 15
Days:
Devices:
0 Aussentemperatur
1 Aussentemperatur
all Aussentemperatur
Do:
0 set Jalo_Finnja_hinten:FILTER=pct>=80 pct 64
1 set Jalo_Finnja_hinten:FILTER=pct>=80 pct 0
Helper:
last_timer 2
sleeptimer -1
Internals:
Itimer:
Readings:
0 Aussentemperatur:state
1 Aussentemperatur:state
all Aussentemperatur:state
Realtime:
0 21:00:00
1 21:00:00
State:
Time:
0 {sunset("CIVIL",0,"17:00","21:00")}
1 {sunset("CIVIL",0,"17:00","21:00")}
Timecond:
0 0
1 1
Timer:
0 0
1 0
Timerfunc:
Timers:
0 0
1 1
Trigger:
Attributes:
group Jalousie_hinten
room Finnja,Jalousien
Zitat von: Ralli am 16 Juli 2015, 08:10:45
Weil das DOIF noch den gleichen Status (state) hat?!
... weil die Aussentemperatur vielleicht nicht unter 15 Grad C sinkt?
Ich habe den DOIF doch aber gesagt,
Bei über 15C soll es aus 64% gehen und bei unter 15C zu.
Die Jalousie bewegt sich aber leider gar nicht.
do always?
Kommt mir das gerade nur so vor, oder ist zur Zeit in jedem 2. DOIF Thread das Problem?
Hallo,
Ja, es sind gerade viele DOIF Fragen.
Ich hatte mich ein wenig abschrecken lassen
ZitatBei der Angabe von zyklisch sendenden Sensoren (Temperatur, Feuchtigkeit, Helligkeit usw.) wie z. B.:
define di_heating DOIF ([sens:temperature] < 20) (set heating on)
ist die Nutzung des Attributes do always nicht sinnvoll, da das entsprechende Kommando hier: "set heating on" jedes mal ausgeführt wird, wenn der Temperatursensor in regelmäßigen Abständen eine Temperatur unter 20 Grad sendet.
Mit do always klappt es jetzt.
Vielen lieben Dank
Zitat von: Thoffi1978 am 17 Juli 2015, 07:15:19
Hallo,
Ja, es sind gerade viele DOIF Fragen.
Ich hatte mich ein wenig abschrecken lassen
Mit do always klappt es jetzt.
Vielen lieben Dank
Diese Problematik schein in der letzten Zeit häufiger vorzukommen, obwohl es das Modul schon seit fast einem Jahr gibt.
do always ist hier, wie du schon erkannt hast, ungünstig. Die Lösung wird auch bei dir ein DOELSE-Fall ohne Ausführungsteil am Ende sein. Siehe Erklärung von Brockmann:
http://forum.fhem.de/index.php/topic,38930.msg311170.html#msg311170
Gruß
Damian