Astronomie Modul

Hi Fonzo,

habe es ausprobiert und es funktioniert ! Vielen Dank für die schnelle Reaktion!

Übrigens reichte es den IPS_LogMessage aus dem module.php zu entfernen, dann hat das Update einwandfrei geklappt.

Danke nochmals und Gruß,
Geolin

Funktioniert jetzt, danke …

Tolles Modul! Besten Dank!

Hi Fonzo,

ich habe bisher zur Berechnung der Mondphasenzeiten ein eigenes (na gut, geklautes und angepasstes ;)) Script verwendet. Jetzt hab ich mir Dein Modul mal angekuckt und finde das natürlich ne ganze Ecke cooler :). Ist es möglich, bei den Zeitpunktangaben Neumond / Vollmond auch den jeweiligen zukünftigen Termin zu berechnen? Das wäre super, meine Frau will nämlich immer im Voraus wissen, wann sie schlecht schlafen kann :D. Ich glaube, das wurde auch in einem Beitrag schon mal diskutiert, ich hab ihn aber nicht mehr gefunden.

Danke Dir und viele Grüße …

Huhu - grad installiert und läuft soweit gut. Nur fehlt mir ein Mond Bild.

Oh tatsächlich, wo hat sich da nur hin verkrümelt? Ich ergänze das später. Wenn Du vorübergehend auf normal und nicht transparent wechselst sollte Bild 100 da sein. Melde mich sobald ich das korrigiert habe.

Ich werde das mal ergänzen ich melde mich sobald ich da fertig bin.

Top-Arbeit, ganz herzlichen Dank, Fonzo!

So Update ist online, jetzt sollte dann auch Bild 100 vorhanden sein.

Es gibt ein Update für die Mondphasen Daten.

Es gibt nun vier neue Variablen, die bei Bedarf vom Modul angelegt werden können.

[ul]
[li] Zeitpunkt Aktueller Zyklus Neumond
[/li][li] Zeitpunkt Aktueller Zyklus Erstes Viertel
[/li][li] Zeitpunkt Aktueller Zyklus Vollmond
[/li][li] Zeitpunkt Aktueller Zyklus Letztes Viertel
[/li][/ul]

In diesen Variablen werden stets die Daten des aktuellen Zyklus abgelegt.

Die Variablen

[ul]
[li] Zeitpunkt Neumond
[/li][li] Zeitpunkt Erstes Viertel
[/li][li] Zeitpunkt Vollmond
[/li][li] Zeitpunkt Letztes Viertel
[/li][/ul]

bleiben bestehen. Hier hat sich das Verhalten aber nun geändert. Sobald ein Zeitpunkt in der Vergangenheit liegt, wird automatisch das Datum des nächsten Ereignisses, der nächsten Mondphase, in die Variable geschrieben.

Neben den Variablen können die Daten auch über Methoden abgerufen werden.

Astronomy_Moon_FirstQuarter(int $InstanceID)

Zeitpunkt Erstes Viertel, sollte der Zeitpunkt in der Vergangenheit liegen wird das wird der nächste Zeitpunkt der nächsten Mondphase ausgegeben

Astronomy_Moon_Newmoon(int $InstanceID)

Zeitpunkt Neumond, sollte der Zeitpunkt in der Vergangenheit liegen wird das wird der nächste Zeitpunkt der nächsten Mondphase ausgegeben

Astronomy_Moon_Fullmoon(int $InstanceID)

Zeitpunkt Vollmond, sollte der Zeitpunkt in der Vergangenheit liegen wird das wird der nächste Zeitpunkt der nächsten Mondphase ausgegeben

Astronomy_Moon_LastQuarter(int $InstanceID)

Zeitpunkt Letztes Viertel, Zeitpunkt Erstes Viertel, sollte der Zeitpunkt in der Vergangenheit liegen wird das wird der nächste Zeitpunkt der nächsten Mondphase ausgegeben

Astronomy_Moon_CurrentFirstQuarter(int $InstanceID)

Zeitpunkt Erstes Viertel des aktuellen Zyklus

Astronomy_Moon_CurrentNewmoon(int $InstanceID)

Zeitpunkt Neumond des aktuellen Zyklus

Astronomy_Moon_CurrentFullmoon(int $InstanceID)

Zeitpunkt Vollmond des aktuellen Zyklus

Astronomy_Moon_CurrentLastQuarter(int $InstanceID)

Zeitpunkt Letztes Viertel des aktuellen Zyklus

Rückgabewert ist jeweils ein Array

Beispiel


        $AstroID = 12345 /*[Astronomie]*/;
	
	$newmoon = Astronomy_Moon_Newmoon($AstroID);
	
	$newmoonstring = $newmoon["newmoon"];
	$newmoondate = $newmoon["newmoondate"];
	$newmoontime = $newmoon["newmoontime"];
	
	echo "Neumond am ".$newmoonstring.". Am ".$newmoondate." um ".$newmoontime." Uhr ist Neumond.";

Die Daten werden in den Variablen nun automatisch aktualisiert (s.o.). Sollte der Wunsch bestehen ein Ereignis zu berechnen kann dies über die folgenden Methoden gemacht werden:

Astronomy_Moon_FirstQuarterDate(int $InstanceID, string $date)

Zeitpunkt Erstes Viertel zum übergebenen Datum

$date Datum als String 01.08.2017

Astronomy_Moon_NewmoonDate(int $InstanceID, string $date)

Zeitpunkt Neumond zum übergebenen Datum

$date Datum als String 01.08.2017

Astronomy_Moon_FullmoonDate(int $InstanceID, string $date)

Zeitpunkt Vollmond zum übergebenen Datum

$date Datum als String 01.08.2017

Astronomy_Moon_LastQuarterDate(int $InstanceID, string $date)

Zeitpunkt Letztes Viertel zum übergebenen Datum

$date Datum als String 01.08.2017

Hi Fonzo … das ging ja superschnell, ganz ganz vielen Dank für Deine Arbeit. Funktioniert einwandfrei …

Hallo Leute,
habe schon einiges realisiert, aber bin definitiv noch ein DAU wenn es an die erweiterten Sachen geht.

Modul installieren und in Betrieb nehmen klappte noch.
Automatische Aktualisierung der Werte hatte ich erst ein externes Script mit angeflanschten Timer erzeugt[Astronomy_SetAstronomyValues(38092 /[Astronomie]/)]. Habe es jetzt im Astromomie Modul direkt im Timer eingebaut und funktionert.

Aber jetzt hänge ich völlig, möchte per Script oder per Oberfläche Timer mit Sonnenaufgang und Untergang nutzen, aber ausser Fehlermeldungen kommt nix.
AstronomyTimer_SetSunrise(38092 /[Astronomie]/, 0, ‚Script‘, 32927 /[Test\Scripte\Ping Test]/, ‚NULL‘);

Ergebnis:
Fatal error: Uncaught exception ‚Exception‘ with message ‚Instance does not implement this function‘ in C:\IP-Symcon\scripts__generated.inc.php:544
Stack trace:
#0 C:\IP-Symcon\scripts\19270.ips.php(6): AstronomyTimer_SetSunrise(38092, 0, ‚Script‘, 32927, ‚NULL‘)
#1 {main}
thrown in C:\IP-Symcon\scripts__generated.inc.php on line 544

Per Oberfläche bekomme nichts hin.

– Zitat aus ReadMe:

Um mit Funktionen einen Astronomie Timer anlegen zu können muss mindestens ein Astronomie Timer zuvor in IP-Symconangelegt worden sein. Mit der Funktion wird dann auf diese eine Instanz verwiesen um weitere Timer anzulegen.
AstronomyTimer_SetSunrise(int $InstanceID, int $offset, string $settype, int $objectid, string $varvalue)

[i]Zitat Ende

Wie lege ich zuvor ein Astronomie Timer in IP-Symcon an? Ich raffe es nicht! [/i]:banghead::banghead:

Setze bis jetzt das „alte“ Astro Timerscript ein.

Vielen Dank jetzt schon für Eure Hilfe.

Und dank auch an Fonzo für die viele Arbeit an seinem Modul.

Gruß

Achim

Sorry allen,
hier kann man nur sagen „Ruhe sanft“.:eek:

Gut das ich 4 Geschwister habe, weil einer alleine kann nicht so dä… sein.:banghead:

Habe mir selbst im Weg gestanden und bin heute morgen einen Schritt nach rechts gegangen und siehe da, da waren Sie wieder die Grundlagen von IP-Symcon.

Gruß Achim

@fonzo
moin, mein Mondbild ist bei 194 (vollmond) stehen geblieben, dass hatte gefehlt. nach ich es ergänzt habe bleibt das Modul trotzdem dort stehen. AB-Anschalten der Mondanzeige sowie Löschen der Vari un Neuanlage zeigt immer wieder 194
soll ich Modul mal komplett entfernen ?
gruss axel

ha, fred#194 passt ja genau dazu !!!

Da war mal was, da hatte ein Bild gefehlt, das ist aber jetzt im Repository vorhanden. Falls alles nichts hilft versuche in der Tat mal ein neu Anlegen, vielleicht tut es aber auch einfach ein Modul Update. Gib dann mal Rückmeldung was draus geworden ist.

so, Modul ausgetauscht, neu installiert, alle Varis werden aktualisiert (timestamp)
194 ist da aber im Pfad vom Mondbild steht nach wie vor " media/resampled_mond194.png "
und Vollmond wird angezeigt (sowohl bei schwarz als auch bei transparent)

Modul neu, Instanz rausgeworfen und neu bleibt auf 194
werde mal ips neu starten

Dann muss ich da wohl mal schauen wo da der Fehler liegen könnte, danke für die Info. Und das tritt nur bei der 194 auf?

welches Bild ist denn jetzt aktiv ?

Das bekommst Du über


$mondphase = Astronomy_MoonphasePercent(59919 /*[Astronomie]*/);
$picture = Astronomy_GetMoonPicture(59919 /*[Astronomie]*/, $mondphase);
var_dump($picture);

raus. Gibt mir 197 aus. Wie stellst Du das genau fest das es bei 194 hängt?