Twilight - Maintainership (orphan 2020)

Begonnen von Beta-User, 05 September 2020, 10:06:33

Vorheriges Thema - Nächstes Thema

yersinia

#120
Also hier der Test mit PROPLANTA, inklusive Fehler - da ich kein Reading angegeben habe, nur ein Device. So hatte ich dich verstanden.

List TwilightTEST Device:
Internals:
   .FhemMetaInternals 1
   CFGFN     
   DEF        2 WetterProplanta
   FUUID      5f8b3af5-f33f-3151-f70b-fdcb316c50c9dd5b
   FVERSION   59_Twilight.pm:?/2020-10-17 UNSTABLE
   INDOOR_HORIZON 2
   NAME       TwilightTEST
   NOTIFYDEV  WetterProplanta
   NR         462
   NTFY_ORDER 50-TwilightTEST
   STATE      <div style="text-align: left;">17.10. 20:41: SR: 08:06:01 SS: 18:28:11 state: 12 light: 0 next sr_astro at 06:10:10</div>
   SUNPOS_OFFSET 300
   SWIP       0
   TYPE       Twilight
   WEATHER_CORRECTION 0
   WEATHER_HORIZON 2
   .attraggr:
   .attrminint:
   READINGS:
     2020-10-17 20:41:57   aktEvent        ss_astro
     2020-10-17 21:31:57   azimuth         290.75
     2020-10-17 21:31:57   compasspoint    west
     2020-10-17 21:31:57   elevation       -29.12
     2020-10-17 20:41:57   horizon         -18
     2020-10-17 20:41:57   light           0
     2020-10-17 20:41:57   nextEvent       sr_astro
     2020-10-17 20:41:57   nextEventTime   06:10:10
     2020-10-17 20:41:57   sr              08:06:01
     2020-10-17 20:41:57   sr_astro        06:10:10
     2020-10-17 20:41:57   sr_civil        07:26:55
     2020-10-17 20:41:57   sr_indoor       08:19:21
     2020-10-17 20:41:57   sr_naut         06:48:32
     2020-10-17 20:41:57   sr_weather      08:19:21
     2020-10-17 20:41:57   ss              18:28:11
     2020-10-17 20:41:57   ss_astro        20:23:48
     2020-10-17 20:41:57   ss_civil        19:07:13
     2020-10-17 20:41:57   ss_indoor       18:14:52
     2020-10-17 20:41:57   ss_naut         19:45:32
     2020-10-17 20:41:57   ss_weather      18:14:52
     2020-10-17 20:41:57   state           12
     2020-10-17 21:31:57   twilight        0
     2020-10-17 21:31:57   twilight_weather 0
   TIMER:
     TwilightTEST_Midnight:
       HASH       TwilightTEST
       MODIFIER   Midnight
       NAME       TwilightTEST_Midnight
     TwilightTEST_sr:
       DEG        0
       HASH       TwilightTEST
       LIGHT      4
       MODIFIER   sr
       NAME       TwilightTEST_sr
       NAMENEXT   sr_indoor
       STATE      4
       SWIP       0
       TIME       1602914761.03
     TwilightTEST_sr_astro:
       DEG        -18
       HASH       TwilightTEST
       LIGHT      1
       MODIFIER   sr_astro
       NAME       TwilightTEST_sr_astro
       NAMENEXT   sr_naut
       STATE      1
       SWIP       0
       TIME       1602907810
     TwilightTEST_sr_civil:
       DEG        -6
       HASH       TwilightTEST
       LIGHT      3
       MODIFIER   sr_civil
       NAME       TwilightTEST_sr_civil
       NAMENEXT   sr
       STATE      3
       SWIP       0
       TIME       1602912415.02
     TwilightTEST_sr_indoor:
       DEG        2
       HASH       TwilightTEST
       LIGHT      5
       MODIFIER   sr_indoor
       NAME       TwilightTEST_sr_indoor
       NAMENEXT   sr_weather
       STATE      5
       SWIP       0
       TIME       1602915561.04
     TwilightTEST_sr_naut:
       DEG        -12
       HASH       TwilightTEST
       LIGHT      2
       MODIFIER   sr_naut
       NAME       TwilightTEST_sr_naut
       NAMENEXT   sr_civil
       STATE      2
       SWIP       0
       TIME       1602910112.01
     TwilightTEST_sr_weather:
       DEG        2
       HASH       TwilightTEST
       LIGHT      6
       MODIFIER   sr_weather
       NAME       TwilightTEST_sr_weather
       NAMENEXT   ss_weather
       STATE      6
       SWIP       0
       TIME       1602915561.05
     TwilightTEST_ss:
       DEG        0
       HASH       TwilightTEST
       LIGHT      3
       MODIFIER   ss
       NAME       TwilightTEST_ss
       NAMENEXT   ss_civil
       STATE      9
       SWIP       0
       TIME       1602952091.97
     TwilightTEST_ss_astro:
       DEG        -18
       HASH       TwilightTEST
       LIGHT      0
       MODIFIER   ss_astro
       NAME       TwilightTEST_ss_astro
       NAMENEXT   sr_astro
       STATE      12
       SWIP       0
       TIME       1602959028
     TwilightTEST_ss_civil:
       DEG        -6
       HASH       TwilightTEST
       LIGHT      2
       MODIFIER   ss_civil
       NAME       TwilightTEST_ss_civil
       NAMENEXT   ss_naut
       STATE      10
       SWIP       0
       TIME       1602954433.98
     TwilightTEST_ss_indoor:
       DEG        2
       HASH       TwilightTEST
       LIGHT      4
       MODIFIER   ss_indoor
       NAME       TwilightTEST_ss_indoor
       NAMENEXT   ss
       STATE      8
       SWIP       0
       TIME       1602951292.96
     TwilightTEST_ss_naut:
       DEG        -12
       HASH       TwilightTEST
       LIGHT      1
       MODIFIER   ss_naut
       NAME       TwilightTEST_ss_naut
       NAMENEXT   ss_astro
       STATE      11
       SWIP       0
       TIME       1602956732.99
     TwilightTEST_ss_weather:
       DEG        2
       HASH       TwilightTEST
       LIGHT      5
       MODIFIER   ss_weather
       NAME       TwilightTEST_ss_weather
       NAMENEXT   ss_indoor
       STATE      7
       SWIP       0
       TIME       1602951292.95
     TwilightTEST_sunpos:
       HASH       TwilightTEST
       MODIFIER   sunpos
       NAME       TwilightTEST_sunpos
   TW:
     sr:
       DEG        0
       LIGHT      4
       NAME       sr
       NAMENEXT   sr_indoor
       STATE      4
       SWIP       0
       TIME       1602914761.03
     sr_astro:
       DEG        -18
       LIGHT      1
       NAME       sr_astro
       NAMENEXT   sr_naut
       STATE      1
       SWIP       0
       TIME       1602907810
     sr_civil:
       DEG        -6
       LIGHT      3
       NAME       sr_civil
       NAMENEXT   sr
       STATE      3
       SWIP       0
       TIME       1602912415.02
     sr_indoor:
       DEG        2
       LIGHT      5
       NAME       sr_indoor
       NAMENEXT   sr_weather
       STATE      5
       SWIP       0
       TIME       1602915561.04
     sr_naut:
       DEG        -12
       LIGHT      2
       NAME       sr_naut
       NAMENEXT   sr_civil
       STATE      2
       SWIP       0
       TIME       1602910112.01
     sr_weather:
       DEG        2
       LIGHT      6
       NAME       sr_weather
       NAMENEXT   ss_weather
       STATE      6
       SWIP       0
       TIME       1602915561.05
     ss:
       DEG        0
       LIGHT      3
       NAME       ss
       NAMENEXT   ss_civil
       STATE      9
       SWIP       0
       TIME       1602952091.97
     ss_astro:
       DEG        -18
       LIGHT      0
       NAME       ss_astro
       NAMENEXT   sr_astro
       STATE      12
       SWIP       0
       TIME       1602959028
     ss_civil:
       DEG        -6
       LIGHT      2
       NAME       ss_civil
       NAMENEXT   ss_naut
       STATE      10
       SWIP       0
       TIME       1602954433.98
     ss_indoor:
       DEG        2
       LIGHT      4
       NAME       ss_indoor
       NAMENEXT   ss
       STATE      8
       SWIP       0
       TIME       1602951292.96
     ss_naut:
       DEG        -12
       LIGHT      1
       NAME       ss_naut
       NAMENEXT   ss_astro
       STATE      11
       SWIP       0
       TIME       1602956732.99
     ss_weather:
       DEG        2
       LIGHT      5
       NAME       ss_weather
       NAMENEXT   ss_indoor
       STATE      7
       SWIP       0
       TIME       1602951292.95
   helper:
     .LATITUDE  51.0
     .LONGITUDE 6.0
     extWeather:
       Device     WetterProplanta
       Reading   
       regexp     WetterProplanta::.*
       dispatch:
