Tag,
ich wundere mich gerade, warum alle meine Twilight-basierenden DOIFs im 5-Minuten-Takt die Timer aktualisiert bekommen. Twilight aktualisiert alle 5 Minuten die Readings azimuth,compasspoint, elevation, twilight und twilight_weather. Die Readings ss_indoor & Co. werden nicht aktualisiert. Muss auch nicht.
Dennoch wird durch die Aktualisierung der "anderen" Readings auch alle DOIFs dahinter aktualisiert. Eigentlich sollten die DOIFs doch nur aktualisiert werden, wenn die eingesetzten Zeiten (ss_indoor & Co.) sich ändern bzw. der Zeitpunkt eintritt.
Stehe ich auf dem Schlauch? Habt ihr einen Tipp für mich?
Danke.
DOIF:
([[twilight:ss_indoor]-[twilight:sr]] )
(set lampe on)
DOELSE
(set lampe off)
DOIF-Log:
2016-03-14_06:52:02 di_lampe timer_1_c1: 14.03.2016 17:51:04
2016-03-14_06:52:02 di_lampe timer_2_c1: 15.03.2016 06:52:02
2016-03-14_06:52:02 di_lampe timer_1_c1: 14.03.2016 17:51:04
2016-03-14_06:52:02 di_lampe timer_2_c1: 15.03.2016 06:52:02
2016-03-14_06:56:41 di_lampe timer_1_c1: 14.03.2016 17:51:04
2016-03-14_06:56:41 di_lampe timer_2_c1: 15.03.2016 06:52:02
2016-03-14_07:01:41 di_lampe timer_1_c1: 14.03.2016 17:51:04
2016-03-14_07:01:41 di_lampe timer_2_c1: 15.03.2016 06:52:02
2016-03-14_07:03:49 di_lampe timer_1_c1: 14.03.2016 17:51:04
2016-03-14_07:03:49 di_lampe timer_2_c1: 15.03.2016 06:52:02
2016-03-14_07:06:41 di_lampe timer_1_c1: 14.03.2016 17:51:04
2016-03-14_07:06:41 di_lampe timer_2_c1: 15.03.2016 06:52:02
2016-03-14_07:11:41 di_lampe timer_1_c1: 14.03.2016 17:51:04
2016-03-14_07:11:41 di_lampe timer_2_c1: 15.03.2016 06:52:02
2016-03-14_07:16:42 di_lampe timer_1_c1: 14.03.2016 17:51:04
2016-03-14_07:16:42 di_lampe timer_2_c1: 15.03.2016 06:52:02
2016-03-14_07:21:42 di_lampe timer_1_c1: 14.03.2016 17:51:04
2016-03-14_07:21:42 di_lampe timer_2_c1: 15.03.2016 06:52:02
2016-03-14_07:26:02 di_lampe timer_1_c1: 14.03.2016 17:51:04
2016-03-14_07:26:02 di_lampe timer_2_c1: 15.03.2016 06:52:02
2016-03-14_07:26:42 di_lampe timer_1_c1: 14.03.2016 17:51:04
2016-03-14_07:26:42 di_lampe timer_2_c1: 15.03.2016 06:52:02
Twilight:
Internals:
CONDITION 20
CONDITION_TXT Mist
DEF xxx xxx 6 xxxxxx
INDOOR_HORIZON 6
NAME twilight
NR 201
STATE 100
SUNPOS_OFFSET 300
SWIP 0
TEMPERATUR -1
TYPE Twilight
WEATHER xxxxxx
WEATHER_CORRECTION 8
WEATHER_HORIZON 14
Readings:
2016-03-14 09:20:07 aktEvent sr_weather
2016-03-14 09:49:51 azimuth 131.22
2016-03-14 09:49:51 compasspoint east-southeast
2016-03-14 09:19:50 condition 20
2016-03-14 09:19:50 condition_txt Mist
2016-03-14 09:49:51 elevation 26.14
2016-03-14 09:20:07 horizon 14
2016-03-14 09:20:07 light 6
2016-03-14 09:20:07 nextEvent ss_weather
2016-03-14 09:20:07 nextEventTime 16:56:26
2016-03-14 09:19:50 sr 06:49:43
2016-03-14 09:19:50 sr_astro 04:50:05
2016-03-14 09:19:50 sr_civil 06:10:36
2016-03-14 09:19:50 sr_indoor 07:29:06
2016-03-14 09:19:50 sr_naut 05:31:00
2016-03-14 09:19:50 sr_weather 08:23:28
2016-03-14 09:19:50 ss 18:30:36
2016-03-14 09:19:50 ss_astro 20:30:31
2016-03-14 09:19:50 ss_civil 19:09:50
2016-03-14 09:19:50 ss_indoor 17:51:04
2016-03-14 09:19:50 ss_naut 19:49:30
2016-03-14 09:19:50 ss_weather 16:56:26
2016-03-14 09:20:07 state 6
2016-03-14 09:49:51 twilight 100
2016-03-14 09:49:51 twilight_weather 100
Timer:
Twilight_midnight:
HASH twilight
MODIFIER Midnight
NAME twilight_Midnight
Twilight_perltime:
HASH twilight
MODIFIER perlTime
NAME twilight_perlTime
Twilight_sr:
DEG 0
HASH twilight
LIGHT 4
MODIFIER sr
NAME twilight_sr
NAMENEXT sr_indoor
STATE 4
SWIP 0
TIME 1457934583.03
Twilight_sr_astro:
DEG -18
HASH twilight
LIGHT 1
MODIFIER sr_astro
NAME twilight_sr_astro
NAMENEXT sr_naut
STATE 1
SWIP 0
TIME 1457927405
Twilight_sr_civil:
DEG -6
HASH twilight
LIGHT 3
MODIFIER sr_civil
NAME twilight_sr_civil
NAMENEXT sr
STATE 3
SWIP 0
TIME 1457932236.02
Twilight_sr_indoor:
DEG 6
HASH twilight
LIGHT 5
MODIFIER sr_indoor
NAME twilight_sr_indoor
NAMENEXT sr_weather
STATE 5
SWIP 0
TIME 1457936946.04
Twilight_sr_naut:
DEG -12
HASH twilight
LIGHT 2
MODIFIER sr_naut
NAME twilight_sr_naut
NAMENEXT sr_civil
STATE 2
SWIP 0
TIME 1457929860.01
Twilight_sr_weather:
DEG 14
HASH twilight
LIGHT 6
MODIFIER sr_weather
NAME twilight_sr_weather
NAMENEXT ss_weather
STATE 6
SWIP 0
TIME 1457940208.05
Twilight_ss:
DEG 0
HASH twilight
LIGHT 3
MODIFIER ss
NAME twilight_ss
NAMENEXT ss_civil
STATE 9
SWIP 0
TIME 1457976636.97
Twilight_ss_astro:
DEG -18
HASH twilight
LIGHT 0
MODIFIER ss_astro
NAME twilight_ss_astro
NAMENEXT sr_astro
STATE 12
SWIP 0
TIME 1457983831
Twilight_ss_civil:
DEG -6
HASH twilight
LIGHT 2
MODIFIER ss_civil
NAME twilight_ss_civil
NAMENEXT ss_naut
STATE 10
SWIP 0
TIME 1457978990.98
Twilight_ss_indoor:
DEG 6
HASH twilight
LIGHT 4
MODIFIER ss_indoor
NAME twilight_ss_indoor
NAMENEXT ss
STATE 8
SWIP 0
TIME 1457974264.96
Twilight_ss_naut:
DEG -12
HASH twilight
LIGHT 1
MODIFIER ss_naut
NAME twilight_ss_naut
NAMENEXT ss_astro
STATE 11
SWIP 0
TIME 1457981370.99
Twilight_ss_weather:
DEG 14
HASH twilight
LIGHT 5
MODIFIER ss_weather
NAME twilight_ss_weather
NAMENEXT ss_indoor
STATE 7
SWIP 0
TIME 1457970986.95
Twilight_sunpos:
HASH twilight
MODIFIER sunpos
NAME twilight_sunpos
Tw:
Sr:
DEG 0
LIGHT 4
NAME sr
NAMENEXT sr_indoor
STATE 4
SWIP 0
TIME 1457934583.03
Sr_astro:
DEG -18
LIGHT 1
NAME sr_astro
NAMENEXT sr_naut
STATE 1
SWIP 0
TIME 1457927405
Sr_civil:
DEG -6
LIGHT 3
NAME sr_civil
NAMENEXT sr
STATE 3
SWIP 0
TIME 1457932236.02
Sr_indoor:
DEG 6
LIGHT 5
NAME sr_indoor
NAMENEXT sr_weather
STATE 5
SWIP 0
TIME 1457936946.04
Sr_naut:
DEG -12
LIGHT 2
NAME sr_naut
NAMENEXT sr_civil
STATE 2
SWIP 0
TIME 1457929860.01
Sr_weather:
DEG 14
LIGHT 6
NAME sr_weather
NAMENEXT ss_weather
STATE 6
SWIP 0
TIME 1457940208.05
Ss:
DEG 0
LIGHT 3
NAME ss
NAMENEXT ss_civil
STATE 9
SWIP 0
TIME 1457976636.97
Ss_astro:
DEG -18
LIGHT 0
NAME ss_astro
NAMENEXT sr_astro
STATE 12
SWIP 0
TIME 1457983831
Ss_civil:
DEG -6
LIGHT 2
NAME ss_civil
NAMENEXT ss_naut
STATE 10
SWIP 0
TIME 1457978990.98
Ss_indoor:
DEG 6
LIGHT 4
NAME ss_indoor
NAMENEXT ss
STATE 8
SWIP 0
TIME 1457974264.96
Ss_naut:
DEG -12
LIGHT 1
NAME ss_naut
NAMENEXT ss_astro
STATE 11
SWIP 0
TIME 1457981370.99
Ss_weather:
DEG 14
LIGHT 5
NAME ss_weather
NAMENEXT ss_indoor
STATE 7
SWIP 0
TIME 1457970986.95
Attributes:
event-on-change-reading .*
stateFormat twilight_weather
Mit dieser Version werden zumindest keine Events beim Setzen der Timer erzeugt. Sie wird bald eingecheckt werden.
https://forum.fhem.de/index.php/topic,49109.msg424219.html#msg424219
Gruß
Damian
also muss ich nicht im Twilight-Modul die Ursache suchen?
Gut, dass ich den Thread dann ins DOIF-Forum verschoben habe. ;-)
Zitat von: FunkOdyssey am 14 März 2016, 20:04:45
also muss ich nicht im Twilight-Modul die Ursache suchen?
Gut, dass ich den Thread dann ins DOIF-Forum verschoben habe. ;-)
Die 5-minutige Aktualisierung der Timer ist natürlich suboptimal. Du könntest in Twilight das Attribut event-min-interval setzen, um die Intervalle höher zu setzen.
Edit:
Du kannst das Zeitintervall auch so definieren:
([{ReadingsVal ("twilight","ss_indoor","00:00")}-{ReadingsVal ("twilight","sr","00:00")}])...
hier wird die Zeit nicht ständig aktualisiert, sondern nur wenn der Timer zuschlägt.
Aber es werden doch IM Twilight-Modul die Zeiten gar nicht aktualisiert.
Es werden ja ganz andere Readings periodisch aktualisiert. Die Zeiten stehen fest und werden nur einmal am Tag geändert. Woher kommen dann die 5-minütigen Updates der Timer im DOIF.
Zitat von: FunkOdyssey am 14 März 2016, 20:28:14
Aber es werden doch IM Twilight-Modul die Zeiten gar nicht aktualisiert.
Es werden ja ganz andere Readings periodisch aktualisiert. Die Zeiten stehen fest und werden nur einmal am Tag geändert. Woher kommen dann die 5-minütigen Updates der Timer im DOIF.
Das ist egal, Zitat aus der Commandref:
ZitatDas Modul wird getriggert, sobald das angegebene Device hier "remotecontrol" ein Event erzeugt. Das geschieht, wenn irgendein Reading oder der Status von "remotecontrol" aktualisiert wird.
Das gilt auch für Timer-Readings.
Du könntest aber auch die Events im Twilight-Modul auf die beiden oben begrenzen mit event-on-update-reading.
Oops. Das habe ich jetzt jahrelang missverstanden.
Alle anderen Lösungen machen bei mir kaum Sinn. Ich brauche das Modul bzw. einige Readings recht zeitnah. Mal schauen. Aber dann weißlich wenigstens, dass es kein Bug ist.
Danke (mal wieder).
Zitat von: FunkOdyssey am 14 März 2016, 21:06:54
Oops. Das habe ich jetzt jahrelang missverstanden.
Alle anderen Lösungen machen bei mir kaum Sinn. Ich brauche das Modul bzw. einige Readings recht zeitnah. Mal schauen. Aber dann weißlich wenigstens, dass es kein Bug ist.
Danke (mal wieder).
ja das Problem ist, dass in FHEM ein State-Event nicht eindeutig ist. Damit wäre z. B. bei [[mydummy]] der dazugehörige Trigger nicht eindeutig erkennbar, daher auf alle Events des Devices.
Was mich hier zusätzlich wundert: Es werden auch DOIFs zyklisch aktualisiert, die das Twilight-Modul nur auslesen und nicht auf die Events reagieren sollen.
[?[twilight:ss_indoor]-01:00]
Mit der neue Ostern-Version (https://forum.fhem.de/index.php/topic,51060.0.html) treten diese periodischen Aktualisierungen bei beiden Schreibweisen (mit/ohne ?) nicht mehr auf.