Heute aber auch vorgestern zeigt mir twilight einen State, der nichts mit der Realität zu tun hat. Warum?
Internals:
.FhemMetaInternals 1
CFGFN ./FHEM/fhem_weather.cfg
DEF 1
FUUID 5ccbe8a2-f33f-e9d9-8e6c-253da75045bf38d4
FVERSION 59_Twilight.pm:0.230820/2020-11-03
INDOOR_HORIZON 1
NAME twilight
NR 1014
NTFY_ORDER 50-twilight
STATE 12
SUNPOS_OFFSET 300
TYPE Twilight
WEATHER_CORRECTION 0
WEATHER_HORIZON 1
.attraggr:
.attrminint:
READINGS:
2020-12-01 18:28:33 aktEvent ss_astro
2020-12-01 21:35:01 azimuth 296.04
2020-11-03 10:06:44 cloudCover -1
2020-12-01 21:35:01 compasspoint west-northwest
2019-01-11 15:04:08 condition 28
2019-01-11 15:04:08 condition_txt Mostly Cloudy
2020-12-01 21:35:01 elevation -46.53
2020-12-01 18:28:33 horizon -18
2020-12-01 18:28:33 light 0
2020-12-01 18:28:33 nextEvent sr_astro
2020-12-01 18:28:33 nextEventTime 06:15:26
2020-12-01 00:00:01 sr 08:23:43
2020-12-01 00:00:01 sr_astro 06:15:26
2020-12-01 00:00:01 sr_civil 07:37:59
2020-12-01 00:00:01 sr_indoor 08:31:50
2020-12-01 00:00:01 sr_naut 06:55:41
2020-12-01 00:00:01 sr_weather 08:31:50
2020-12-01 00:00:01 ss 16:20:18
2020-12-01 00:00:01 ss_astro 18:28:33
2020-12-01 00:00:01 ss_civil 17:06:02
2020-12-01 00:00:01 ss_indoor 16:12:11
2020-12-01 00:00:01 ss_naut 17:48:18
2020-12-01 00:00:01 ss_weather 16:12:11
2020-12-01 18:28:33 state 12
2020-12-01 21:35:01 twilight 0
2020-12-01 21:35:01 twilight_weather 0
TIMER:
twilight_Midnight:
HASH twilight
MODIFIER Midnight
NAME twilight_Midnight
twilight_sr:
HASH twilight
MODIFIER sr
NAME twilight_sr
twilight_sr_astro:
HASH twilight
MODIFIER sr_astro
NAME twilight_sr_astro
twilight_sr_civil:
HASH twilight
MODIFIER sr_civil
NAME twilight_sr_civil
twilight_sr_indoor:
HASH twilight
MODIFIER sr_indoor
NAME twilight_sr_indoor
twilight_sr_naut:
HASH twilight
MODIFIER sr_naut
NAME twilight_sr_naut
twilight_sr_weather:
HASH twilight
MODIFIER sr_weather
NAME twilight_sr_weather
twilight_ss:
HASH twilight
MODIFIER ss
NAME twilight_ss
twilight_ss_astro:
HASH twilight
MODIFIER ss_astro
NAME twilight_ss_astro
twilight_ss_civil:
HASH twilight
MODIFIER ss_civil
NAME twilight_ss_civil
twilight_ss_indoor:
HASH twilight
MODIFIER ss_indoor
NAME twilight_ss_indoor
twilight_ss_naut:
HASH twilight
MODIFIER ss_naut
NAME twilight_ss_naut
twilight_ss_weather:
HASH twilight
MODIFIER ss_weather
NAME twilight_ss_weather
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 1606807423.03
sr_astro:
DEG -18
LIGHT 1
NAME sr_astro
NAMENEXT sr_naut
STATE 1
SWIP 0
TIME 1606799726
sr_civil:
DEG -6
LIGHT 3
NAME sr_civil
NAMENEXT sr
STATE 3
SWIP 0
TIME 1606804679.02
sr_indoor:
DEG 1
LIGHT 5
NAME sr_indoor
NAMENEXT sr_weather
STATE 5
SWIP 0
TIME 1606807910.04
sr_naut:
DEG -12
LIGHT 2
NAME sr_naut
NAMENEXT sr_civil
STATE 2
SWIP 0
TIME 1606802141.01
sr_weather:
DEG 1
LIGHT 6
NAME sr_weather
NAMENEXT ss_weather
STATE 6
SWIP 0
TIME 1606807910.05
ss:
DEG 0
LIGHT 3
NAME ss
NAMENEXT ss_civil
STATE 9
SWIP 0
TIME 1606836018.97
ss_astro:
DEG -18
LIGHT 0
NAME ss_astro
NAMENEXT sr_astro
STATE 12
SWIP 0
TIME 1606843713
ss_civil:
DEG -6
LIGHT 2
NAME ss_civil
NAMENEXT ss_naut
STATE 10
SWIP 0
TIME 1606838762.98
ss_indoor:
DEG 1
LIGHT 4
NAME ss_indoor
NAMENEXT ss
STATE 8
SWIP 0
TIME 1606835531.96
ss_naut:
DEG -12
LIGHT 1
NAME ss_naut
NAMENEXT ss_astro
STATE 11
SWIP 0
TIME 1606841298.99
ss_weather:
DEG 1
LIGHT 5
NAME ss_weather
NAMENEXT ss_indoor
STATE 7
SWIP 0
TIME 1606835531.95
helper:
.LATITUDE 51.457636
.LONGITUDE 6.821997
extWeather:
Attributes:
DbLogExclude .*
group Umwelt
room Wettervorhersage
Hab eine Diskussion zu den Problemen mit Twilight gefunden....
https://forum.fhem.de/index.php/topic,114061.msg1083251.html#msg1083251 (https://forum.fhem.de/index.php/topic,114061.msg1083251.html#msg1083251)
Zitat von: en-trust am 01 Dezember 2020, 22:03:26
Heute aber auch vorgestern zeigt mir twilight einen State, der nichts mit der Realität zu tun hat. Warum?
Habe jetzt einige Zeit auf die list-Infos gestarrt und kann nicht so recht nachvollziehen, wo das Problem liegen soll?
Dabei bin ich davon ausgegangen, dass mit "State" das Reading "state" gemeint ist. Und wenn eben der Astro-Sonnenuntergang durch ist, ist "12" doch korrekt, oder?
Falls du den Eindruck hast, dass da was komplett falsch ist, checke doch bitte deine long/lat-Einstellungen in global.
Also Lat/Long sind korrekt. Ich wollte mit folgendem Statement erreichen, dass ddie Beleichtung zwischen 5:30 und 12:00 und/oder 14:30 und 18:00 angeht wenn es dunkel genug ist (light < 6). Heute Morgen im List zeigt er bei Twilight (e_twilight_light 1).
Soweit so gut. 18:00 (gestern) waren die Lichter aus und bei Twilight stand 12, obwohl ja die Sonne schon zu der Jahreszeit untergegangen ist.
Internals:
DEF ([twilight:light] < 6 and ([05:30-12:00] or [14:30-18:00])) (set GZ.Fensterbeleuchtung_CUL on)
DOELSEIF ([00:05]) (set GZ.Fensterbeleuchtung_CUL off)
DOELSE (set GZ.Fensterbeleuchtung_CUL off)
FUUID 5fc093fe-f33f-e9d9-cca4-2e9d2e10635f645c
MODEL FHEM
NAME GZ.Fensterbeleuchtung_CUL.Auto
NOTIFYDEV global,twilight
NR 1243
NTFY_ORDER 50-GZ.Fensterbeleuchtung_CUL.Auto
STATE cmd_1
TYPE DOIF
VERSION 22913 2020-10-04 21:46:02
.attraggr:
.attrminint:
READINGS:
2020-12-04 06:18:42 Device twilight
2020-12-04 05:30:00 cmd 1
2020-12-04 05:30:00 cmd_event timer_1
2020-12-04 05:30:00 cmd_nr 1
2020-12-04 06:18:42 e_twilight_light 1
2020-12-02 14:53:01 mode enabled
2020-12-04 05:30:00 state cmd_1
2020-12-03 12:00:00 timer_01_c01 04.12.2020 05:30:00
2020-12-03 12:00:00 timer_02_c01 04.12.2020 12:00:00
2020-12-03 18:00:00 timer_03_c01 04.12.2020 14:30:00
2020-12-03 18:00:00 timer_04_c01 04.12.2020 18:00:00
2020-12-04 00:05:00 timer_05_c02 05.12.2020 00:05:00
Regex:
accu:
cond:
twilight:
0:
light ^twilight$:^light:
1:
attr:
cmdState:
wait:
waitdel:
condition:
0 ::ReadingValDoIf($hash,'twilight','light') < 6 and (::DOIF_time($hash,0,1,$wday,$hms) or ::DOIF_time($hash,2,3,$wday,$hms))
1 ::DOIF_time_once($hash,4,$wday)
days:
do:
0:
0 set GZ.Fensterbeleuchtung_CUL on
1:
0 set GZ.Fensterbeleuchtung_CUL off
2:
0 set GZ.Fensterbeleuchtung_CUL off
helper:
DEVFILTER ^global$|^twilight$
NOTIFYDEV global|twilight
event 1,light: 1,horizon: -18,aktEvent: sr_astro,nextEvent: sr_naut,nextEventTime: 06:59:05
globalinit 1
last_timer 5
sleeptimer -1
timerdev twilight
timerevent 1,light: 1,horizon: -18,aktEvent: sr_astro,nextEvent: sr_naut,nextEventTime: 06:59:05
triggerDev twilight
timerevents:
1
light: 1
horizon: -18
aktEvent: sr_astro
nextEvent: sr_naut
nextEventTime: 06:59:05
timereventsState:
state: 1
light: 1
horizon: -18
aktEvent: sr_astro
nextEvent: sr_naut
nextEventTime: 06:59:05
triggerEvents:
1
light: 1
horizon: -18
aktEvent: sr_astro
nextEvent: sr_naut
nextEventTime: 06:59:05
triggerEventsState:
state: 1
light: 1
horizon: -18
aktEvent: sr_astro
nextEvent: sr_naut
nextEventTime: 06:59:05
internals:
interval:
0 -1
1 0
2 -1
3 2
intervalfunc:
intervaltimer:
localtime:
0 1607056200
1 1607079600
2 1607088600
3 1607101200
4 1607123100
readings:
all twilight:light
realtime:
0 05:30:00
1 12:00:00
2 14:30:00
3 18:00:00
4 00:05:00
time:
0 05:30:00
1 12:00:00
2 14:30:00
3 18:00:00
4 00:05:00
timeCond:
0 0
1 0
2 0
3 0
4 1
timer:
0 0
1 0
2 0
3 0
4 0
timers:
0 0 1 2 3
1 4
trigger:
triggertime:
1607079600:
localtime 1607079600
hash:
1607088600:
localtime 1607088600
hash:
1607101200:
localtime 1607101200
hash:
1607123100:
localtime 1607123100
hash:
uiState:
uiTable:
Attributes:
DbLogExclude .*
group Zeitschaltuhr
icon light_on-for-timer
room Automation,IT-Schalter
Oder ist an der Definition des Devise etwas falsch oder sollte es anders gelöst werden ?
([twilight:light] < 6 and ([05:30-12:00] or [14:30-18:00])) (set GZ.Fensterbeleuchtung_CUL on)
DOELSEIF ([00:05]) (set GZ.Fensterbeleuchtung_CUL off)
DOELSE (set GZ.Fensterbeleuchtung_CUL off)
Zitat von: en-trust am 04 Dezember 2020, 07:06:22
Soweit so gut. 18:00 (gestern) waren die Lichter aus und bei Twilight stand 12, obwohl ja die Sonne schon zu der Jahreszeit untergegangen ist.
Das list von gestern (18:28) zeigt für "state" "12", was korrekt war, und für "light" "0", was wohl auch korrekt war. Im Moment kann ich keinen Fehler entdecken, und zu DOIF kann ich wenig sagen, in meinen ungeübten Augen sieht das ok aus.
Sicher, dass dir da nicht was anderes quergeschossen hat?
Wenn das Licht ausgegangen ist, scheint light ja einen Wert angenommen zu haben der gering genug ist.
Verstehe auch noch nicht so ganz welcher Wert dich nun verwundert.
State ist nicht light und hat eine ganz andere Bedeutung.
Siehe Doku zum Modul.
Dass state am Ende des Tages 12 ist, ist IMO völlig korrekt.
Zitat von: en-trust am 04 Dezember 2020, 07:06:22
Also Lat/Long sind korrekt. Ich wollte mit folgendem Statement erreichen, dass ddie Beleichtung zwischen 5:30 und 12:00 und/oder 14:30 und 18:00 angeht wenn es dunkel genug ist (light < 6). Heute Morgen im List zeigt er bei Twilight (e_twilight_light 1).
Soweit so gut. 18:00 (gestern) waren die Lichter aus und bei Twilight stand 12, obwohl ja die Sonne schon zu der Jahreszeit untergegangen ist.
Oder ist an der Definition des Devise etwas falsch oder sollte es anders gelöst werden ?
([twilight:light] < 6 and ([05:30-12:00] or [14:30-18:00])) (set GZ.Fensterbeleuchtung_CUL on)
DOELSEIF ([00:05]) (set GZ.Fensterbeleuchtung_CUL off)
DOELSE (set GZ.Fensterbeleuchtung_CUL off)
Frage,
waqs passiert deiner Meinung nach um 12:01 oder 18:01?
CMD1 = unwahr
CMD2 = unwahr
DOELSE greift.
Also um 12:01 und 18:01 geht das Licht aus.
Jetzt wo Frank geantwortet hat und ich länger auf die Definition schaue, muss es glaube ich so aussehen...
([twilight:light] < 6 and ([05:30-12:00] or [14:30-00:05])) (set GZ.Fensterbeleuchtung_CUL on)
DOELSE (set GZ.Fensterbeleuchtung_CUL off)
Hat also nichts mit dem twilight an sich zu tun. Wobei mir noch nicht klar ist, warum Twilight selbst 12 zeigt, obwohl es finster ist.
Zitat von: en-trust am 04 Dezember 2020, 08:48:42
Hat also nichts mit dem twilight an sich zu tun.
Wie wäre es dann, wenn du den Titel änderst und ein
Zitat[geklärt] Modul Twilight zeigt (keine) falschen Werte
draus machst?
ZitatWobei mir noch nicht klar ist, warum Twilight selbst 12 zeigt, ob es finster ist.
12 steht da, weil es genau so in der Doku (commandref) von Twilight steht, und ansonsten verstehe ich den Satz schon grammatikalisch nicht...
Und Frank wollte dir wohl sagen, dass du den Thread nach "DOIF" verschieben solltest, wenn du jemanden suchst, der die Syntax von diesem Modul erklärt. Mit meinen DAU-Kenntnissen von DOIF würde ich tippen, du solltest dir die Bedeutung von Fragezeichen vergegenwärtigen.