Attributes:
   DbLogExclude .*
   group      Wetter
   room       Wetter
   stateFormat { my $ret = '<div style="text-align: left;">';
my $lastCheck = POSIX::strftime("%d.%m. %H:%M",localtime(time_str2num(ReadingsTimestamp($name,"state","2000-01-01 00:00:00"))));
$ret .= $lastCheck.': ';
$ret .= "SR: ".ReadingsVal($name,'sr','');
$ret .= " SS: ".ReadingsVal($name,'ss','');
$ret .= " state: ".ReadingsVal($name,'state','');
$ret .= " light: ".ReadingsVal($name,'light','');
$ret .= " next ".ReadingsVal($name,'nextEvent','?');
$ret .= " at ".ReadingsVal($name,ReadingsVal($name,'nextEvent','nextEventTime'),'');
$ret .= '</div>';
return $ret;
}


List Proplanta-Device:
Internals:
   DEF        XXXXX
   FUUID      5c443cf2-f33f-3151-ebb1-0ac43d848fb49f85
   INTERVAL   1800
   NAME       WetterProplanta
   NR         81
   STATE      [SNIP]
   TYPE       PROPLANTA
   URL        https://www.proplanta.de/Wetter/profi-wetter.php?SITEID=60&PLZ=XXXXX&STADT=XXXXX&WETTERaufrufen=stadt&Wtp=&SUCHE=Wetter&wT=
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0x4960dc8)
   Helper:
     DBLOG:
       temperature:
         logdb:
           TIME       1602961543.99203
           VALUE      9.9
   READINGS:
     2020-10-17 21:05:43   cloudBaseMax    1000
     2020-10-17 21:05:43   cloudBaseMin    600
     2020-10-17 21:05:43   dewPoint        6.3
     2020-10-17 21:05:43   durationFetchReadings 11.00
     2020-10-17 21:05:43   fc0_chOfRain00  15
     2020-10-17 21:05:43   fc0_chOfRain03  20
     2020-10-17 21:05:43   fc0_chOfRain06  20
     2020-10-17 21:05:43   fc0_chOfRain09  20
     2020-10-17 21:05:43   fc0_chOfRain12  15
     2020-10-17 21:05:43   fc0_chOfRain15  15
     2020-10-17 21:05:43   fc0_chOfRain18  20
     2020-10-17 21:05:43   fc0_chOfRain21  15
     2020-10-17 21:05:43   fc0_chOfRainDay 15
     2020-10-17 21:05:43   fc0_chOfRainNight 10
     2020-10-17 21:05:43   fc0_cloud00     87.5
     2020-10-17 21:05:43   fc0_cloud03     100
     2020-10-17 21:05:43   fc0_cloud06     100
     2020-10-17 21:05:43   fc0_cloud09     100
     2020-10-17 21:05:43   fc0_cloud12     87.5
     2020-10-17 21:05:43   fc0_cloud15     87.5
     2020-10-17 21:05:43   fc0_cloud18     100
     2020-10-17 21:05:43   fc0_cloud21     87.5
     2020-10-17 21:05:43   fc0_date        17.10.2020
     2020-10-17 21:05:43   fc0_dew         0
     2020-10-17 21:05:43   fc0_evapor      1
     2020-10-17 21:05:43   fc0_frost       0
     2020-10-17 21:05:43   fc0_gust00      10.8
     2020-10-17 21:05:43   fc0_gust03      3.6
     2020-10-17 21:05:43   fc0_gust06      7.2
     2020-10-17 21:05:43   fc0_gust09      3.6
     2020-10-17 21:05:43   fc0_gust12      3.6
     2020-10-17 21:05:43   fc0_gust15      3.6
     2020-10-17 21:05:43   fc0_gust18      3.6
     2020-10-17 21:05:43   fc0_gust21      0
     2020-10-17 21:05:43   fc0_moonRise    08:29
     2020-10-17 21:05:43   fc0_moonSet     19:16
     2020-10-17 21:05:43   fc0_rad         1
     2020-10-17 21:05:43   fc0_rain        0
     2020-10-17 21:05:43   fc0_rain00      0
     2020-10-17 21:05:43   fc0_rain03      0
     2020-10-17 21:05:43   fc0_rain06      0
     2020-10-17 21:05:43   fc0_rain09      0
     2020-10-17 21:05:43   fc0_rain12      0
     2020-10-17 21:05:43   fc0_rain15      0
     2020-10-17 21:05:43   fc0_rain18      0
     2020-10-17 21:05:43   fc0_rain21      0
     2020-10-17 21:05:43   fc0_sun         25
     2020-10-17 21:05:43   fc0_temp00      8
     2020-10-17 21:05:43   fc0_temp03      7
     2020-10-17 21:05:43   fc0_temp06      7
     2020-10-17 21:05:43   fc0_temp09      7
     2020-10-17 21:05:43   fc0_temp12      10
     2020-10-17 21:05:43   fc0_temp15      10
     2020-10-17 21:05:43   fc0_temp18      10
     2020-10-17 21:05:43   fc0_temp21      9
     2020-10-17 21:05:43   fc0_tempMax     10
     2020-10-17 21:05:43   fc0_tempMin     6
     2020-10-17 21:05:43   fc0_uv          1
     2020-10-17 21:05:43   fc0_weather00   stark bewölkt
     2020-10-17 21:05:43   fc0_weather00Icon https://www.proplanta.de/wetterdaten/images/symbole/n4.gif
     2020-10-17 21:05:43   fc0_weather03   bedeckt
     2020-10-17 21:05:43   fc0_weather03Icon https://www.proplanta.de/wetterdaten/images/symbole/n5.gif
     2020-10-17 21:05:43   fc0_weather06   bedeckt
     2020-10-17 21:05:43   fc0_weather06Icon https://www.proplanta.de/wetterdaten/images/symbole/t5.gif
     2020-10-17 21:05:43   fc0_weather09   bedeckt
     2020-10-17 21:05:43   fc0_weather09Icon https://www.proplanta.de/wetterdaten/images/symbole/t5.gif
     2020-10-17 21:05:43   fc0_weather12   stark bewölkt
     2020-10-17 21:05:43   fc0_weather12Icon https://www.proplanta.de/wetterdaten/images/symbole/t4.gif
     2020-10-17 21:05:43   fc0_weather15   stark bewölkt
     2020-10-17 21:05:43   fc0_weather15Icon https://www.proplanta.de/wetterdaten/images/symbole/t4.gif
     2020-10-17 21:05:43   fc0_weather18   bedeckt
     2020-10-17 21:05:43   fc0_weather18Icon https://www.proplanta.de/wetterdaten/images/symbole/n5.gif
     2020-10-17 21:05:43   fc0_weather21   stark bewölkt
     2020-10-17 21:05:43   fc0_weather21Icon https://www.proplanta.de/wetterdaten/images/symbole/n4.gif
     2020-10-17 21:05:43   fc0_weatherDay  stark bewölkt
     2020-10-17 21:05:43   fc0_weatherDayIcon https://www.proplanta.de/wetterdaten/images/symbole/t4.gif
     2020-10-17 21:05:43   fc0_weatherEvening bedeckt
     2020-10-17 21:05:43   fc0_weatherEveningIcon https://www.proplanta.de/wetterdaten/images/symbole/n5.gif
     2020-10-17 21:05:43   fc0_weatherMorning bedeckt
     2020-10-17 21:05:43   fc0_weatherMorningIcon https://www.proplanta.de/wetterdaten/images/symbole/t5.gif
     2020-10-17 21:05:43   fc0_weatherNight wolkig
     2020-10-17 21:05:43   fc0_weatherNightIcon https://www.proplanta.de/wetterdaten/images/symbole/n3.gif
     2020-10-17 21:05:43   fc0_wind00      0
     2020-10-17 21:05:43   fc0_wind03      3.6
     2020-10-17 21:05:43   fc0_wind06      0
     2020-10-17 21:05:43   fc0_wind09      0
     2020-10-17 21:05:43   fc0_wind12      3.6
     2020-10-17 21:05:43   fc0_wind15      3.6
     2020-10-17 21:05:43   fc0_wind18      0
     2020-10-17 21:05:43   fc0_wind21      0
     2020-10-17 21:05:43   fc0_windDir00   180
     2020-10-17 21:05:43   fc0_windDir03   70
     2020-10-17 21:05:43   fc0_windDir06   130
     2020-10-17 21:05:43   fc0_windDir09   140
     2020-10-17 21:05:43   fc0_windDir12   120
     2020-10-17 21:05:43   fc0_windDir15   334
     2020-10-17 21:05:43   fc0_windDir18   231
     2020-10-17 21:05:43   fc0_windDir21   56
     2020-10-17 21:05:43   fc1_chOfRain00  15
     2020-10-17 21:05:43   fc1_chOfRain03  5
     2020-10-17 21:05:43   fc1_chOfRain06  10
     2020-10-17 21:05:43   fc1_chOfRain09  20
     2020-10-17 21:05:43   fc1_chOfRain12  15
     2020-10-17 21:05:43   fc1_chOfRain15  15
     2020-10-17 21:05:43   fc1_chOfRain18  15
     2020-10-17 21:05:43   fc1_chOfRain21  20
     2020-10-17 21:05:43   fc1_chOfRainDay 15
     2020-10-17 21:05:43   fc1_chOfRainNight 20
     2020-10-17 21:05:43   fc1_cloud00     87.5
     2020-10-17 21:05:43   fc1_cloud03     12.5
     2020-10-17 21:05:43   fc1_cloud06     50
     2020-10-17 21:05:43   fc1_cloud09     100
     2020-10-17 21:05:43   fc1_cloud12     75
     2020-10-17 21:05:43   fc1_cloud15     87.5
     2020-10-17 21:05:43   fc1_cloud18     87.5
     2020-10-17 21:05:43   fc1_cloud21     100
     2020-10-17 21:05:43   fc1_date        18.10.2020
     2020-10-17 21:05:43   fc1_dew         0
     2020-10-17 21:05:43   fc1_evapor      1
     2020-10-17 21:05:43   fc1_frost       0
     2020-10-17 21:05:43   fc1_gust00      3.6
     2020-10-17 21:05:43   fc1_gust03      7.2
     2020-10-17 21:05:43   fc1_gust06      10.8
     2020-10-17 21:05:43   fc1_gust09      14.4
     2020-10-17 21:05:43   fc1_gust12      14.4
     2020-10-17 21:05:43   fc1_gust15      18
     2020-10-17 21:05:43   fc1_gust18      14.4
     2020-10-17 21:05:43   fc1_gust21      14.4
     2020-10-17 21:05:43   fc1_moonRise    09:58
     2020-10-17 21:05:43   fc1_moonSet     19:42
     2020-10-17 21:05:43   fc1_rad         2
     2020-10-17 21:05:43   fc1_rain        0
     2020-10-17 21:05:43   fc1_rain00      0
     2020-10-17 21:05:43   fc1_rain03      0
     2020-10-17 21:05:43   fc1_rain06      0
     2020-10-17 21:05:43   fc1_rain09      0
     2020-10-17 21:05:43   fc1_rain12      0
     2020-10-17 21:05:43   fc1_rain15      0
     2020-10-17 21:05:43   fc1_rain18      0
     2020-10-17 21:05:43   fc1_rain21      0
     2020-10-17 21:05:43   fc1_sun         25
     2020-10-17 21:05:43   fc1_temp00      7
     2020-10-17 21:05:43   fc1_temp03      7
     2020-10-17 21:05:43   fc1_temp06      8
     2020-10-17 21:05:43   fc1_temp09      10
     2020-10-17 21:05:43   fc1_temp12      13
     2020-10-17 21:05:43   fc1_temp15      13
     2020-10-17 21:05:43   fc1_temp18      11
     2020-10-17 21:05:43   fc1_temp21      11
     2020-10-17 21:05:43   fc1_tempMax     13
     2020-10-17 21:05:43   fc1_tempMin     5
     2020-10-17 21:05:43   fc1_uv          1
     2020-10-17 21:05:43   fc1_weather00   stark bewölkt
     2020-10-17 21:05:43   fc1_weather00Icon https://www.proplanta.de/wetterdaten/images/symbole/n4.gif
     2020-10-17 21:05:43   fc1_weather03   heiter
     2020-10-17 21:05:43   fc1_weather03Icon https://www.proplanta.de/wetterdaten/images/symbole/n2.gif
     2020-10-17 21:05:43   fc1_weather06   wolkig
     2020-10-17 21:05:43   fc1_weather06Icon https://www.proplanta.de/wetterdaten/images/symbole/t3.gif
     2020-10-17 21:05:43   fc1_weather09   bedeckt
     2020-10-17 21:05:43   fc1_weather09Icon https://www.proplanta.de/wetterdaten/images/symbole/t5.gif
     2020-10-17 21:05:43   fc1_weather12   stark bewölkt
     2020-10-17 21:05:43   fc1_weather12Icon https://www.proplanta.de/wetterdaten/images/symbole/t4.gif
     2020-10-17 21:05:43   fc1_weather15   stark bewölkt
     2020-10-17 21:05:43   fc1_weather15Icon https://www.proplanta.de/wetterdaten/images/symbole/t4.gif
     2020-10-17 21:05:43   fc1_weather18   stark bewölkt
     2020-10-17 21:05:43   fc1_weather18Icon https://www.proplanta.de/wetterdaten/images/symbole/n4.gif
     2020-10-17 21:05:43   fc1_weather21   bedeckt
     2020-10-17 21:05:43   fc1_weather21Icon https://www.proplanta.de/wetterdaten/images/symbole/n5.gif
     2020-10-17 21:05:43   fc1_weatherDay  stark bewölkt
     2020-10-17 21:05:43   fc1_weatherDayIcon https://www.proplanta.de/wetterdaten/images/symbole/t4.gif
     2020-10-17 21:05:43   fc1_weatherEvening stark bewölkt
     2020-10-17 21:05:43   fc1_weatherEveningIcon https://www.proplanta.de/wetterdaten/images/symbole/n4.gif
     2020-10-17 21:05:43   fc1_weatherMorning wolkig
     2020-10-17 21:05:43   fc1_weatherMorningIcon https://www.proplanta.de/wetterdaten/images/symbole/t3.gif
     2020-10-17 21:05:43   fc1_weatherNight bedeckt
     2020-10-17 21:05:43   fc1_weatherNightIcon https://www.proplanta.de/wetterdaten/images/symbole/n5.gif
     2020-10-17 21:05:43   fc1_wind00      0
     2020-10-17 21:05:43   fc1_wind03      3.6
     2020-10-17 21:05:43   fc1_wind06      3.6
     2020-10-17 21:05:43   fc1_wind09      7.2
     2020-10-17 21:05:43   fc1_wind12      10.8
     2020-10-17 21:05:43   fc1_wind15      10.8
     2020-10-17 21:05:43   fc1_wind18      7.2
     2020-10-17 21:05:43   fc1_wind21      7.2
     2020-10-17 21:05:43   fc1_windDir00   308
     2020-10-17 21:05:43   fc1_windDir03   208
     2020-10-17 21:05:43   fc1_windDir06   200
     2020-10-17 21:05:43   fc1_windDir09   261
     2020-10-17 21:05:43   fc1_windDir12   286
     2020-10-17 21:05:43   fc1_windDir15   279
     2020-10-17 21:05:43   fc1_windDir18   282
     2020-10-17 21:05:43   fc1_windDir21   253
     2020-10-17 21:05:43   fc2_chOfRain00  20
     2020-10-17 21:05:43   fc2_chOfRain03  20
     2020-10-17 21:05:43   fc2_chOfRain06  20
     2020-10-17 21:05:43   fc2_chOfRain09  20
     2020-10-17 21:05:43   fc2_chOfRain12  15
     2020-10-17 21:05:43   fc2_chOfRain15  15
     2020-10-17 21:05:43   fc2_chOfRain18  15
     2020-10-17 21:05:43   fc2_chOfRain21  10
     2020-10-17 21:05:43   fc2_chOfRainDay 15
     2020-10-17 21:05:43   fc2_chOfRainNight 10
     2020-10-17 21:05:43   fc2_cloud00     100
     2020-10-17 21:05:43   fc2_cloud03     100
     2020-10-17 21:05:43   fc2_cloud06     100
     2020-10-17 21:05:43   fc2_cloud09     100
     2020-10-17 21:05:43   fc2_cloud12     87.5
     2020-10-17 21:05:43   fc2_cloud15     75
     2020-10-17 21:05:43   fc2_cloud18     75
     2020-10-17 21:05:43   fc2_cloud21     62.5
     2020-10-17 21:05:43   fc2_date        19.10.2020
     2020-10-17 21:05:43   fc2_dew         0
     2020-10-17 21:05:43   fc2_evapor      1
     2020-10-17 21:05:43   fc2_frost       0
     2020-10-17 21:05:43   fc2_gust00      14.4
     2020-10-17 21:05:43   fc2_gust03      10.8
     2020-10-17 21:05:43   fc2_gust06      7.2
     2020-10-17 21:05:43   fc2_gust09      7.2
     2020-10-17 21:05:43   fc2_gust12      10.8
     2020-10-17 21:05:43   fc2_gust15      14.4
     2020-10-17 21:05:43   fc2_gust18      18
     2020-10-17 21:05:43   fc2_gust21      21.6
     2020-10-17 21:05:43   fc2_moonRise    11:27
     2020-10-17 21:05:43   fc2_moonSet     20:12
     2020-10-17 21:05:43   fc2_rad         1.8
     2020-10-17 21:05:43   fc2_rain        0
     2020-10-17 21:05:43   fc2_rain00      0
     2020-10-17 21:05:43   fc2_rain03      0
     2020-10-17 21:05:43   fc2_rain06      0
     2020-10-17 21:05:43   fc2_rain09      0
     2020-10-17 21:05:43   fc2_rain12      0
     2020-10-17 21:05:43   fc2_rain15      0
     2020-10-17 21:05:43   fc2_rain18      0
     2020-10-17 21:05:43   fc2_rain21      0
     2020-10-17 21:05:43   fc2_sun         25
     2020-10-17 21:05:43   fc2_temp00      10
     2020-10-17 21:05:43   fc2_temp03      10
     2020-10-17 21:05:43   fc2_temp06      9
     2020-10-17 21:05:43   fc2_temp09      11
     2020-10-17 21:05:43   fc2_temp12      13
     2020-10-17 21:05:43   fc2_temp15      14
     2020-10-17 21:05:43   fc2_temp18      11
     2020-10-17 21:05:43   fc2_temp21      9
     2020-10-17 21:05:43   fc2_tempMax     14
     2020-10-17 21:05:43   fc2_tempMin     8
     2020-10-17 21:05:43   fc2_uv          1
     2020-10-17 21:05:43   fc2_weather00   bedeckt
     2020-10-17 21:05:43   fc2_weather00Icon https://www.proplanta.de/wetterdaten/images/symbole/n5.gif
     2020-10-17 21:05:43   fc2_weather03   bedeckt
     2020-10-17 21:05:43   fc2_weather03Icon https://www.proplanta.de/wetterdaten/images/symbole/n5.gif
     2020-10-17 21:05:43   fc2_weather06   bedeckt
     2020-10-17 21:05:43   fc2_weather06Icon https://www.proplanta.de/wetterdaten/images/symbole/t5.gif
     2020-10-17 21:05:43   fc2_weather09   bedeckt
     2020-10-17 21:05:43   fc2_weather09Icon https://www.proplanta.de/wetterdaten/images/symbole/t5.gif
     2020-10-17 21:05:43   fc2_weather12   stark bewölkt
     2020-10-17 21:05:43   fc2_weather12Icon https://www.proplanta.de/wetterdaten/images/symbole/t4.gif
     2020-10-17 21:05:43   fc2_weather15   stark bewölkt
     2020-10-17 21:05:43   fc2_weather15Icon https://www.proplanta.de/wetterdaten/images/symbole/t4.gif
     2020-10-17 21:05:43   fc2_weather18   stark bewölkt
     2020-10-17 21:05:43   fc2_weather18Icon https://www.proplanta.de/wetterdaten/images/symbole/n4.gif
     2020-10-17 21:05:43   fc2_weather21   wolkig
     2020-10-17 21:05:43   fc2_weather21Icon https://www.proplanta.de/wetterdaten/images/symbole/n3.gif
     2020-10-17 21:05:43   fc2_weatherDay  stark bewölkt
     2020-10-17 21:05:43   fc2_weatherDayIcon https://www.proplanta.de/wetterdaten/images/symbole/t4.gif
     2020-10-17 21:05:43   fc2_weatherEvening stark bewölkt
     2020-10-17 21:05:43   fc2_weatherEveningIcon https://www.proplanta.de/wetterdaten/images/symbole/n4.gif
     2020-10-17 21:05:43   fc2_weatherMorning bedeckt
     2020-10-17 21:05:43   fc2_weatherMorningIcon https://www.proplanta.de/wetterdaten/images/symbole/t5.gif
     2020-10-17 21:05:43   fc2_weatherNight wolkig
     2020-10-17 21:05:43   fc2_weatherNightIcon https://www.proplanta.de/wetterdaten/images/symbole/n3.gif
     2020-10-17 21:05:43   fc2_wind00      3.6
     2020-10-17 21:05:43   fc2_wind03      3.6
     2020-10-17 21:05:43   fc2_wind06      3.6
     2020-10-17 21:05:43   fc2_wind09      7.2
     2020-10-17 21:05:43   fc2_wind12      7.2
     2020-10-17 21:05:43   fc2_wind15      7.2
     2020-10-17 21:05:43   fc2_wind18      10.8
     2020-10-17 21:05:43   fc2_wind21      14.4
     2020-10-17 21:05:43   fc2_windDir00   232
     2020-10-17 21:05:43   fc2_windDir03   192
     2020-10-17 21:05:43   fc2_windDir06   153
     2020-10-17 21:05:43   fc2_windDir09   178
     2020-10-17 21:05:43   fc2_windDir12   195
     2020-10-17 21:05:43   fc2_windDir15   181
     2020-10-17 21:05:43   fc2_windDir18   143
     2020-10-17 21:05:43   fc2_windDir21   134
     [SNIP]
     2020-10-17 21:05:43   humidity        76
     2020-10-17 21:05:43   lastConnection  672 values captured in 11.00 s
     2020-10-17 21:05:43   obsTime         20:00
     2020-10-17 21:05:43   pressure        1021.3
     2020-10-17 21:05:43   state           Tmin: 6 Tmax: 10 T: 9.9 H: 76 W: 3.6 P: 1021.3
     2020-10-17 21:05:43   temperature     9.9
     2020-10-17 21:05:43   visibility      22
     2020-10-17 21:05:43   weather         stark bewölkt
     2020-10-17 21:05:43   weatherIcon     https://www.proplanta.de/wetterdaten/images/symbole/n4.gif
     2020-10-17 21:05:43   wind            3.6
     2020-10-17 21:05:43   windDir         325
     2020-10-17 21:05:43   windDirIcon     https://www.proplanta.de/wetterdaten/images/symbole/w30.gif
   fhem:
     LOCAL      0
     modulVersion $Date: 2019-02-24 17:08:46 +0100 (Sun, 24 Feb 2019) $
   helper:
Attributes:
   INTERVAL   1800
   forecastDays 7
   group      Wetter
   room       Wetter


Angesammelte Log-Meldungen:
2020.10.17 20:41:57 3: [TwilightTEST] Error with external readings from: WetterProplanta: , taking original weather readings
2020.10.17 20:46:57 3: [TwilightTEST] Error with external readings from: WetterProplanta: , taking original weather readings
2020.10.17 20:51:57 3: [TwilightTEST] Error with external readings from: WetterProplanta: , taking original weather readings
2020.10.17 20:56:57 3: [TwilightTEST] Error with external readings from: WetterProplanta: , taking original weather readings
2020.10.17 21:01:57 3: [TwilightTEST] Error with external readings from: WetterProplanta: , taking original weather readings
2020.10.17 21:06:57 3: [TwilightTEST] Error with external readings from: WetterProplanta: , taking original weather readings
2020.10.17 21:11:57 3: [TwilightTEST] Error with external readings from: WetterProplanta: , taking original weather readings
2020.10.17 21:16:57 3: [TwilightTEST] Error with external readings from: WetterProplanta: , taking original weather readings
2020.10.17 21:21:57 3: [TwilightTEST] Error with external readings from: WetterProplanta: , taking original weather readings
2020.10.17 21:26:57 3: [TwilightTEST] Error with external readings from: WetterProplanta: , taking original weather readings
2020.10.17 21:31:57 3: [TwilightTEST] Error with external readings from: WetterProplanta: , taking original weather readings


