Hallo Zusammen,
eine ganz banale Frage. Ich habe einen HM... Homematic schalter für meine Rollläden. Diese steuere ich über Anwesenheit bzw. Zeit/Tag/Nacht Soweit so gut... Jetzt schaltet das Relais (klackt) alle Stunde, obwohl der Rolladen schon unten oder oben ist. Ich vermute, dass Fhem Daten bekommt, dass es jetzt gerade hell oder dunkel ist und das jede Stunde prüft. Das gibt fhem dann an das Relaise und das soll dann ja was tun, wenn hell hoch- und wenn dunkel runterfahren. Wenn das Rollo aber schon unten ist, klackt das Relais nur.
Aber eigentlich geht man doch davon aus, dass das Relaise dann gar nichts tun soll, wenn der status des Rollo schon auf off/unten steht.
ein List folgt....
Zitat von: en-trust am 14 Februar 2020, 10:19:17
Hallo Zusammen,
eine ganz banale Frage. Ich habe einen HM... Homematic schalter für meine Rollläden. Diese steuere ich über Anwesenheit bzw. Zeit/Tag/Nacht Soweit so gut... Jetzt schaltet das Relais (klackt) alle Stunde, obwohl der Rolladen schon unten oder oben ist. Ich vermute, dass Fhem Daten bekommt, dass es jetzt gerade hell oder dunkel ist und das jede Stunde prüft. Das gibt fhem dann an das Relaise und das soll dann ja was tun, wenn hell hoch- und wenn dunkel runterfahren. Wenn das Rollo aber schon unten ist, klackt das Relais nur.
Aber eigentlich geht man doch davon aus, dass das Relaise dann gar nichts tun soll, wenn der status des Rollo schon auf off/unten steht.
ein List folgt....
richtig, wenn es nicht klacken soll, dann darfst du den Rollladen nicht runterfahren, wenn er bereits runtergefahren wurde. Es klackt auch, wenn man den Schalter "runter" betätigt, obwohl der Rollladen schon unten ist.
Gibt es eine Möglichkeit dies zu unterbinden?
Vermutlich abfragen wenn Status nicht unten dann mach was.
Du kannst nicht Fragen stelle ohne das Licht an zumachen ;D
Zitatein List folgt....
Allgemein:
Gleiche Events verhindern event-on-change-reading
Status abfragen
meine Definition lautet momentan...
([Modus_RL] eq "Auto" and ([08:00|Mo Di Mi Do Fr] or [09:15|Sa So])) (set SZ.Jalousie.Links 95)
DOELSEIF ([Modus_RL] eq "Auto" and [Tageslicht] eq "dunkel") (set SZ.Jalousie.Links 0)
besser so ?
DOELSEIF ([Modus_RL] eq "Auto" and [Tageslicht] eq "dunkel" and [SZ.Jalousie.Links:pct] > 0) (set SZ.Jalousie.Links 0)
pct:0
Ich verstehe das mit dem Relais klicken dann so, wenn das Event Tageslicht stetig einen Status sendet, das Relais dann auch immer anspringt.
Internals:
CFGFN ./FHEM/fhem_activeactors.cfg
DEF ([Modus_RL] eq "Auto" and ([08:00|Mo Di Mi Do Fr] or [09:15|Sa So])) (set SZ.Jalousie.Links 95)
DOELSEIF ([Modus_RL] eq "Auto" and [Tageslicht] eq "dunkel") (set SZ.Jalousie.Links 0)
DOELSEIF ([Modus_RL] eq "Holiday" and [Tageslicht] eq "hell") (set SZ.Jalousie.Links 95)
DOELSEIF ([Modus_RL] eq "Holiday" and [Tageslicht] eq "dunkel") (set SZ.Jalousie.Links 0)
DOELSEIF ([Modus_RL] eq "Away" and ([08:00|Mo Di Mi Do Fr] or [09:15|Sa So])) (set SZ.Jalousie.Links 95)
DOELSEIF ([Modus_RL] eq "Away" and ([21:30|Mo Di Mi Do Fr] or [22:00|Sa So])) (set SZ.Jalousie.Links 0)
DOELSEIF ([Modus_RL] eq "XMas" and ([07:30|Mo Di Mi Do Fr] or [09:15|Sa So])) (set SZ.Jalousie.Links 95)
DOELSEIF ([Modus_RL] eq "XMas" and ([22:30|Mo Di Mi Do Fr] or [22:00|Sa So])) (set SZ.Jalousie.Links 0)
FUUID 5ccbe868-f33f-e9d9-ff9b-e9df6dfc4987bbc5
MODEL FHEM
NAME SZ.Jalousie.Links.Auto
NOTIFYDEV global,Modus_RL,Tageslicht
NR 231
NTFY_ORDER 50-SZ.Jalousie.Links.Auto
STATE cmd_2
TYPE DOIF
VERSION 20929 2020-01-10 09:44:35
Helper:
DBLOG:
state:
logdb:
TIME 1581779203.13575
VALUE checkall
READINGS:
2020-02-15 15:39:29 Device Modus_RL
2020-02-14 02:39:12 cmd 2
2020-02-14 02:39:12 cmd_event Modus_RL
2020-02-14 02:39:12 cmd_nr 2
2020-02-15 15:39:29 e_Modus_RL_STATE Auto
2020-02-15 07:42:41 e_Tageslicht_STATE hell
2020-02-06 02:28:54 mode enabled
2020-02-14 02:39:12 state cmd_2
2020-02-15 15:41:14 timer_01_c01 16.02.2020 08:00:00|MoDiMiDoFr
2020-02-15 15:41:14 timer_02_c01 16.02.2020 09:15:00|SaSo
2020-02-15 15:41:14 timer_03_c05 16.02.2020 08:00:00|MoDiMiDoFr
2020-02-15 15:41:14 timer_04_c05 16.02.2020 09:15:00|SaSo
2020-02-15 15:41:14 timer_05_c06 15.02.2020 21:30:00|MoDiMiDoFr
2020-02-15 15:41:14 timer_06_c06 15.02.2020 22:00:00|SaSo
2020-02-15 15:41:14 timer_07_c07 16.02.2020 07:30:00|MoDiMiDoFr
2020-02-15 15:41:14 timer_08_c07 16.02.2020 09:15:00|SaSo
2020-02-15 15:41:14 timer_09_c08 15.02.2020 22:30:00|MoDiMiDoFr
2020-02-15 15:41:14 timer_10_c08 15.02.2020 22:00:00|SaSo
Regex:
accu:
cond:
Modus_RL:
0:
&STATE ^Modus_RL$
1:
&STATE ^Modus_RL$
2:
&STATE ^Modus_RL$
3:
&STATE ^Modus_RL$
4:
&STATE ^Modus_RL$
5:
&STATE ^Modus_RL$
6:
&STATE ^Modus_RL$
7:
&STATE ^Modus_RL$
Tageslicht:
1:
&STATE ^Tageslicht$
2:
&STATE ^Tageslicht$
3:
&STATE ^Tageslicht$
condition:
0 ::InternalDoIf($hash,'Modus_RL','STATE') eq "Auto" and (::DOIF_time_once($hash,0,$wday,"MoDiMiDoFr") or ::DOIF_time_once($hash,1,$wday,"SaSo"))
1 ::InternalDoIf($hash,'Modus_RL','STATE') eq "Auto" and ::InternalDoIf($hash,'Tageslicht','STATE') eq "dunkel"
2 ::InternalDoIf($hash,'Modus_RL','STATE') eq "Holiday" and ::InternalDoIf($hash,'Tageslicht','STATE') eq "hell"
3 ::InternalDoIf($hash,'Modus_RL','STATE') eq "Holiday" and ::InternalDoIf($hash,'Tageslicht','STATE') eq "dunkel"
4 ::InternalDoIf($hash,'Modus_RL','STATE') eq "Away" and (::DOIF_time_once($hash,2,$wday,"MoDiMiDoFr") or ::DOIF_time_once($hash,3,$wday,"SaSo"))
5 ::InternalDoIf($hash,'Modus_RL','STATE') eq "Away" and (::DOIF_time_once($hash,4,$wday,"MoDiMiDoFr") or ::DOIF_time_once($hash,5,$wday,"SaSo"))
6 ::InternalDoIf($hash,'Modus_RL','STATE') eq "XMas" and (::DOIF_time_once($hash,6,$wday,"MoDiMiDoFr") or ::DOIF_time_once($hash,7,$wday,"SaSo"))
7 ::InternalDoIf($hash,'Modus_RL','STATE') eq "XMas" and (::DOIF_time_once($hash,8,$wday,"MoDiMiDoFr") or ::DOIF_time_once($hash,9,$wday,"SaSo"))
days:
0 MoDiMiDoFr
1 SaSo
2 MoDiMiDoFr
3 SaSo
4 MoDiMiDoFr
5 SaSo
6 MoDiMiDoFr
7 SaSo
8 MoDiMiDoFr
9 SaSo
do:
0:
0 set SZ.Jalousie.Links 95
1:
0 set SZ.Jalousie.Links 0
2:
0 set SZ.Jalousie.Links 95
3:
0 set SZ.Jalousie.Links 0
4:
0 set SZ.Jalousie.Links 95
5:
0 set SZ.Jalousie.Links 0
6:
0 set SZ.Jalousie.Links 95
7:
0 set SZ.Jalousie.Links 0
8:
helper:
DEVFILTER ^global$|^Modus_RL$|^Tageslicht$
NOTIFYDEV global|Modus_RL|Tageslicht
globalinit 1
last_timer 10
sleeptimer -1
triggerDev
internals:
all Modus_RL:STATE Tageslicht:STATE
intervalfunc:
localtime:
0 1581836400
1 1581840900
2 1581836400
3 1581840900
4 1581798600
5 1581800400
6 1581834600
7 1581840900
8 1581802200
9 1581800400
perlblock:
realtime:
0 08:00:00
1 09:15:00
2 08:00:00
3 09:15:00
4 21:30:00
5 22:00:00
6 07:30:00
7 09:15:00
8 22:30:00
9 22:00:00
time:
0 08:00:00
1 09:15:00
2 08:00:00
3 09:15:00
4 21:30:00
5 22:00:00
6 07:30:00
7 09:15:00
8 22:30:00
9 22:00:00
timeCond:
0 0
1 0
2 4
3 4
4 5
5 5
6 6
7 6
8 7
9 7
timer:
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
timers:
0 0 1
4 2 3
5 4 5
6 6 7
7 8 9
triggertime:
1581798600:
localtime 1581798600
hash:
1581800400:
localtime 1581800400
hash:
1581802200:
localtime 1581802200
hash:
1581834600:
localtime 1581834600
hash:
1581836400:
localtime 1581836400
hash:
1581840900:
localtime 1581840900
hash:
uiState:
uiTable:
Attributes:
do always
group Jalousien-Zeitgeber
icon fts_shutter_automatic
room Automation
eiegntlich sieht es so aus als ob Modus ständig plappert:
2020-02-15 15:39:29 e_Modus_RL_STATE Auto
2020-02-15 07:42:41 e_Tageslicht_STATE hell
Liegt wohl am Handy was sich ständig am wlan abmeldet.
Aber mit der Prüfung auf pct der Jalousie würde ich das klicken doch auch verhindern, oder ?
Ich mache das einfach so:
set Rollo.*:FILTER=state!=on on
oder so
set Rollo.*:FILTER=state=on off
Damit kannst Du beliebige Dinge quasi am Device merken, ich setze manche Rollo auf 95 % damit sie aus einer Logik rausfallen. 95% ist quasi unsichtbar aber eben nicht on.
Aber wo und wie Du die Abfrage einbaust ist Geschmacksache :) Trotzdem würde ich unnötigen Events auf die Spur gehen.