Mondphasen und entsprechende Bildchen

Begonnen von nccfast, 24 Mai 2015, 16:32:24

Vorheriges Thema - Nächstes Thema

WarLord

#15
Ich hab genau das gleiche "Problem". Wenn ich es auskommentiere ist der fehler weg.


BTW: Das Thema gibts irgendwie 2x

1x http://forum.fhem.de/index.php/topic,37467.0.html

und

1x http://forum.fhem.de/index.php/topic,37468.0.html
FHEM auf RaspberryPi B+
HMLAN Adapter + Div HM Komponenten

kohlenmacher

Jetzt weiß ich endlich woher die Fehlermeldung bei mir herkommt. :-[

Ich versuche das Problem zu finden und melde mich dann wieder.

Gruß
Kohlenmacher

Leinad

"STATE" steht auch nur direkt nach dem Anlegen des device auf "initialized". Sobald ich einmal auf der Oberfläche in ein anderes Device gewechselt habe, ist der Eintrag bei STATE (Moon) weg.

kohlenmacher

Problem auch gerade gefunden. "STATE" darf keinen leeren String enthalten.

Zu anderen Zeiten steht dort "Vollmond", "Neumond", "Erstes Viertel" und "Letztes Viertel". Zwischen den Zeiten hatte ich einen leeren String zugewiesen.
Jetzt auf <no definition> gesetzt.

Datei im Thread ausgetauscht.

Hans Franz

Ähm...
Jetzt steht bei mir nur noch <no definition>.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Leinad

 :) danke! Scheint jetzt zu funktionieren...

@Hans Franz
Kannst auch in der 59_Moon.pm einen anderen Text eintragen.

kkoeniger

um das "no definition" zu verhindern habe ich es so definiert (wobei mein "unbestimmt" unnötig sein sollte):

   $hash->{moonphase} = $dummy;

if ($dummy <= 9 or $dummy >= 91 )
{
$hash->{STATE} = "Vollmond";
}elsif ($dummy >= 41 and $dummy <= 59 )
{
$hash->{STATE} = "Neumond";
}elsif ($dummy >= 60 and $dummy <= 90 )
{
$hash->{STATE} = "zunehmend";
}elsif ($dummy >= 10 and $dummy <= 40 )
{
$hash->{STATE} = "abnehmend";
}else
{
$hash->{STATE} = "unbestimmt";
}


Die Beschreibungen stimmen zwar sicherlich nicht ganz, aber gefallen mir in der Art besser.


Toll wäre es noch, wenn das Phasenbild auch im State angezeigt würde  ::)
LG,
Karl

StefanW

Hallo kohlenmacher,

erstmal danke für das Modul. Habe es schon ein paar Tage im Einsatz.
Allerdings habe ich heute etwas komisches festgestellt. Gestern hatte ich als moonphase-Reading entweder 98 oder 99 stehen. (Bin mir nicht mehr ganz sicher)
Heute habe ich als Reading auf einmal 2 stehen.
Müsste da nicht 100 stehen, da ja heute Nacht Vollmond ist?

"set Mondphasen update" ändert nix am Reading.
Zeit & Uhrzeit stimmen auf dem System

Gruß
Stefan

Ma_Bo

Habe auch 2 bei mir im Reading stehen.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Gigafix

#24
Hallo Zusammen

Ich habe auch eine 2 im Reading - lt. Suche im Internet war heute um 18:19:02 in Berlin Vollmond - da hätte das Reading dann eigentlich entweder bei 100 oder 1 stehen müssen, wenn man es ganz genau nimmt. Eventuell muss in der Berechnung der Standort des Betrachters noch angepasst werden.
Die Info zum Vollmond habe ich von hier http://www.vollmond.info/de/vollmond-kalender.html

Aber ich will nicht meckern - das Modul ist schon eine tolle Sache. Danke.

Viele Grüße sendet
Gigafix

Nachtrag: Auf einer anderen Seite habe ich noch einen anderen Zeitpunkt für Berlin gefunden - 17:16 - mit Anpassung an die Sommerzeit.... - hier gibt es dann immer noch eine 3 Minuten Differenz zu der anderen Berechnung - kann dann aber auch wieder am genauen Standort in Berlin liegen  ;) -> siehe hier: http://www.timeanddate.com/worldclock/fixedtime.html?msg=6.Vollmond+2015&iso=20150602T1716&p1=37

aber je mehr ich darüber nachdenke - der Vollmond hat ja nichts mit dem Standort auf der Erde zu tun, da die Abdeckung des Mondes durch die Erde nicht davon abhängt wo man sich befindet - so man den Mond sehen kann. Also ist es eine reine Berechnungsunschärfe.
VM Synology DS918 | CubieTruck |2x HMLAN | HMUSB | 3x HMWLAN | CCU2 | MAX-Cube | nanoCUL | ZWDongle |

kohlenmacher

Hallo Zusammen,

bei der verwendeten Berechnung der Mondphase wird mit einem durchschnittlichen Mondmonat gerechnet. Dadurch ergeben sich Ungenauigkeiten, da die tatsächliche Dauer des Mondmonats, über die Monate gesehen, variiert.
Der Zeitliche Unterschied zwischen zwei Bildern liegt bei etwas über sieben Stunden (s. "bitte lesen.txt" bei den Bildern) und der sichtbare Unterschied dazwischen ist minimal, vor allem bei einer geringen Auflösung.
Eine genauere Berechnung war mir aus diesen Gründen zu aufwendig, nur um ein Bild anzuzeigen.
Der Referenz Neumond war am 1.1.2014, wer den ändern möchte muss das Datum in Zeile 47 ändern.
Vielleicht findet sich jemand der die Berechnungen wie auf dieser Seite http://www.computus.de/mondphase/mondphase.htm baut. :)

Gruß
Kohlenmacher

duke-f

Zitat von: Gigafix am 02 Juni 2015, 19:32:15
aber je mehr ich darüber nachdenke - der Vollmond hat ja nichts mit dem Standort auf der Erde zu tun, da die Abdeckung des Mondes durch die Erde nicht davon abhängt wo man sich befindet - so man den Mond sehen kann. Also ist es eine reine Berechnungsunschärfe.
Hat auch nur entfernt mit der Sache zu tun: Stimmt so nicht ganz. Ich hatte vor Jahren für meine Frau mal ein Excelfile gebaut, das einen Wochenkalender mit den Mondphasen erstellt - nicht so detailliert wie hier, versteht sich. Irgendwann kam meine Frau und meinte, die Angabe ware um einen Tag falsch. Das stimmte insofern, dass sie zu chinesisch Neujahr mit einem chinesischen Online-Kalender verglich. Dort war Vollmond tatsächlich ein Tag früher. Präzise gesagt, zu "Vollmond" war China schon einen Tag weiter im Kalender.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

gong

Moin zusammen,

wie wäre es wegen der "genaueren" Implementation mit dem fertigen CPAN-Modul

Astro::MoonPhase ?

Gruß
Sven

moppi4483

Hallo zusammen,

Erst mal vielen Danke an kohlenmacher.

Ich habe deine Arbeit als Vorlage genutzt und ein wenig weiter entwickelt.
Nach langer Sucherei und ein wenig Tüftelei habe ich dein Modul abgeändert und die CPAN-Module Astro::MoonPhase und Astro::Coord::ECI::Moon eingebunden um die aktuellen Mondparameter zu berechnen.

Aktuell werden mit diesem Modul die folgenden Daten zur Verfügung gestellt:

  • Belichtung (in %)
  • Distanz zum Mond (in KM)
  • Mondalter (in Tagen)
  • nächster Mondaufgang (HH:MM)
  • nächster Monduntergang (HH:MM)
  • Nummer des Bildes aus der Bibliothek http://www.starpage.de/content/freeware.php
  • Bild-URL zur Verwendung für FTUI

Vor der Verwendung müssen die o.g. CPAN-Module installiert werden.
Des Weiteren werden für die Berechnung des Mondaufgangs und -untergangs die eigene Position sowie die Höhe über n.N. (longitude, latitude, altitude) benötigt.

Starkstrombastler

Danke an kohlenmacher und moppi4483 für das Modul :).

Das "<no definiton>" für gewisse Phasen ist aber unschön, dies wurde hier bereits diskutiert:

Zitat von: kkoeniger am 29 Mai 2015, 17:40:46
um das "no definition" zu verhindern habe ich es so definiert (wobei mein "unbestimmt" unnötig sein sollte):

   $hash->{moonphase} = $dummy;

if ($dummy <= 9 or $dummy >= 91 )
{
$hash->{STATE} = "Vollmond";
}elsif ($dummy >= 41 and $dummy <= 59 )
{
$hash->{STATE} = "Neumond";
}elsif ($dummy >= 60 and $dummy <= 90 )
{
$hash->{STATE} = "zunehmend";
}elsif ($dummy >= 10 and $dummy <= 40 )
{
$hash->{STATE} = "abnehmend";
}else
{
$hash->{STATE} = "unbestimmt";
}


Was bedeutet der Parameter "Mondwinkel" eigentlich?
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200