Hallo zusammen,
ich hab versucht im FHEM meinen Rollladen und Türkontakt der Terrassentüre ein wenig intelligenter zu Steuern.
Leider funktioniert es nicht ganz so wie ich mir das vorgestellt habe :-(
Entweder fährt er abends nicht runter oder morgens nicht hoch. Leider kann ich es nicht nachvollziehen.
Hat jemand eine Idee an was es liegen könnte?
Mein Ziel ist es eigentlich das der Rollladen nicht runterfährt wenn der Türkontakt offen ist. Wenn die Türe aber nach der eigentlichen Runterfahr Zeit geschlossen wird, soll der Rollladen runterfahren. Genau hier liegt mein Problem :-(
Des Weiteren war die Idee wenn der Rollladen geschlossen ist und ich die Türe öffne fährt der Rollladen zum Lüften auf 50% hoch und beim Schließen der Türe wieder komplett zu geht. Dies funktioniert immer :-)
(["KT_EG_FLUR_TUE:^open$"] and [?RL_EG_FLUR_TUE] eq "down") (set RL_EG_FLUR_TUE pct 50) DOELSEIF
(["KT_EG_FLUR_TUE:^closed$"] and [?RL_EG_FLUR_TUE] eq "up" and [?20:30-02:00]) (set RL_EG_FLUR_TUE down) DOELSEIF
(["KT_EG_FLUR_TUE:^closed$"] and [?RL_EG_FLUR_TUE] eq "50") (set RL_EG_FLUR_TUE down) DOELSEIF
([{sunrise(0,"06:30","09:00")}]) (set RL_EG_FLUR_TUE up) DOELSEIF
([{sunset (0,"20:30","21:00")}] and ["KT_EG_FLUR_TUE:^closed$"] and [?RL_EG_FLUR_TUE] eq "up") (set RL_EG_FLUR_TUE down)
Gruß
Michael
ZitatMein Ziel ist es eigentlich das der Rollladen nicht runterfährt wenn der Türkontakt offen ist. Wenn die Türe aber nach der eigentlichen Runterfahr Zeit geschlossen wird, soll der Rollladen runterfahren.
Du musst die Zeitspanne angeben, in der der Rolladen runterfahren soll https://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung_mit_Zeitintervallen
ZitatDes Weiteren war die Idee wenn der Rollladen geschlossen ist und ich die Türe öffne fährt der Rollladen zum Lüften auf 50% hoch und beim Schließen der Türe wieder komplett zu geht. Dies funktioniert immer :-)
Woher soll DOIF wissen wann Du lüftest oder vollständig öffen möchtest? Da müsstest Du Dir eine Bedingung überlegen.
Hallo Ellert,
hiermit gebe ich doch an wann der Rollladen runterfahren soll oder nicht
([{sunset (0,"20:30","21:00")}] and ["KT_EG_FLUR_TUE:^closed$"] and [?RL_EG_FLUR_TUE] eq "up") (set RL_EG_FLUR_TUE down)
Zwischen 20:30 und 21:00 wenn der Sonnenuntergang dazwischen liegt und die Türe geschlossen ist.
Hier ist der Abschnitt wann ich Lüften möchte
(["KT_EG_FLUR_TUE:^open$"] and [?RL_EG_FLUR_TUE] eq "down") (set RL_EG_FLUR_TUE pct 50)
Der Rollladen fährt zu 50% hoch wenn die Türe aufgemacht wird und der Rollladen komplett unten war.
Hab ich nen Denkfehler drin?
Gruß
Michael
ZitatEntweder fährt er abends nicht runter oder morgens nicht hoch. Leider kann ich es nicht nachvollziehen.
Ja wie jetzt. Beides funktioniert nicht oder nur manchmal eines der beiden? Was heist hier entweder?
Was mich auch verwirrt ist das die zweite zeile deines doifs fast gleich der letzten ist, das könnte man kombinieren. hier soll die zweite wahrscheinlich rolladen runter machen wenn du abends reingehst. Aber warum nur bis zwei würde doch eigentlich bis sunrise notwendig sein.
Hast du noch attribute vom doif gesetzt? Ein list wäre bicht schlecht.
Ich hatte mir das mit der tür eigentlich genau so vorgestellt wie du, das die rolladen fahren wenn der türkontakt betätigt wurde, nur habe ich mir dann gedacht, da ich eh an der tür stehe ist es ja kein problem noch auf den rolladen zu drücken. Darum habe ich diese funktion wieder entfernt. Das nur am Rande.
Ich bin nicht immer daheim und muss mich auf die Aussage meiner Frau verlassen wann der Rollladen runtergefahren ist :-)
Die zweite Zeile sollte eigentlich den Rollladen runterfahren wenn ich die Türe um 22 Uhr zumache, da die fünfte Zeile da ja nicht mehr gültig ist.
Der Schalter für den Rollladen ist ca. 5 Meter entfernt da ich direkt am Rollladen keinen Strom hatte und das Kabel anderweitig verlegen musste.
Attribute habe ich keine gesetzt.
Hier der List von meinem Türkontakt:
Internals:
DEF 4C17DD
HMLAN1_MSGCNT 119
HMLAN1_RAWMSG E4C17DD,0000,A8FDD187,FF,FFC1,9286104C17DD00000006010000
HMLAN1_RSSI -63
HMLAN1_TIME 2017-04-22 00:16:11
IODev HMLAN1
LASTInputDev HMLAN1
MSGCNT 119
NAME KT_EG_FLUR_TUE
NOTIFYDEV global
NR 38
NTFY_ORDER 50-KT_EG_FLUR_TUE
STATE closed
TYPE CUL_HM
lastMsg No:92 - t:10 s:4C17DD d:000000 06010000
protCmdDel 4
protLastRcv 2017-04-22 00:16:11
protNack 1 last_at:2017-04-17 19:08:17
protSnd 1 last_at:2017-04-17 19:08:17
protState CMDs_done_Errors:1
rssi_at_HMLAN1 max:-61 cnt:119 avg:-63.28 min:-75 lst:-63
Readings:
2017-04-21 23:27:20 Activity alive
2017-04-17 19:08:17 CommandAccepted no
2016-06-21 20:05:54 D-firmware 1.0
2016-06-21 20:05:54 D-serialNr NEQ0631224
2017-04-22 00:16:11 alive yes
2017-04-22 00:16:11 battery ok
2017-04-22 00:16:11 contact closed (to broadcast)
2017-01-02 21:08:18 powerOn 2017-01-02 21:08:18
2017-04-22 00:16:11 recentStateType info
2017-04-22 00:16:11 sabotageError off
2017-04-22 00:16:11 state closed
2017-04-21 20:48:28 trigDst_broadcast noConfig
2017-04-21 20:48:28 trigger_cnt 86
Helper:
HM_CMDNR 146
getCfgList all
getCfgListNo ,4
mId 00C7
rxType 28
supp_Pair_Rep 0
Expert:
def 1
det 0
raw 1
tpl 0
Io:
newChn +4C17DD,00,00,00
nextSend 1492812971.68706
prefIO
rxt 2
vccu
p:
4C17DD
00
00
00
Mrssi:
mNo 92
Io:
HMLAN1 -61
Prt:
bErr 0
sProc 0
Rspwait:
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
Rssi:
At_hmlan1:
avg -63.2857142857143
cnt 119
lst -63
max -61
min -75
Attributes:
IODev HMLAN1
actCycle 000:50
actStatus alive
autoReadReg 4_reqStatus
expert 2_raw
firmware 1.0
model HM-SEC-SCo
room CUL_HM
serialNr NEQ0631224
subType threeStateSensor
und der List vom Rollladen:
Internals:
DEF 4AD25C
HMLAN1_MSGCNT 14
HMLAN1_RAWMSG E4AD25C,0000,A8404484,FF,FFC8,AEA4104AD25C123ABC06010000
HMLAN1_RSSI -56
HMLAN1_TIME 2017-04-21 20:49:11
IODev HMLAN1
LASTInputDev HMLAN1
MSGCNT 14
NAME RL_EG_FLUR_TUE
NOTIFYDEV global
NR 41
NTFY_ORDER 50-RL_EG_FLUR_TUE
STATE down
TYPE CUL_HM
lastMsg No:AE - t:10 s:4AD25C d:123ABC 06010000
protLastRcv 2017-04-21 20:49:11
protSnd 14 last_at:2017-04-21 20:49:11
protState CMDs_done
rssi_HMLAN1 max:-55 cnt:6 lst:-56 min:-58 avg:-55.83
rssi_at_HMLAN1 max:-53 cnt:14 min:-59 avg:-55.28 lst:-56
Readings:
2017-04-21 20:48:28 CommandAccepted yes
2016-06-18 10:34:58 D-firmware 2.8
2016-06-18 10:34:58 D-serialNr NEQ0394556
2016-06-18 10:35:13 PairedTo 0x123ABC
2016-06-18 11:15:12 R-driveDown set_37 s
2016-06-18 10:35:14 R-driveTurn 0.5 s
2016-06-18 11:15:22 R-driveUp set_37 s
2016-06-18 10:35:13 R-pairCentral 0x123ABC
2016-06-18 10:35:14 R-sign off
2016-06-18 10:35:13 RegL_00. 02:01 0A:12 0B:3A 0C:BC 15:FF 18:00 00:00
2016-06-18 10:35:14 RegL_01. 08:00 09:00 0A:00 0B:01 0C:F4 0D:01 0E:F4 0F:05 10:00 30:06 57:24 56:00 00:00
2017-04-21 20:49:11 deviceMsg off (to HMLAN1)
2017-04-21 20:49:11 level 0
2017-04-21 20:49:11 motor stop:off
2017-04-21 20:49:11 pct 0
2016-08-13 09:55:19 powerOn 2016-08-13 09:55:19
2017-04-21 20:49:11 recentStateType info
2017-04-21 20:49:11 state off
2017-04-21 20:49:11 timedOn off
Helper:
HM_CMDNR 174
cSnd 11123ABC4AD25C0201000000,11123ABC4AD25C0201000000
dlvlCmd ++A011123ABC4AD25C0201000000
mId 006A
rxType 1
supp_Pair_Rep 0
Dir:
cur stop
rct down
Expert:
def 1
det 0
raw 1
tpl 0
Io:
newChn +4AD25C,00,00,00
nextSend 1492800551.36542
prefIO
rxt 0
vccu
p:
4AD25C
00
00
00
Mrssi:
mNo AE
Io:
HMLAN1 -54
Prt:
bErr 0
sProc 0
Rspwait:
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
prs 1
Rpt:
IO HMLAN1
flg A
ts 1492800551.27971
ack:
HASH(0x2d4bed8)
AE8002123ABC4AD25C00
Rssi:
Hmlan1:
avg -55.8333333333333
cnt 6
lst -56
max -55
min -58
At_hmlan1:
avg -55.2857142857143
cnt 14
lst -56
max -53
min -59
Attributes:
IODev HMLAN1
autoReadReg 0_off
devStateIcon up:fts_shutter_10@green down:fts_shutter_100@black 9\d.*:fts_shutter_10 8\d.*:fts_shutter_20 7\d.*:fts_shutter_30 6\d.*:fts_shutter_40 5\d.*:fts_shutter_50 4\d.*:fts_shutter_60 3\d.*:fts_shutter_70 2\d.*:fts_shutter_80 1\d.*:fts_shutter_90 0\d.*:fts_shutter_100
eventMap off:down on:up
expert 2_raw
firmware 2.8
model HM-LC-Bl1PBU-FM
peerIDs 00000000,
room CUL_HM
serialNr NEQ0394556
subType blindActuator
webCmd stop:up:90:80:70:60:50:40:30:20:10:down
Das Problem bei mir ist eben das ich das Fehlerbild nicht ganz peile. Das macht es eben schwieriger nachzuvollziehen.
Geht es jetzt nie oder nicht immer mit dem morgens hoch fahren? Wenn nur manchmal nicht fehlt vielleicht das Attribut do always obwohl das eigentlich unlogisch wäre, schaden kann es jedenfalls nicht.
Gibt denn das Log irgendwas aus wenn er Mal nicht morgens hoch ist?
Zitat von: michaelapp am 21 April 2017, 20:43:17
Hallo Ellert,
hiermit gebe ich doch an wann der Rollladen runterfahren soll oder nicht
([{sunset (0,"20:30","21:00")}] and ["KT_EG_FLUR_TUE:^closed$"] and [?RL_EG_FLUR_TUE] eq "up") (set RL_EG_FLUR_TUE down)
Zwischen 20:30 und 21:00 wenn der Sonnenuntergang dazwischen liegt und die Türe geschlossen ist.
Hier ist der Abschnitt wann ich Lüften möchte
(["KT_EG_FLUR_TUE:^open$"] and [?RL_EG_FLUR_TUE] eq "down") (set RL_EG_FLUR_TUE pct 50)
Der Rollladen fährt zu 50% hoch wenn die Türe aufgemacht wird und der Rollladen komplett unten war.
Hab ich nen Denkfehler drin?
Gruß
Michael
Du verküpfst hier
([{sunset (0,"20:30","21:00")}] and ["KT_EG_FLUR_TUE:^closed$"] and [?RL_EG_FLUR_TUE] eq "up") (set RL_EG_FLUR_TUE down)
Events mit "and" die sind nur zum Zeitpunkt ihres Erscheinen wahr. Es ist sehr unwahrscheinlich dass die Tür genau zum Zeitpunkt von "sunset" geschlossen wird. Also
[{sunset}] and [?Tür] eq "closed" or [?{sunset}-"HH:MM"] and [Tür:"closed"]
ZitatDer Rollladen fährt zu 50% hoch wenn die Türe aufgemacht wird und der Rollladen komplett unten war.
Das bedeutet, dass Du nur dann vollständig öffnen kannst, wenn Du vorher lüftest.
ZitatIch bin nicht immer daheim und muss mich auf die Aussage meiner Frau verlassen wann der Rollladen runtergefahren ist :-)
Wenn Du eine nachvollziehbare Information zum Schaltverhalten benötigst, solltest Du das DOIF loggen, etwa wie hier beschrieben: https://wiki.fhem.de/wiki/DOIFtools#Erstellen_eines_Debug-Logfile mit specialLog.