Welches PROPLANTA_Reading willst du auslesen?

(Anscheinend gibt es eine maximale Zeichenanzahl pro Nachricht, was man erst sieht, wenn man gepostet hat - die Vorschau lässt einem in gutem Glauben - daher zwei posts und das reduzierte List des Proplanta-Devices.)
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Beta-User

Ja, bei Weather klappt das (leider aus den falschen Gründen) ohne das Reading. Bei Proplanta ist es derzeit noch erforderlich und (vermutlich und vorläufig) auch nicht schädlich.
Bin derzeit dran, das so umzustellen, dass mit Reading-Angabe nicht der dispatch-Mechanismus aktiviert wird (=> nur auf Basis des aktuellen Readings) und ohne dann die erweiterte Funktionalität.
Da das mit "ohne Reading" im Moment sowieso ein "hidden feature" ist, neige ich dazu, die Fassung aus #118 erst mal einzuchecken (ggf. mit cref, die das erst mal nicht erwähnt, dass man es auch weglassen kann)?
Oder wir packen für PROPLANTA dann noch ein Dispatch von fc0_cloud00 auf cloudCover dazu? (das wird dann später wieder entfallen).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

yersinia

#122
Mit der Version aus #118 habe ich immernoch folgende Meldungen:
2020.10.18 09:05:54 1: PERL WARNING: Use of uninitialized value $eventTime in subtraction (-) at ./FHEM/59_Twilight.pm line 682.
2020.10.18 09:05:54 1: PERL WARNING: Use of uninitialized value $nextEvent in hash element at ./FHEM/59_Twilight.pm line 688.
2020.10.18 09:05:54 1: PERL WARNING: Use of uninitialized value in numeric gt (>) at ./FHEM/59_Twilight.pm line 688.
2020.10.18 09:05:54 1: PERL WARNING: Use of uninitialized value in localtime at fhem.pl line 3509.
2020.10.18 09:05:54 1: PERL WARNING: Use of uninitialized value $light in concatenation (.) or string at ./FHEM/59_Twilight.pm line 693.
2020.10.18 09:05:54 1: PERL WARNING: Use of uninitialized value $doTrigger in concatenation (.) or string at ./FHEM/59_Twilight.pm line 693.
2020.10.18 09:05:54 1: PERL WARNING: Use of uninitialized value $state in sprintf at ./FHEM/59_Twilight.pm line 693.
2020.10.18 09:05:54 1: PERL WARNING: Use of uninitialized value $deg in sprintf at ./FHEM/59_Twilight.pm line 693.
2020.10.18 09:05:54 1: PERL WARNING: Use of uninitialized value $nextEvent in sprintf at ./FHEM/59_Twilight.pm line 693.

