diff --git a/bot/moon.php b/bot/moon.php deleted file mode 100644 index 823d920..0000000 --- a/bot/moon.php +++ /dev/null @@ -1,269 +0,0 @@ -= 99 ){ //--Vollmond - $phase_text = 'Vollmond'; - if($mondphase>=99){ - $pic = rescale([99,100],[172,177]);} // ([Mondphasen von,bis],[Bildnummern von,bis]) - else{ - $pic = rescale([0,1],[178,182]);} - $pic_n = floor($pic($mondphase)); - if($pic_n<10){ - $pic_n = "00".$pic_n;} - elseif($pic_n<100){ - $pic_n = "0".$pic_n;} - else{$pic_n = $pic_n;} - $path = ''; - setvalue(32646 /*[Wetterdaten\Astronomische Daten\Mondansicht]*/, $path); - } - elseif ($mondphase > 1 && $mondphase < 49){ //--abnehmender Mond - $phase_text = 'abnehmender Mond'; - $pic = rescale([2,48],[183,352]); - $pic_n = floor($pic($mondphase)); - if($pic_n<10){ - $pic_n = "00".$pic_n;} - elseif($pic_n<100){ - $pic_n = "0".$pic_n;} - else{$pic_n = $pic_n;} - $path = ''; - setvalue(32646 /*[Wetterdaten\Astronomische Daten\Mondansicht]*/, $path); - } - elseif ($mondphase >= 49 && $mondphase <= 51){ //--Neumond - $phase_text = 'Neumond'; - $pic = rescale([49,51],[353,362]); - $pic_n = floor($pic($mondphase)); - if($pic_n<10){ - $pic_n = "00".$pic_n;} - elseif($pic_n<100){ - $pic_n = "0".$pic_n;} - else{$pic_n = $pic_n;} - $path = ''; - setvalue(32646 /*[Wetterdaten\Astronomische Daten\Mondansicht]*/, $path); - } - else{ //--zunehmender Mond - $phase_text = 'zunehmender Mond'; - $pic = rescale([52,98],[008,171]); - $pic_n = floor($pic($mondphase)); - if($pic_n<10){ - $pic_n = "00".$pic_n;} - elseif($pic_n<100){ - $pic_n = "0".$pic_n;} - else{$pic_n = $pic_n;} - $path = ''; - setvalue(32646 /*[Wetterdaten\Astronomische Daten\Mondansicht]*/, $path); - } - -//------------------------------------------------------------------------------ - -// ============================================================ -// -// Phasen: phase = 0 für Neumond -// phase = 0.25 für erstes Viertel -// phase = 0.5 für Vollmond -// phase = 0.75 für letztes Viertel -// Für Werte anders als 0, 0.25, 0.5 oder 0.75 ist nachstehendes Script ungültig. -// Angabe des Zeitpunktes als Fließkomma-Jahreszahl -// Bsp.: 1.8.2006 = ca. 2006.581 -// -// Ergebnis: $JDE -// ============================================================ - -// aktuelles Datum in Jahre umrechnen -$year = ((((((date("s") / 60)+ date("i")) / 60)+date("G")) / 24) + date("z") - 1) / (365 + (date("L"))) + date("Y"); -//print_r(date("z")); -$rads = 3.14159265359/180; - -$table = ""; -$name = ""; - -for ($phase = 0; $phase < 1; $phase += 0.25){ - // Anzahl der Mondphasen seit 2000 - $k = floor(($year-2000)*12.36853087)+$phase; - // Mittlerer JDE Wert des Ereignisses - $JDE = 2451550.09766+29.530588861*$k; - // Relevante Winkelwerte in [Radiant] - $M = (2.5534+29.10535670*$k)*$rads; - $Ms = (201.5643+385.81693528*$k)*$rads; - $F = (160.7108+390.67050284*$k)*$rads; - - if ($phase == 0){ - // Korrekturterme JDE für Neumond - $JDE += -0.40720*Sin($Ms); - $JDE += 0.17241*Sin($M); - $JDE += 0.01608*Sin(2*$Ms); - $JDE += 0.01039*Sin(2*$F); - $JDE += 0.00739*Sin($Ms-$M); - $JDE += -0.00514*Sin($Ms+$M); - $JDE += 0.00208*Sin(2*$M); - $JDE += -0.00111*Sin($Ms-2*$F); - } - elseif ($phase == 0.5) { - // Korrekturterme JDE für Vollmond - $JDE += -0.40614*Sin($Ms); - $JDE += 0.17302*Sin($M); - $JDE += 0.01614*Sin(2*$Ms); - $JDE += 0.01043*Sin(2*$F); - $JDE += 0.00734*Sin($Ms-$M); - $JDE += -0.00515*Sin($Ms+$M); - $JDE += 0.00209*Sin(2*$M); - $JDE += -0.00111*Sin($Ms-2*$F); - } - - if ($phase == 0.25 || $phase == 0.75){ - // Korrekturterme für JDE für das 1. bzw. letzte Viertel - $JDE += -0.62801*Sin($Ms); - $JDE += 0.17172*Sin($M); - $JDE += -0.01183*Sin($Ms+$M); - $JDE += 0.00862*Sin(2*$Ms); - $JDE += 0.00804*Sin(2*$F); - $JDE += 0.00454*Sin($Ms-$M); - $JDE += 0.00204*Sin(2*$M); - $JDE += -0.00180*Sin($Ms-2*$F); - - // Weiterer Korrekturterm für Viertelphasen - if ($phase == 0.25){ - $JDE += 0.00306; - } else { - $JDE += -0.00306; - } - } - - // Konvertierung von Julianischem Datum auf Gregorianisches Datum - $z = floor($JDE + 0.5); - $f = ($JDE + 0.5) - floor($JDE + 0.5); - if ($z < 2299161){ - $a = $z; - } - else { - $g = floor(($z - 1867216.25) / 36524.25); - $a = $z + 1 + $g - floor($g / 4); - } - $b = $a + 1524; - $c = floor(($b - 122.1) / 365.25); - $d = floor(365.25 * $c); - $e = floor(($b - $d) / 30.6001); - - $tag_temp = $b - $d - floor(30.6001 * $e) + $f; //Tag incl. Tagesbruchteilen - $stunde_temp = ($tag_temp - floor($tag_temp)) * 24; - $minute_temp = ($stunde_temp - floor($stunde_temp)) * 60; - - $stunde = floor($stunde_temp); - $minute = floor($minute_temp); - $sekunde = round(($minute_temp - floor($minute_temp)) * 60); - - $tag = floor($tag_temp); - - if ($e < 14) { - $monat = $e -1; - } - else { - $monat = $e - 13; - } - if ($monat > 2) { - $jahr = $c - 4716; - } - else { - $jahr = $c - 4715; - } - - $sommerzeit = date("I"); - if($sommerzeit == 0){ - $datum = mktime($stunde,$minute,$sekunde+3600,$monat,$tag,$jahr); - } - else{ - $datum = mktime($stunde,$minute,$sekunde+7200,$monat,$tag,$jahr); - } - - switch ($phase){ - case 0: - $ausgabe = 'Neumond'; - break; - case 0.25: - $ausgabe = 'erstes Viertel'; - break; - case 0.5: - $ausgabe = 'Vollmond'; - break; - case 0.75: - $ausgabe = 'letztes Viertel'; - break; - } - - $date = date("D",($datum)); - if($date == "Mon"){ - $wt = "Mo";} - elseif ($date == "Tue"){ - $wt = "Di";} - elseif ($date == "Wed"){ - $wt = "Mi";} - elseif ($date == "Thu"){ - $wt = "Do";} - elseif ($date == "Fri"){ - $wt = "Fr";} - elseif ($date == "Sat"){ - $wt = "Sa";} - elseif ($date == "Sun"){ - $wt = "So";} - - $table .= ($wt.", ".date("d.m.Y H:i",($datum)).";"); - $name .= ($ausgabe.";"); - } - - -setvalue(18785 /*[Wetterdaten\Astronomische Daten\Mondphase]*/,$phase_text." - ".$mondphase."%"); -$var = explode(";",$table); -$var_name = explode(";",$name); -IPS_SetName(11478 /*[Wetterdaten\Astronomische Daten\Neumond]*/, $var_name[0]); -IPS_SetName(52027 /*[Wetterdaten\Astronomische Daten\erstes Viertel]*/, $var_name[1]); -IPS_SetName(53514 /*[Wetterdaten\Astronomische Daten\Vollmond]*/, $var_name[2]); -IPS_SetName(41504 /*[Wetterdaten\Astronomische Daten\letztes Viertel]*/, $var_name[3]); -setvalue(11478 /*[Wetterdaten\Astronomische Daten\Neumond]*/, $var[0]); -setvalue(52027 /*[Wetterdaten\Astronomische Daten\erstes Viertel]*/, $var[1]); -setvalue(53514 /*[Wetterdaten\Astronomische Daten\Vollmond]*/, $var[2]); -setvalue(41504 /*[Wetterdaten\Astronomische Daten\letztes Viertel]*/, $var[3]); - - -//------------------------------------------------------------------------------ -// Berechnung der Mondauf/untergangs Zeiten - -$month = date("m"); -$day = date("d"); -$year = date("Y"); - -include "55184.ips.php"; // Aufruf Moon Rise/Set Script - -$data = (Moon::calculateMoonTimes($month, $day, $year, (getvalue(29795 /*[Scripte\Sonnenauf/untergang\Breitengrad (x1000000)]*/)/1000000), (getvalue(31634 /*[Scripte\Sonnenauf/untergang\Längengrad (x1000000)]*/)/1000000))); - -$rise = $data->{'moonrise'}; //Aufgang -$set = $data->{'moonset'}; //Untergang - -setvalue(55563 /*[Wetterdaten\Astronomische Daten\Mondaufgang]*/,date("H:i",$rise)); -setvalue(31319 /*[Wetterdaten\Astronomische Daten\Monduntergang]*/,date("H:i",$set)); - - -?> \ No newline at end of file diff --git a/bot/testmoon2.py b/bot/moon.py similarity index 100% rename from bot/testmoon2.py rename to bot/moon.py diff --git a/bot/testbot.py b/bot/testbot.py index d01063a..08a4df6 100644 --- a/bot/testbot.py +++ b/bot/testbot.py @@ -1,5 +1,5 @@ import datetime -import testmoon2 +import moon from mastodon import Mastodon # Set up Mastodon @@ -12,9 +12,9 @@ mastodon = Mastodon( now = datetime.datetime.now() moon_text="Aktuelle Mondphase:\n" -moon_text+=testmoon2.moon_phase_as_text(now) +moon_text+=moon.moon_phase_as_text(now) moon_text+="\n" -moon_text+=testmoon2.till_next_full_as_text(now) +moon_text+=moon.till_next_full_as_text(now) print(moon_text) mastodon.status_post(moon_text) diff --git a/bot/testmoon.py b/bot/testmoon.py deleted file mode 100644 index 63cd1bf..0000000 --- a/bot/testmoon.py +++ /dev/null @@ -1,44 +0,0 @@ -from astral.moon import phase -from mastodon import Mastodon -import datetime - -# Set up Mastodon -mastodon = Mastodon( - access_token = 'testtoken.secret', - # api_base_url = 'https://fnordon.de/' - api_base_url = 'https://mastodon.wazongtest.de/' -) - -now = datetime.datetime.now() -moon_today = phase(now) - -until_full = 14.00 - moon_today -print("until_full", end=": ") -print(until_full) -if (until_full<0): - until_full+=29.53 - print("corrected", end=": ") - print(until_full) - -moon_yesterday = phase(now - datetime.timedelta(days=1)) -moon_tomorrow = phase(now + datetime.timedelta(days=1)) - -next_full = now + datetime.timedelta(days=(until_full*1.055)) - -moon_text = "Next full moon " + format(next_full.isoformat()) - -# mastodon.status_post(moon_text) - -print("Heute", end=": ") -print(now) -print("Mext full", end=": ") -print(next_full) - -print("Mond gestern", end=": ") -print(moon_yesterday) -print("Mond heute", end=": ") -print(moon_today) -print("bis Vollmond", end=": ") -print(until_full) -print("Mond morgen", end=": ") -print(moon_tomorrow) \ No newline at end of file