neues Modul Astro.pm

Begonnen von Prof. Dr. Peter Henning, 05 Juli 2017, 21:39:21

Vorheriges Thema - Nächstes Thema

ch.eick

Zitat von: Sailor am 22 Mai 2023, 10:01:06Ein herzerfrischendes MOIN vom achtern Diek vorweg!

Ich habe da mal eine rein theoretische Frage.

Das Astro - Modul ist ja in der Lage den Azimuth des augenblicklichen Sonnenstandes zu ermitteln.

Da habe ich mir mal im Hinblick auf photovoltaische Dacheindeckung die theoretische Frage gestellt, ob es einfach wäre die Panels auf dem Dach mittels Schrittmotor zur Seite zu kippen und zwar genau zu der von der Dachausrichtung abweichenden Sonnenstand.

Beispiel: Dachausrichtung = 185° (Süd - Ost).
Falls AzimuthSonne - Dachausrichtung < 0 => Kippwinkel = 0°
Falls AzimuthSonne - Dachausrichtung > 0 => Kippwinkel = AzimuthSonne - Dachausrichtung
Falls Kippwinkel > Ermittelte Verschattung gegeneinander => Kippwinkel nicht weiter erhöhen

Die gegenseitige Verschattung könnte wiederum von der Höhe der Sonne (Jahreszeit) abhängen.

Ist diese Überlegung zu einfach gedacht?
Hallo Sailor,
der Gedanke ist recht gut und geht in die Richtung einer nachgeführten PV-Anlage.
Zu berücksichtigen ist jedoch,
- ob sich die Kosten für den Mehrertrag lohnen
- Die Windlast sollte der Mechanismus aushalten können
- Das ganze sollte Schnee und frostsichere Mechanik haben

Ich denke, das sind dann leider schon Argumente gegen den Umbau :-(

Das Thema würde übrigens besser bei den Solaranlagen angesiedelt werden.

VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

#436
Hallo zusammen,
für das SunRise reading habe ich ein event-on-update-reading gesetzt, jedoch musste ich jetzt feststellen, dass es bereits zwei mal nicht ausgelöst wurde.
Wie könnte ich dem ganzen jetzt auf die Schliche kommen?
Stellt der Astro Dienst die Daten eventuell bei Gleichheit nicht zur Verfügung?
Wäre es dann denkbar, dass man im Modul dann trotzdem einen Event auslöst?

Für Hinweise wäre ich dankbar
    Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

frank

wenn module im code eine reduzierung für events eingebaut haben, gibt es dafür ein "gegenmittel".

https://forum.fhem.de/index.php/topic,112825.msg1184583.html#msg1184583
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

ch.eick

#438
Zitat von: frank am 05 Juni 2023, 14:53:21wenn module im code eine reduzierung für events eingebaut haben, gibt es dafür ein "gegenmittel".

https://forum.fhem.de/index.php/topic,112825.msg1184583.html#msg1184583
Danke für den Tip, bei mir scheint jedoch das SunRise eventuell gar nicht vom Astro Dienst zu kommen, denn selbst wenn der Wert der selbe wäre, sollte ja ein Event kommen.
Im Normalfall hat das ja auch immer funktioniert, mit Ausnahme von zwei mal im Zeitraum der letzten Woche.
Ich verwende das auch nur zum Triggern, da der Wert nur einmal am Tag aktualisiert wird. Mit einem Timer könnte ich mir da auch behelfen, was jedoch nicht so elegant wäre.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Prof. Dr. Peter Henning

Die DatEn kommen nicht vom DWD. Und dass es im Juni in nördlichen Teilen Deutschlands manche der Sonnenaufgangstypen nicht gibt, sollte auch klar sein.

ch.eick

Zitat von: Prof. Dr. Peter Henning am 05 Juni 2023, 18:01:47Die DatEn kommen nicht vom DWD. Und dass es im Juni in nördlichen Teilen Deutschlands manche der Sonnenaufgangstypen nicht gibt, sollte auch klar sein.
Oh sorry, ich habe gerade zuviele Baustellen, DWD ist natürlich falsch.

Das SunRise reading hatte bei mir im Raum Frankfurt bisher sehr schön jeden Tag ein Event ausgelöst, am Polarkreis sieht das allerdings anders aus :-)
Ist denn mein Gedanke, dass ich über den Astro Dienst jeden Tag ein SunRise Event bei event-on-update-reading bekomme richtig?
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Guten Morgen,
heute ist es schon wieder passiert, dass SunRise nicht berechnet und somit kein Event erzeugt wurde.
Internals:
   FUUID      5e1f30b1-f33f-61a8-8334-b9ae51f7f58e2c60
   FVERSION   95_Astro.pm:v2.2.0-s25198/2021-11-07
   INTERVAL   600
   NAME       Astro
   NEXTUPDATE 2023-06-07 07:15:45
   NOTIFYDEV  global
   NR         388
   NTFY_ORDER 45-Astro
   RECOMPUTEAT NewDay,SunRise,SunSet,AstroTwilightEvening,AstroTwilightMorning,CivilTwilightEvening,CivilTwilightMorning,CustomTwilightEvening,CustomTwilightMorning
   STATE      Updated
   TYPE       Astro
   eventCount 844
   Helper:
     DBLOG:
       SunAlt:
         LogDB:
           TIME       1686114345.9573
           VALUE      14.7
       SunAz:
         LogDB:
           TIME       1686114345.9573
           VALUE      71.5
       fc0_10_SunAlt:
         LogDB:
           TIME       1686002400.33468
           VALUE      41.9