Wieder beim Wechsel von sr_weather auf ss_weather zum Zeitpunkt von sr_weather.
(EDIT: mich stört, außer der LogMeldung, das eigtl nicht - _ich_ benötige light/state > 5 nicht, ansonsten verwende ich Zeiten via der Perl-Funktion twilight() - und das funktionierte mit all deinen Versionen sehr gut. Ach, das undefined Reading ist noch nicht zurück.)

Ansonsten funktioniert die Version mit meiner bestehenden DEF gut und kann mMn eingecheckt werden. Andererseits, die Version vorher (aktuelle SVN) hat auch funktioniert - also warum diese schon einchecken?

PROPLANTA sollte eigtl relativ einfach sein mit einem reading-mapping, es gibt ja für den aktuellen Tag nur
fc0_cloud00
fc0_cloud03
fc0_cloud06
fc0_cloud09
fc0_cloud12
fc0_cloud15
fc0_cloud18
fc0_cloud21

wobei man nach jetzigem Stand mMn so mappen könnte:
fc0_cloud00 => sr_astro
fc0_cloud03 => sr_astro & sr_naut
fc0_cloud06 => sr_naut & sr_civil & sr_weather
fc0_cloud09 => sr_civil & sr_weather & sr_indoor
fc0_cloud12 => n/a
fc0_cloud15 => ss_indoor
fc0_cloud18 => ss_indoor & ss_weather & ss_civil
fc0_cloud21 => ss_civil & ss_naut & ss_astro

Zumal man hier noch die Aktualsierungsfrequenz des PROPLANTA-Devices beachten muss - möglicherweise ist fc0 um 0:25 noch das Reading vom Vortag und man müsste auf fc1_cloudNN umschwenken. Aber das wären Details.

WEATHER Device fänd ich schwieriger mit den Vorhersagen, da ich hier stündliche (hfcNN.* Readings fortlaufend ab Abfragezeitpunkt) oder tägliche (fcN.*) Vorhersagen einstellen kann. Alle WEATHER Devices haben allerdings das cloudCover Reading als aktuellen Zustand. Aber benötige ich das, wenn ich jetzt ss_weather berechnen will?

Wie schon erwähnt, ich wäre für ein userReading - entweder im Twilight Device selbst oder irgendwo anders. Als das im Twilight-Modul selbst abzudecken. Aber des sind nur meine 2Pf.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

BroPi

Mit der 59_Twilight.pm:?/2020-10-16 UNSTABLE wird tagsüber der Zustand 6 bei state und light nicht mehr erreicht. Er steht bei 5. Bis zur vorhergehenden Version war alles OK.

luckycger

Zitat von: yersinia am 13 Oktober 2020, 10:27:54
Für nur Proplanta wäre dies wesentich einfacher:
TwilightCloudCover {
my $ret = 0;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();
if ($hour <= 4) {
$ret = ReadingsNum($name,"fc0_cloud03",0);
} elsif ($hour <= 7) {
$ret = ReadingsNum($name,"fc0_cloud06",0);
} elsif ($hour <= 10) {
$ret = ReadingsNum($name,"fc0_cloud09",0);
} elsif ($hour <= 19) {
$ret = ReadingsNum($name,"fc0_cloud18",0);
} elsif ($hour <= 22) {
$ret = ReadingsNum($name,"fc0_cloud21",0);
} else {
$ret = ReadingsNum($name,"fc1_cloud03",0);
}
return $ret;
}


Vielen Dank an yersinia für die Inspiration! Ich habe auf der Basis eine kleine "Erweiterung" für das UserReading im Proplanta-Device zusammengebastelt, da ich nur Proplanta benutze jedoch auch nur darauf bezogen:


twilightCloudCover {
my $ret = 0;
my $nextEvent = ReadingsVal("dr.twilight", "nextEvent", "ss"); 
my $hour;
 
if(substr($nextEvent, 0, 2) eq "sr") {
$hour = substr(ReadingsVal("dr.twilight", "sr_indoor", "08"), 0, 2);
} else {
$hour = substr(ReadingsVal("dr.twilight", "ss_indoor", "20"), 0, 2);
}

$hour =~ s/^0+//;

if ($hour <= 4) {
$ret = ReadingsNum($name,"fc0_cloud03",0);
} elsif ($hour <= 7) {
$ret = ReadingsNum($name,"fc0_cloud06",0);
} elsif ($hour <= 10) {
$ret = ReadingsNum($name,"fc0_cloud09",0);
} elsif ($hour <= 19) {
$ret = ReadingsNum($name,"fc0_cloud18",0);
} elsif ($hour <= 22) {
$ret = ReadingsNum($name,"fc0_cloud21",0);
} else {
$ret = ReadingsNum($name,"fc1_cloud03",0);
}
return $ret;
}


dr.twilight ist der Name meines Twilight-Devices.

In meiner Version wird (sicherlich etwas stümperhaft umgesetzt, meine Praxiserfahrung in Perl ist sehr begrenzt) die Uhrzeit des "nächsten Events" Sunrise/Sunset_indoor für die CloudCover-Ermittlung genutzt.
Damit wird nach dem "letzten Event" die Uhrzeit für das nächste _weather-Event auf Basis der Wettervorhersage für die Uhrzeit des _indoor-Events errechnet. In der Originalversion basiert die Uhrzeitberechnung auf der Wettervorhersage für die aktuelle Uhrzeit?

Vielleicht kann ja jemand noch etwas mit dem Codeschnipsel anfangen.

Vielen Dank an alle Entwickler für die tolle Arbeit!

Beta-User

#125
Zitat von: BroPi am 18 Oktober 2020, 14:20:54
Mit der 59_Twilight.pm:?/2020-10-16 UNSTABLE wird tagsüber der Zustand 6 bei state und light nicht mehr erreicht. Er steht bei 5. Bis zur vorhergehenden Version war alles OK.
Hmm, also erst mal noch der Versuch, diesen Teil zu fixen...

In #118 gab es jetzt gar keine Initialisierung von den s._weather-Timern mehr ohne Events, das war etwas über das Ziel raus ::) .

Hab's leider noch nicht intensiver testen können, aber zumindest den fehlenden Switch von 5 nach 6 nach 7 sollte man damit wieder bekommen.

Zitat von: luckycger am 19 Oktober 2020, 14:59:19Damit wird nach dem "letzten Event" die Uhrzeit für das nächste _weather-Event auf Basis der Wettervorhersage für die Uhrzeit des _indoor-Events errechnet. In der Originalversion basiert die Uhrzeitberechnung auf der Wettervorhersage für die aktuelle Uhrzeit?
Vielleicht nochmal ein paar Anmerkungen, was meine Vorstellung mit der "Dispatch"-Geschichte ist:
- Dynamisch, also vom Wetter abhängig, sind meiner Ansicht nach nur die beiden "mittleren", also s._weather-Zeiten. Diese "leiten" sich aus den s._indoor-Werten ab.
- Daher macht es Sinn, sich neben dem aktuellen Wetter auch die beiden Wetter-Werte zum jeweiligen s._indoor-Zeitpunkt heranzuziehen. An der Stelle unterscheiden sich PROPLANTA und Weather (wobei Weather uU. auch noch unterschiedlich konfiguriert werden kann, ich kenne nur den "default" mit darkSky)
- Proplanta hat vermutlich nicht event-basiert funktioniert, weil da kein Trigger definiert war.

Künftig will ich unterscheiden können zwischen einer "starren" "Device:Reading"-Variante (keine Berücksichtigung der Vorhersage) und einer dynamischen "Device"-Variante und ggf. vielleicht sogar die Möglichkeit anflanschen, eigene Dispatch-Routinen verwenden zu können.

Damit kann mit userReadings arbeiten, wer das mag, die, die auf Automatismen stehen, können ggf. die nutzen, wenn sie vorhanden sind oder welche (außerhalb des eigentlichen Modulcodes) entwickeln, wenn das (noch) nicht der Fall ist.
Es hakt noch ein wenig an der Absicherung externen Codes, bitte dazu also noch etwas Geduld.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

yersinia

Vielen Dank fürs Teilen @luckycger!
Zitat von: luckycger am 19 Oktober 2020, 14:59:19In meiner Version wird [...] die Uhrzeit des "nächsten Events" Sunrise/Sunset_indoor für die CloudCover-Ermittlung genutzt.
Damit wird nach dem "letzten Event" die Uhrzeit für das nächste _weather-Event auf Basis der Wettervorhersage für die Uhrzeit des _indoor-Events errechnet. In der Originalversion basiert die Uhrzeitberechnung auf der Wettervorhersage für die aktuelle Uhrzeit?
Das macht mich Neugierig - du verwendest ein auf CloudCover berechnetes Reading um das CloudCover zu berechnen. Interessante Idee und vorgehensweise, aber ob das so gut ist kann zumindest _ich_ noch nicht überblicken. Dazu sei gesagt, dass meine Version eigtl auch wenig hilfreich ist - wozu brauche ich fc0_cloudCover03 für sr_indoor? Die Berechnung zu diesem Zeitpunkt ergibt eigtl keinen Sinn.
Ja, ich nutze die Systemzeit um das mMn 'richtige' Reading als Quelle zu nutzen - ich, bzw. das Proplanta-Device, weiss ja nicht, wann Twilight die Zeiten neu berechnet. Geschieht das auch tagsüber? Oder ist das nur einmal um 0:01Uhr?

Zitat von: Beta-User am 19 Oktober 2020, 15:30:17Hab's leider noch nicht intensiver testen können, aber zumindest den fehlenden Switch von 5 nach 6 nach 7 sollte man damit wieder bekommen.
Na dann wollma'ma. :D

Zitat von: Beta-User am 19 Oktober 2020, 15:30:17Vielleicht nochmal ein paar Anmerkungen, was meine Vorstellung mit der "Dispatch"-Geschichte ist:
- Dynamisch, also vom Wetter abhängig, sind meiner Ansicht nach nur die beiden "mittleren", also s._weather-Zeiten. Diese "leiten" sich aus den s._indoor-Werten ab.
- Daher macht es Sinn, sich neben dem aktuellen Wetter auch die beiden Wetter-Werte zum jeweiligen s._indoor-Zeitpunkt heranzuziehen. An der Stelle unterscheiden sich PROPLANTA und Weather (wobei Weather uU. auch noch unterschiedlich konfiguriert werden kann, ich kenne nur den "default" mit darkSky)
Für mich ist es eher eine Frage, wann Twilight aus einem Wetter-Device die Daten zur Berechnung heranzieht. Morgens um 0:01Uhr kann man alle bis auf s._weather Werte sinnvoll berechnen. Wenn ich da aber schon DarkSky:cloudCover mitnehme, ist das mMn der letzte IST-Wert. In Abhängigkeit von s._indoor müsste man sich dann (@0:01Uhr) ein richtiges DarkSky:(fcN|hfcN)_cloudCover reading raussuchen. Oder ich muss gegen s._indoor s._weather mit dem dann nächsten/aktuellen cloudCover Wert neu berechnen. Aber will ich das im Gesamtkonstrukt? Und dann alle (evtl abhängigen) Timer in der FHEM Installation anpassen?
Ich frag' nur, weil ich mir die Auswirkungen nur schwer vorstellen kann. Ist das nur ein 0,000001% Schreckensszenario, then, so what, nothing said.
Mal vom Entwicklungs- und daraus resultierenden Supportaufwand abgesehen...

Zitat von: Beta-User am 19 Oktober 2020, 15:30:17- Proplanta hat vermutlich nicht event-basiert funktioniert, weil da kein Trigger definiert war.
Müsste man da nicht einfach ein event-on-update für ein bestimmtes Reading im Proplanta-Device setzen?

Zitat von: Beta-User am 19 Oktober 2020, 15:30:17
Künftig will ich unterscheiden können zwischen einer "starren" "Device:Reading"-Variante (keine Berücksichtigung der Vorhersage) und einer dynamischen "Device"-Variante und ggf. vielleicht sogar die Möglichkeit anflanschen, eigene Dispatch-Routinen verwenden zu können.

Damit kann mit userReadings arbeiten, wer das mag, die, die auf Automatismen stehen, können ggf. die nutzen, wenn sie vorhanden sind oder welche (außerhalb des eigentlichen Modulcodes) entwickeln, wenn das (noch) nicht der Fall ist.
Find ich eine gute Lösung. +1

Zitat von: Beta-User am 19 Oktober 2020, 15:30:17Es hakt noch ein wenig an der Absicherung externen Codes, bitte dazu also noch etwas Geduld.
Ich kann nur für mich sprechen: meine Erwartung an Twilight vor dem 5.9.'20 tendierte gegen Null - es lief für mich halbwegs OK, also meckert man nicht über nicht funktionierende Funktionen die man sowieso nicht nutzt geschweige denn nutzen wollen würde. Von daher: alles was DU bisher geleistet hast, verdient ein dickes DANKE. Und fremden Code zu übernehmen und sich sowohl in Code als auch Thematik einzuarbeiten UND dann zu optimieren/erweitern ist nicht mal eben aus dem Handgelenk geschüttelt.
Dafür wird getestet und ohne Groll und im Sinne der gemeinsamen Code/Funktionsweiterentwicklung Feedback gegeben. Brennt FHEM ab? Ja, selber schuld, warum testet man -wie ich- auf dem Produktivsystem? Dafür gibt es Rückfallstrategien inkl. Backup. Wie gesagt, meine 0,02M.
So, nu' muss ich aber mal #125 testen...
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Beta-User

ZitatNa dann wollma'ma. :D
Mutige Tester können auch direkt mal das aus der Anlage hier hernehmen - bitte aber erst mal nicht versuchen, was externes als Dispatch-Logik anzuflanschen, damit kann man sich FHEM ohne weiteres abschießen....
Auch nur grob angetestet, aber (mit etwas Glück ohne, möglicherweise erst nach einem Neustart) damit sollte dann auch die Unterscheidung zwischen "hartem Reading" und dispatch-Logik klappen.

Zitat von: yersinia am 19 Oktober 2020, 16:24:13
Das macht mich Neugierig - du verwendest ein auf CloudCover berechnetes Reading um das CloudCover zu berechnen.
MMn. liegt da ein Missverständnis vor: die indoor-Zeiten werden nicht wetterabhängig berechnet, das sind schlicht und ergreifend die Zeitpunkte, die ohne Wetter am nächsten dran sind, daher nehme ich die auch in den dispatch-Funktionen als Grund-Zeiten.

Zitat
weiss ja nicht, wann Twilight die Zeiten neu berechnet. Geschieht das auch tagsüber? Oder ist das nur einmal um 0:01Uhr?
Wenn es eine Aktualisierung gibt, passiert das auch tagsüber; im Moment allerdings nur, wenn sich das Hauptreading signifikant ändert (to be discussed).

Zitat
Für mich ist es eher eine Frage, wann Twilight aus einem Wetter-Device die Daten zur Berechnung heranzieht. Morgens um 0:01Uhr kann man alle bis auf s._weather Werte sinnvoll berechnen. Wenn ich da aber schon DarkSky:cloudCover mitnehme, ist das mMn der letzte IST-Wert. In Abhängigkeit von s._indoor müsste man sich dann (@0:01Uhr) ein richtiges DarkSky:(fcN|hfcN)_cloudCover reading raussuchen. Oder ich muss gegen s._indoor s._weather mit dem dann nächsten/aktuellen cloudCover Wert neu berechnen. Aber will ich das im Gesamtkonstrukt? Und dann alle (evtl abhängigen) Timer in der FHEM Installation anpassen?
Bin nicht ganz sicher, aber im Moment werden die s._weather-Werte nach meinem Verständnis nur dann aktualisiert, wenn das externe Reading triggernd aktualisiert wird. Von daher benötigen wir vermutlich noch einen erweiterten Mitternachtsmechanismus, um die Werte direkt nach Mitternacht auch initial richtig bereitzustellen.

Ansonsten sehe ich es ähnlich: Man kann auf laufende Aktualisierungen reagieren, aber in vielen Fällen wird man das nicht wollen, sondern möchte - z.B. für WeekdayTimer, der auch in der Regel einmalig am Tag kurz nach Tagesanbruch seine Schaltzeiten ermittelt - direkt passende Werte geliefert bekommen (ergo habe ich da einen Aktionspunkt, aber das sollte eigentlich zu machen sein 8) ).

Von daher: wir sind vermutlich auf dem richtigen Weg, und so langsam aber sicher würde ich annehmen, dass wir uns der Zielgeraden nähern :) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

luckycger

Zitat von: yersinia am 19 Oktober 2020, 16:24:13
Interessante Idee und vorgehensweise, aber ob das so gut ist kann zumindest _ich_ noch nicht überblicken.

Ich glaube ich bin mit meiner Idee auch ein wenig über das Ziel hinausgeschossen, es hat leider viel zu spät Klick gemacht.
Ich bin etwas blauäugig davon ausgegangen, dass der CloudCover-Wert im TWILIGHT Modul lediglich benutzt wird, um die s._weather-Ereignisse anzupassen. So langsam dämmert mir aber, dass auch das jeweils aktuelle Reading "twilight" darauf basiert.
Damit ist natürlich dann auch der stundenaktuelle Wolken-Wert aus PROPLANTA genau richtig für das Reading im TWILIGHT Modul, nicht wie von meinem Code erzwungen das Wetter zum nächsten s._indoor.

Sorry für die Verwirrung!

yersinia

@luckycger: Quatsch, Input und neue, andere Ideen sind immer gut. Selbst wenn es 'nur' als Diskussionsgrundlage dient. :)

Die #125 lief bei mir unauffällig, hat aber den wechsel von sr_weather auf ss_weather nicht hinbekommen.
2020.10.20 09:14:18 1: PERL WARNING: Use of uninitialized value $eventTime in subtraction (-) at ./FHEM/59_Twilight.pm line 691.
2020.10.20 09:14:18 1: PERL WARNING: Use of uninitialized value $nextEvent in hash element at ./FHEM/59_Twilight.pm line 697.
2020.10.20 09:14:18 1: PERL WARNING: Use of uninitialized value in numeric gt (>) at ./FHEM/59_Twilight.pm line 697.
2020.10.20 09:14:18 1: PERL WARNING: Use of uninitialized value in localtime at fhem.pl line 3509.
2020.10.20 09:14:18 1: PERL WARNING: Use of uninitialized value $light in concatenation (.) or string at ./FHEM/59_Twilight.pm line 702.
2020.10.20 09:14:18 1: PERL WARNING: Use of uninitialized value $doTrigger in concatenation (.) or string at ./FHEM/59_Twilight.pm line 702.
2020.10.20 09:14:18 1: PERL WARNING: Use of uninitialized value $state in sprintf at ./FHEM/59_Twilight.pm line 702.
2020.10.20 09:14:18 1: PERL WARNING: Use of uninitialized value $deg in sprintf at ./FHEM/59_Twilight.pm line 702.
2020.10.20 09:14:18 1: PERL WARNING: Use of uninitialized value $nextEvent in sprintf at ./FHEM/59_Twilight.pm line 702.


Ich hab jetzt die #127 laufen, ein shutdown restart hat es überstanden mit bestehender config und es läuft erstmal. Ich beobachte.

ZitatMMn. liegt da ein Missverständnis vor: die indoor-Zeiten werden nicht wetterabhängig berechnet, das sind schlicht und ergreifend die Zeitpunkte, die ohne Wetter am nächsten dran sind, daher nehme ich die auch in den dispatch-Funktionen als Grund-Zeiten.
Da hast du recht, ich hab wahrscheinlich gedanklich indoor mit weather gleichgesetzt. ::)
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

BroPi

Als "Mutiger Tester" habe ich die 59_Twilight.pm:?/2020-10-19 UNSTABLE gestern eingespielt. Der State 6 wird jetzt wieder erreicht. Auch der hier schon erwähnte Block ab 09:xx Uhr mit folgenden Meldungen "PERL WARNING: Use of uninitialized value" im Logfile ist bis jetzt nicht mehr aufgetreten.
Alles bisher super. Vielen Dank für deine Arbeit.

Beta-User

#131
Zitat von: Beta-User am 19 Oktober 2020, 17:10:56
Bin nicht ganz sicher, aber im Moment werden die s._weather-Werte nach meinem Verständnis nur dann aktualisiert, wenn das externe Reading triggernd aktualisiert wird. Von daher benötigen wir vermutlich noch einen erweiterten Mitternachtsmechanismus, um die Werte direkt nach Mitternacht auch initial richtig bereitzustellen.
[...]
Ansonsten sehe ich es ähnlich: Man kann auf laufende Aktualisierungen reagieren, aber in vielen Fällen wird man das nicht wollen, sondern möchte - z.B. für WeekdayTimer, der auch in der Regel einmalig am Tag kurz nach Tagesanbruch seine Schaltzeiten ermittelt - direkt passende Werte geliefert bekommen (ergo habe ich da einen Aktionspunkt, aber das sollte eigentlich zu machen sein 8) ).
Da mir das mit der (as good as gets) Mitternachts-Aktualisierung wichtig erscheint, gibt es jetzt nochmal ein "kleines update" für mutige Tester.

Wer in den Code schaut wird feststellen, dass manches Versatzstück wieder deutlich an einer anderen Stelle zu finden ist, und ich bin mir auch nicht 100% sicher, ob wirklich alles wieder (für alle möglichen Varianten) zusammenpasst ::) . (@BroPi scheint z.B. kein externes Wetter-Device zu haben, (was ok ist)).
Insgesamt wirkt das aber jetzt auf mich deutlich klarer im Gesamtablauf, die Teile von denen ich meine, dass man sie eigentlich nicht mehr braucht sind deutlich weniger geworden...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

BroPi

Habe jetzt die 59_Twilight.pm:?/2020-10-20 UNSTABLE eingespielt. Werde berichten, wenn es Auffälligkeiten gibt.
Zitat von: Beta-User am 20 Oktober 2020, 13:12:00
(@BroPi scheint z.B. kein externes Wetter-Device zu haben, (was ok ist)).
Ich verwende Proplanta (Wetter_HGW) und nutze im Moment das von yersinia vorgeschlagene userReading aus "112". In Twilight habe ich useExtWeather Wetter_HGW:CloudCover gesetzt. Für mich sind in erster Linie die s._weather-Werte interessant, die ich für meine Rollladensteuerung in einem DOIF verwende.

Beta-User

Ak, ok. An sich sollte übrigens die dispatch-Routine für Proplanta genau das userReadings abbilden, und zwar dann auch gleich noch für die richtigen Zeitpunkte in der Zukunft ;) .

Habe jetzt auch die Ursache für diese "undefined"-Geschichte gefunden, allerdings ist das (für mich) ziemlich tricky zu fixen. Bin mal gespannt, ob ich das hinbringe oder doch irgendwie wieder zurück muß auf eine "old-fashionned-Variante"... Eine Idee ist jedenfalls da, wie.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

yersinia

#134
Die #131 wirft bei mir diese Fehler, bekannte aber andere Uhrzeit.
2020.10.20 17:13:00 1: PERL WARNING: Use of uninitialized value $eventTime in subtraction (-) at ./FHEM/59_Twilight.pm line 722.
2020.10.20 17:13:00 1: PERL WARNING: Use of uninitialized value $nextEvent in hash element at ./FHEM/59_Twilight.pm line 728.
2020.10.20 17:13:00 1: PERL WARNING: Use of uninitialized value in numeric gt (>) at ./FHEM/59_Twilight.pm line 728.
2020.10.20 17:13:00 1: PERL WARNING: Use of uninitialized value in localtime at fhem.pl line 3509.
2020.10.20 17:13:00 1: PERL WARNING: Use of uninitialized value $light in concatenation (.) or string at ./FHEM/59_Twilight.pm line 733.
2020.10.20 17:13:00 1: PERL WARNING: Use of uninitialized value $doTrigger in concatenation (.) or string at ./FHEM/59_Twilight.pm line 733.
2020.10.20 17:13:00 1: PERL WARNING: Use of uninitialized value $state in sprintf at ./FHEM/59_Twilight.pm line 733.
2020.10.20 17:13:00 1: PERL WARNING: Use of uninitialized value $deg in sprintf at ./FHEM/59_Twilight.pm line 733.
2020.10.20 17:13:00 1: PERL WARNING: Use of uninitialized value $nextEvent in sprintf at ./FHEM/59_Twilight.pm line 733.

Auch jetzt hängt Twilight im state/light 5 fest und next_event ist noch sr_weather (war um 09:19:07).

Interessant ist auch dieses Reading ohne Name aber mit dem Wert undefined:
READINGS:
     2020-10-21 00:00:01                   undefined

Müsste aber beim nächsten restart wieder weg sein in ein leeres Reading undefined umgewandelt werden:
READINGS:
     2020-10-21 00:00:01   undefined       


Zitat von: Beta-User am 20 Oktober 2020, 14:41:06An sich sollte übrigens die dispatch-Routine für Proplanta genau das userReadings abbilden, und zwar dann auch gleich noch für die richtigen Zeitpunkte in der Zukunft ;) .
Ok, ich verstehe das so, dass Twilight dann ein reading TwilightCloudCover im Proplanta_Device erwartet?
Oder geht es um die PROPLANTA-Readings wie fc._.*?



EDIT

Folgendes Warning kommt beim Start in Bezug auf Twilight:
2020.10.21 12:26:24 1: PERL WARNING: Use of uninitialized value $cmd in pattern match (m//) at fhem.pl line 5806.
2020.10.21 12:26:24 1: stacktrace:
2020.10.21 12:26:24 1:     main::__ANON__                      called by fhem.pl (5806)
2020.10.21 12:26:24 1:     main::perlSyntaxCheck               called by ./FHEM/59_Twilight.pm (441)
2020.10.21 12:26:24 1:     FHEM::Twilight::Twilight_init_ExtWeather_usage called by ./FHEM/59_Twilight.pm (389)
2020.10.21 12:26:24 1:     FHEM::Twilight::Twilight_Firstrun   called by fhem.pl (3350)
2020.10.21 12:26:24 1:     main::HandleTimeout                 called by fhem.pl (685)
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl