neues Modul Astro.pm

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

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Leute, etwas mehr Astronomiewissen solltet Ihr schon haben. Auch in unseren Breiten geht die Sonne zur Mittsommerzeit nicht so weit unter den Horizont, dass alle Dämmerungsdefinitionen sinnvoll sind ...

Einfach ein paar Wochen warten.

LG

pah

Frank_Huber

Danke Peter,

meine Erinnerung war falsch. Es ist nicht das es nach 00:00 Uhr ist,
die Sonne geht zur Zeit nicht tief genug, daher gibt es diesen Untergang gar nicht.

Dass das jedes Jahr um diese Zeit passiert war mir klar, hab nur die Ursache falsch im Kopf gehabt. :-)

eddy242

Ich kann den Kommentar zu meinen Astronomiekenntnissen nicht ganz nachvollziehen. Die Sonne geht Richtung 21.6. jeden abend etwas (ca. 2min) später unter, Richtung 21.12. dann wieder früher. Wenn ich abend aus meinem Fenster schaue (ich wohne nicht am Polarkreis sondern in den Breiten um Frankfurt) kann ich bestätigen, dass es abends noch vor Mitternacht dunkel ist, momentan gegen 22:30.

Daher ist meine (vielleicht naive) Erwartungshaltung, dass Readings, die CustomTwilightEvening oder CustomTwilightMorning heissen, auch jeden Tag aktualisiert werden, und zwar auf einen vom Vortag verschiedenen Wert.

Selbst wenn das so nicht stimmen würde, könnte ich immer noch nicht verstehen, warum zum Zeitpunkt meines Beitrages das Reading      2020-06-23 00:00:00   SunSet          21:37
2 Tage nicht aktualisiert wurde (siehe Listing), oder warum CustomTwilightMorning am 24.6. aktualisiert wurde aber CustomTwilightEvening letztmalig am 20.6.?

     2020-06-02 00:00:00   AstroTwilightEvening ---
     2020-06-02 00:00:00   AstroTwilightMorning ---
     2020-06-21 00:00:00   CivilTwilightEvening 22:21
     2020-06-25 00:00:00   CivilTwilightMorning 04:35
     2020-06-20 00:00:00   CustomTwilightEvening 21:46
     2020-06-24 00:00:00   CustomTwilightMorning 05:09

Prof. Dr. Peter Henning

#393
Zitatkönnte ich immer noch nicht verstehen
Macht nichts.

Edit: Wie bereits gesagt, einfach ein paar Wochen warten - dann wird die Erwartung wieder erfüllt.

LG

pah

rabehd

ZitatDie Sonne geht Richtung 21.6. jeden abend etwas (ca. 2min) später unter, Richtung 21.12. dann wieder früher. Wenn ich abend aus meinem Fenster schaue (ich wohne nicht am Polarkreis sondern in den Breiten um Frankfurt) kann ich bestätigen, dass es abends noch vor Mitternacht dunkel ist, momentan gegen 22:30.

Das Modul dient nicht zur Bestimmung ob es draußen dunkel oder hell ist.
Es gibt u.a. nur an wann die Sonne in einer bestimmten Höhe/Tiefe steht. Diese Höhe/Tiefe ist festgelegt und zwar nicht von Modulentwickler. Einfach mal die Internetsuche anwerfen.
Im Sommer kann es vorkommen, dass die Sonne nicht weitgenug unter den Horizont geht, dann enthalten die Readings keine Werte. Stichwort wäre hier "weise Nächte" (Kann man auch auf Rügen spüren) oder Polartag.

Der Modulentwickler hat uns sein Modul zur Verfügung gestellt, ob er ein Reading, welches sich nicht ändert updatet oder nicht ist seine Entscheidung. Oder unsere, in Bezug auf die Benutzung des Moduls.
Auch funktionierende Lösungen kann man hinterfragen.

eddy242

Hallo rabehd,

danke für die Erläuterung. Nur um nochmal ganz sicher zu gehen, das ist dann auch die Erklärung dafür dass zum Zeitpunkt meines Beitrages (25.6.) das Reading      2020-06-23 00:00:00   SunSet          21:37
2 Tage nicht aktualisiert wurde (siehe Listing), und dass CustomTwilightMorning am 24.6. aktualisiert wurde aber CustomTwilightEvening letztmalig am 20.6.? Das würde bedeuten, dass sich nach Ansicht des Moduls der Zeitpunkt des Sonnenuntergangs an mehreren aufeinanderfolgenden Tagen nicht ändert. Natürlich akzeptiere ich, dass diese Berechnung in der Hoheit des Modulautors liegt, werde aber dann eher zu Twilight wechseln. Da habe ich bisher beobachten können, dass Sunset etc täglich aktualisiert werden.


     2020-06-21 00:00:00   CivilTwilightEvening 22:21
     2020-06-25 00:00:00   CivilTwilightMorning 04:35
     2020-06-20 00:00:00   CustomTwilightEvening 21:46
     2020-06-24 00:00:00   CustomTwilightMorning 05:09

Nobbynews

#396
Also wenn ich mir mal den Zeitraum für meinen Standort in der Nähe von Düsseldorf ansehe, dann würde ich mal sagen, dass Astro richtig rechnet.
Der beigefügte Screenshot der App LunaSolCal zeigt das für den betreffenden Zeitraum deutlich.
Ob Twilight da richtig rechnet??

Prof. Dr. Peter Henning

@eddy242: "In der Hoheit des Modulautors" ist granatenmäßiger Unsinn. Hier werden astronomische Berechnungen nach anerkannten Verfahren durchgeführt. Wer nicht über die mathematischen und astronomischen Kenntnisse verfügt, um diese Berechnungen überprüfen zu können, sollte sich entweder auf die Nutzung beschränken oder zu anderer Software wechseln. Es reicht jetzt mit dem Gemäkel, bitte das Modul wechseln.


Für alle anderen der Hinweis, dass selbstverständlich die Änderungsrate von Auf- und Untergangszeiten in der Nähe der Sommersonnenwende sehr klein ist.

pah

romakrau

Hallo zusammen,
der Ersteller der Phasenbilder teilte mir gerade mit, dass der Link vorübergehend nicht erreichbar ist und er die Bilder unter folgendem Link zur Verfügung stellt:

https://www.starpage.de/phasenbilder.zip

Gruß
Roman

andies

Ich habe eine Frage zu den Mondphasen - ich habe da keine genaue Definition gefunden. Natürlich kenne ich Vollmond und so, aber was genau gibt das Modul mit den N- und I-Phasen aus? Das sind ja technisch Zahlen. Auch in Wikipedia habe ich keine Normierung gefunden; weiß das jemand?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Prof. Dr. Peter Henning

Steht doch da:
Zitat#-- Age of Moon in radians since New Moon (0) - Full Moon (pi)
  $moonCoor{age}    = _mod2Pi($l3-$sunlon);   
  $moonCoor{phasen} = 0.5*(1-cos($moonCoor{age})); # Moon phase numerical, 0-1
 
  my $mainPhase = 1./29.53*360*$DEG; # show 'Newmoon, 'Quarter' for +/-1 day around the actual event
  my $p = _mod($moonCoor{age}, 90.*$DEG);
  if ($p < $mainPhase || $p > 90*$DEG-$mainPhase){
    $p = 2*floor($moonCoor{age} / (90.*$DEG)+0.5);
  }else{
    $p = 2*floor($moonCoor{age} / (90.*$DEG))+1;
  }
  $p = $p % 8;
  $moonCoor{phases} = $phases[$p];
  $moonCoor{phasei} = $p;
  $moonCoor{sig}    = $zodiac[floor($moonCoor{lon}*$RAD/30)];

PhaseN = Mondalter in Radians. Vollmond = Pi = 3,14
PhaseI = Ganzzahlen von 0 .. 7 für das Mondalter.

LG

pah

Sailor

Ein herzerfrischendes Moin vom achtern Diek vorweg!

Nur für den Fall, dass es Jemand nützlich findet:

Wer von dem alten YAHOO Modul auf PAHs 95_Astro.pm umgestiegen ist aber nicht auf die Lichtstufen verzichten möchte mit dem man im ftui die Tageslicht-Szenen programmiert hat, kann mit 2 Atrributen die Kompatibilitaet wieder herstellen:


attr myAstro userReadings

light {
my $SunAlt = ReadingsVal($name,"SunAlt",0);
my $Indoor_Horizon = AttrVal($name, "indoor_horizon", 0);
my $LightIndex;

### 0 - total night, sun is at least -18 degree below horizon
if ($SunAlt <= -18) {
$LightIndex = 0;
}
### 1 - astronomical twilight, sun is between -12 and -18 degree below horizon
elsif (($SunAlt > -18) && ($SunAlt <= -12)) {
$LightIndex = 1;
}
### 2 - nautical twilight, sun is between -6 and -12 degree below horizon
elsif (($SunAlt > -12) && ($SunAlt <=  -6)) {
$LightIndex = 2;
}
### 3 - civil twilight, sun is between 0 and -6 degree below horizon
elsif (($SunAlt >  -6) && ($SunAlt <=   0)) {
$LightIndex = 3;
}
### 4 - indoor twilight, sun is between the indoor_horizon and 0 degree below horizon (not used if indoor_horizon=0)
elsif (($Indoor_Horizon < 0) && ($SunAlt <= 0) && ($SunAlt > $Indoor_Horizon)) {
$LightIndex = 4;
}
### 5 - weather twilight, sun is between indoor_horizon and a virtual weather horizon (the weather horizon depends on weather conditions (optional)

### 6 - maximum daylight
elsif ($SunAlt > 0) {
$LightIndex = 6;
}
$LightIndex
}

attr myAstro userattr indoor_horizon


Lichtszene 5 existiert dann einfach nicht mehr da PAH natürlich keine Wetterbedingte Abschattung berechnet.

Gruß
    Sailor
******************************
Man wird immer besser...

andies

FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Prof. Dr. Peter Henning

Zitatftui die Tageslicht-Szenen

Gibts dazu ein Beispiel oder einen Screenshot?

LG

pah

Sailor

Zitat von: Prof. Dr. Peter Henning am 02 Dezember 2020, 16:54:31
Gibts dazu ein Beispiel oder einen Screenshot?

Puh, ob ich das im Forum wiederfinde...

Also ich habe in der index.html des fhem ftui Frontends folgenden Code hinterlegt:


<!-- Different Stylesheet depending on daylight conditions calculated by the twilight module -->
<link rel="stylesheet" href="css/lightscene-0.css" data-type="theme" data-device="OS_Astro" data-get="light" data-get-on="0" data-get-off="!0" />
<link rel="stylesheet" href="css/lightscene-1.css" data-type="theme" data-device="OS_Astro" data-get="light" data-get-on="1" data-get-off="!1" />
<link rel="stylesheet" href="css/lightscene-2.css" data-type="theme" data-device="OS_Astro" data-get="light" data-get-on="2" data-get-off="!2" />
<link rel="stylesheet" href="css/lightscene-3.css" data-type="theme" data-device="OS_Astro" data-get="light" data-get-on="3" data-get-off="!3" />
<link rel="stylesheet" href="css/lightscene-4.css" data-type="theme" data-device="OS_Astro" data-get="light" data-get-on="4" data-get-off="!4" />
<link rel="stylesheet" href="css/lightscene-5.css" data-type="theme" data-device="OS_Astro" data-get="light" data-get-on="5" data-get-off="!5" />
<link rel="stylesheet" href="css/lightscene-6.css" data-type="theme" data-device="OS_Astro" data-get="light" data-get-on="6" data-get-off="!6" />


Die Beispielhafte "lightscene-0.css" sieht folgendermaßen aus:

body {
    background-color: transparent;
    background-image: url('../images/Background-0.png');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
background-size: cover;
background-clip: border-box;
}
.semitransparent {
    background: rgba(0, 0, 0, 0.7) !important;
}

Diese Datei muss dann entsprechend 7 mal (0 - 6) kopiert und entsprechend abgeändert werden.

Das bewirkt, dass entsprechend des Sonnenstandes das Hintergrundbild des ftui Frontends geändert wird.

Gruß
    Sailor
******************************
Man wird immer besser...