< snip >
       fc1_9_SunAz:
         LogDB:
           TIME       1686002400.33468
           VALUE      92.4
   READINGS:
     2023-06-02 00:00:00   AstroTwilightEvening ---
     2023-06-02 00:00:00   AstroTwilightMorning ---
     2023-06-07 00:00:00   CivilTwilightEvening 22:14
     2023-06-07 00:00:00   CivilTwilightMorning 04:35
     2023-06-07 00:00:00   CustomTwilightEvening 21:24
     2023-06-07 00:00:00   CustomTwilightMorning 05:25
     2023-06-07 07:05:45   MoonAge         221.7
     2023-06-07 07:05:45   MoonAlt         6.4
     2023-06-07 07:05:45   MoonAz          215
     2023-06-07 06:55:45   MoonDec         -26.4
     2023-06-07 00:30:00   MoonDiameter    32.8
     2023-06-07 07:05:45   MoonDistance    364384
     2023-06-07 07:05:45   MoonDistanceObserver 363765
     2023-06-07 00:00:00   MoonHrsInvisible 16:28
     2023-06-07 00:00:00   MoonHrsVisible  07:31
     2023-06-06 19:26:14   MoonLat         -5
     2023-06-07 07:05:45   MoonLon         297.9
     2023-06-05 03:20:00   MoonPhaseI      5
     2023-06-07 06:45:45   MoonPhaseN      0.87
     2023-06-05 03:20:00   MoonPhaseS      Abnehmender Mond
     2023-06-07 04:20:00   MoonRa          20:00
     2023-06-07 00:00:00   MoonRise        00:41
     2023-06-07 00:00:00   MoonSet         08:13
     2023-06-05 09:26:45   MoonSign        Steinbock
     2023-06-05 09:26:45   MoonSignN       9
     2023-06-07 00:00:00   MoonTransit     04:22
     2023-06-07 00:00:00   NauticTwilightEvening 23:16
     2023-06-07 00:00:00   NauticTwilightMorning 03:33
     2020-01-15 16:33:07   ObsAlt          93
     2023-06-07 00:00:00   ObsDate         07.06.2023
     2023-06-07 00:00:00   ObsDayofyear    158
     2023-06-07 07:05:45   ObsGMST         22:07:08
     2020-01-15 16:33:07   ObsHorEvening   0
     2020-01-15 16:33:07   ObsHorMorning   0
     2023-03-26 03:00:12   ObsIsDST        1
     2023-06-07 06:55:45   ObsJD           2460102.71
     2023-06-07 07:05:45   ObsLMST         22:41:06
     2020-01-15 16:33:07   ObsLat          49.85750
     2020-01-15 16:33:07   ObsLon          8.49420
     2023-03-20 00:00:00   ObsSeason       Frühling
     2023-03-20 00:00:00   ObsSeasonN      1
     2023-06-07 07:05:45   ObsTime         07:05:45
     2023-03-26 03:00:12   ObsTimezone     2
     2023-03-26 03:00:12   ObsTimezoneS    CEST
     2023-06-07 07:05:45   SunAlt          14.7
     2023-06-07 07:05:45   SunAz           71.5
     2023-06-06 13:16:14   SunDec          22.7
     2023-05-31 03:53:03   SunDiameter     31.5
     2023-06-07 07:05:45   SunDistance     151826934
     2023-06-07 07:05:45   SunDistanceObserver 151825376
     2023-06-07 00:00:00   SunHrsInvisible 07:48
     2023-06-07 00:00:00   SunHrsVisible   16:11
     2023-06-07 05:05:53   SunLon          76.2
     2023-06-06 00:00:00   SunRise         05:19               <<<<<<<<<<<<<<<<<
     2023-06-07 00:00:00   SunSet          21:30
     2023-05-23 06:55:49   SunSign         Zwillinge
     2023-05-23 06:55:49   SunSignN        2
     2023-06-02 00:00:00   SunTransit      13:24
     2023-06-06 00:00:00   fc0_10_SunAlt   41.9
     2023-06-06 00:00:00   fc0_10_SunAz    105.1
< snip >
     2023-06-06 00:00:00   fc1_9_SunAlt    32.4
     2023-06-06 00:00:00   fc1_9_SunAz     92.4
     2023-06-07 07:05:46   state           Updated
Attributes:
   DbLogExclude .*
   DbLogInclude SunAlt,SunAz,fc.*_.*
   alias      Astro
   event-on-change-reading SunAlt,SunAz,ObsSeason,ObsSeasonN,.*Twilight.*
   event-on-update-reading SunRise.*,fc.*_.*
   group      ASC Environment
   icon       telescope
   interval   600
   recomputeAt NewDay,SunRise,SunSet,AstroTwilightEvening,AstroTwilightMorning,CivilTwilightEvening,CivilTwilightMorning,CustomTwilightEvening,CustomTwilightMorning
   room       Informationen->Wetter,Rollos
   sortby     08
   userReadings fc0_6_SunAlt:SunRise.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 06:00:00",localtime))},
fc0_7_SunAlt:SunRise.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 07:00:00",localtime))},
fc0_8_SunAlt:SunRise.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 08:00:00",localtime))},
< snip >
fc1_20_SunAz:SunRise.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 20:00:00",localtime(time+1*24*60*60)))},
fc1_21_SunAz:SunRise.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 21:00:00",localtime(time+1*24*60*60)))}
   verbose    0
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

frank

ich habe gestern im code gesehen, dass wohl alle readings (ausnahme state) mit der funktion readingsBulkUpdateIfChanged aktualisiert werden.
der name der funktion ist sicherlich program.

kurz vor dem längsten tag des jahres wird die tägliche änderung von sunrise vermutlich unter einer minute sein, so dass nicht mehr jeden tag eine "sichtbare" änderung im reading zu sehen ist.

versuche mit dem attribut "forceEvents" haben leider weiterhin nur events bei änderungen ausgelöst.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

ch.eick

#443
Zitat von: frank am 07 Juni 2023, 08:15:22ich habe gestern im code gesehen, dass wohl alle readings (ausnahme state) mit der funktion readingsBulkUpdateIfChanged aktualisiert werden.
der name der funktion ist sicherlich program.

kurz vor dem längsten tag des jahres wird die tägliche änderung von sunrise vermutlich unter einer minute sein, so dass nicht mehr jeden tag eine "sichtbare" änderung im reading zu sehen ist.

versuche mit dem attribut "forceEvents" haben leider weiterhin nur events bei änderungen ausgelöst.

Okay, eigentlich hätte ich erhofft, dass das Astro Modul immer den Update der readings macht und durch das "event-on-[update|change]-reading" die Auswahl der Events bestimmt würde.
Als zwischen Lösung könnte ich dann jetzt mit einem Timer das SunRise reading lesen und direkt wieder mit setreading schreiben, denn das mache ich im Fall der Fälle jetzt auch manuell so.

EDIT: Gerade habe ich gesehen, dass ObsDate sich wohl auch nur einmal pro Tag aktualisiert, dann könnte ich das auch als Trigger verwenden, was ich jetzt dann mal teste.

Ich hatte noch gar nicht den Hintergrund genannt:
Für meine PV-Leistungsprognose benötige ich auch die fc[0|1] Werte des Sonnenstandes, die ich mir über userreadings mit ins Astro Device schreibe, damit dort dann alle Astro Daten zusammen abgelegt sind und mit DbLog dann in die Datenbank geschrieben werden.
fc0_6_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 06:00:00",localtime))}
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Prof. Dr. Peter Henning

eigentlich hätte ich erwartet erhofft ?

Ich enttäusche ja nur ungern, aber das wird im Modul so bleiben.

PV-Ertragsprognose? Ich weiß ja nicht, wie lange die betreffende Anlage schon läuft. Kann aber nach 16 Betriebsjahren meiner Anlage ganz klar sagen: Diese Daten schaut sich niemand mehr an, sie haben wegen der nicht eingehenden atmosphärischen Bedingungen auch keinerlei Aussagekraft. Das einzige, was man verfolgen sollte: Monatsertrag im Vergleich zum durchschnittlichen Monatsertrag.

LG

pah

ch.eick

Zitat von: Prof. Dr. Peter Henning am 14 Juli 2023, 12:24:23PV-Ertragsprognose? Ich weiß ja nicht, wie lange die betreffende Anlage schon läuft. Kann aber nach 16 Betriebsjahren meiner Anlage ganz klar sagen: Diese Daten schaut sich niemand mehr an, sie haben wegen der nicht eingehenden atmosphärischen Bedingungen auch keinerlei Aussagekraft. Das einzige, was man verfolgen sollte: Monatsertrag im Vergleich zum durchschnittlichen Monatsertrag.
Das sehe ich auch so, jedoch steuere ich meine Verbraucher in Abhängigkeit der Prognose von heute und morgen. Danach braucht man die Prognose Daten nicht mehr.

VG Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick