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

Keine Ahnung - bei mir tritt es ja nicht auf ...

LG

pah

det.

Dann bleibt nur die Hoffnung auf die computereigenen Selbstheilungskräfte.
LG
det.

Ellert

Zitat von: Prof. Dr. Peter Henning am 31 Mai 2018, 17:40:26
@Christoph Morrison: "kaputt" ist keine Fehlerbeschreibung.

Betreffend die nicht reproduzierbaren Fehler: Beide beruhen auf demselben Problem, nämlich der komplexwertigen Lösung einer quadratischen Gleichung. Zu der kann es nur kommen, wenn irgendwo falsche Werte landen. Ich tippe mal darauf, dass das ein Perl-Problem ist: Wird die Hauptroutine "Astro_Compute" mehrfach schnell hintereinander aufgerufen, kann es je nach Auslastung des Prozessors zur gegenseitigen Beeinflussung verschiedener Werte in den internen Hashes kommen - die zweite Rechnubg beginnt schon, während die erste noch läuft.

Besserer Ansatz: Nur ein "get" durchführen, und den gewünschten anderen Wert entweder aus der JSON-Rückgabe fischen, oder aus den Readings.

Damit sollte sich das Problem vermeiden lassen.

Natürlich könnte man die ganzen Berechnungen besser kapseln und gegen so etwas schützen - aber dazu habe ich weder Zeit, noch Lust.

LG

pah
Danke erstmal für den Tipp, ich werde meine Sub auf einen get-Aufruf umbauen und beobachten.

Prof. Dr. Peter Henning

#198
Sollte auch deutlich schneller sein, weil der ganze Berechungsschmonzes nur einmal durchgeführt wird.

Genau deshalb läuft das ja bei mir einmal pro Minute (aber eben nicht auf dem Hauptsystem, das bitte  ich ebenfalls zu beachten). Alle anderen Routinen aus FHEM greifen nur auf die Readings zu - und innerhalb von einer Minute ändern sich die Werte so wenig, dass es keinen nennenswerten Unterschied macht.

LG

pah

MaMi7880

Hallo,

bei mir treten diese Warnings ebenfalls auf. Vielleicht hilft es ja weiter.
Auffällig ist, dass diese Warnungen immer dann erzeugt werden, wenn ich meine Yaahm-Profil-Seite aufrufe.

Auszug:
[Fri Jun  1 15:15:32 2018] fhem.pl: Use of uninitialized value $rise1 in numeric lt (<) at ./FHEM/95_Astro.pm line 841.
[Fri Jun  1 15:15:32 2018] fhem.pl: Use of uninitialized value $set1 in numeric lt (<) at ./FHEM/95_Astro.pm line 845.
[Fri Jun  1 15:15:32 2018] fhem.pl: Use of uninitialized value $rise2 in numeric gt (>) at ./FHEM/95_Astro.pm line 826.
[Fri Jun  1 15:15:32 2018] fhem.pl: Use of uninitialized value $rise1 in numeric gt (>) at ./FHEM/95_Astro.pm line 826.
[Fri Jun  1 15:15:32 2018] fhem.pl: Use of uninitialized value $set2 in numeric gt (>) at ./FHEM/95_Astro.pm line 828.
[Fri Jun  1 15:15:32 2018] fhem.pl: Use of uninitialized value $set1 in numeric gt (>) at ./FHEM/95_Astro.pm line 828.
[Fri Jun  1 15:15:32 2018] fhem.pl: Use of uninitialized value $rise1 in numeric lt (<) at ./FHEM/95_Astro.pm line 841.
[Fri Jun  1 15:15:32 2018] fhem.pl: Use of uninitialized value $set1 in numeric lt (<) at ./FHEM/95_Astro.pm line 845.


Weiter ist mir noch folgendes (siehe list myAstro) aufgefallen... --> der Wert von AstroTwilightEvening ist gleich dem von AstroTwilightMorning.


Internals:
   NAME       myAstro
   NR         1169
   STATE      Initialized
   TYPE       Astro
   VERSION    1.44
   READINGS:
     2018-06-01 15:01:50   AstroTwilightEvening 09:21
     2018-06-01 15:01:50   AstroTwilightMorning 09:21
     2018-06-01 15:01:50   CivilTwilightEvening 22:09
     2018-06-01 15:01:50   CivilTwilightMorning 04:39
     2018-06-01 15:01:50   CustomTwilightEvening 21:20
     2018-06-01 15:01:50   CustomTwilightMorning 05:28
     2018-06-01 15:01:50   MoonAge         212.7
     2018-06-01 15:01:50   MoonAlt         -59.6
     2018-06-01 15:01:50   MoonAz          339.7
     2018-06-01 15:01:50   MoonDec         -20.9
     2018-06-01 15:01:50   MoonDiameter    29.5
     2018-06-01 15:01:50   MoonDistance    405170
     2018-06-01 15:01:50   MoonDistanceObserver 410691
     2018-06-01 15:01:50   MoonLat         2.2
     2018-06-01 15:01:50   MoonLon         283.8
     2018-06-01 15:01:50   MoonPhaseN      0.92
     2018-06-01 15:01:50   MoonPhaseS      Abnehmender Mond
     2018-06-01 15:01:50   MoonRa          19
     2018-06-01 15:01:50   MoonRise        23:49
     2018-06-01 15:01:50   MoonSet         07:44
     2018-06-01 15:01:50   MoonSign        Steinbock
     2018-06-01 15:01:50   MoonTransit     03:22
     2018-06-01 15:01:50   NauticTwilightEvening 23:10
     2018-06-01 15:01:50   NauticTwilightMorning 03:39
     2018-06-01 15:01:50   ObsAlt          94
     2018-06-01 15:01:50   ObsDate         01.06.2018
     2018-06-01 15:01:50   ObsDayofyear    152
     2018-06-01 15:01:50   ObsGMST         05:41:42
     2018-06-01 15:01:50   ObsHor          0
     2018-06-01 15:01:50   ObsIsDST        1
     2018-06-01 15:01:50   ObsJD           2458271.04
     2018-06-01 15:01:50   ObsLMST         06:15:23
     2018-06-01 15:01:50   ObsLat          50.021293
     2018-06-01 15:01:50   ObsLon          8.424093
     2018-06-01 15:01:50   ObsSeason       Frühling
     2018-06-01 15:01:50   ObsSeasonN      1
     2018-06-01 15:01:50   ObsTime         15:01:50
     2018-06-01 15:01:50   ObsTimezone     2
     2018-06-01 15:01:50   SunAlt          56.1
     2018-06-01 15:01:50   SunAz           223.4
     2018-06-01 15:01:50   SunDec          22.1
     2018-06-01 15:01:50   SunDiameter     31.5
     2018-06-01 15:01:50   SunDistance     151712658
     2018-06-01 15:01:50   SunDistanceObserver 151707364
     2018-06-01 15:01:50   SunLon          71
     2018-06-01 15:01:50   SunRa           4.6
     2018-06-01 15:01:50   SunRise         05:22
     2018-06-01 15:01:50   SunSet          21:26
     2018-06-01 15:01:50   SunSign         Zwillinge
     2018-06-01 15:01:50   SunTransit      13:24
     2018-06-01 15:00:50   state           Initialized
Attributes:
   group      Global
   room       9.1_System


Beste Grüße
Ma.


RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

Prof. Dr. Peter Henning

Hm. Derzeit ist (weil fast Mittsommer)

Zitat
AstroTwilightEvening 00:36 2018-06-01 16:26:24
AstroTwilightMorning 02:15 2018-06-01 16:26:24

Ganz korrekt - "astronomisch" ist es weniger als 2 Stunden Nacht. Weder kann ich nachvollziehen, woher der Wert 9:21 kommt, noch gibt es irgendeine Warnung beim Aufruf meiner YAAHM-Profilseite.

Allerdings stelle ich fest, dass ich gestern Quatsch geschrieben habe: Ausgerechnet YAAHM macht nämlich genau das, was ich oben als ungünstig bezeichnet habe. In den Zeilen ab 2686 wird nämlich Astro_Get ggf. auch in kurzem Abstand mehrfach hintereinander aufgerufen  :-[. Muss ich dringend umbauen - und bitte um Nachsicht, dass ich nicht alle 3757 Codezeilen von YAAHM im Kopf hatte.

Interessant wäre zu wissen, ob die Anderen mit dem Problem dieser Fehlermeldungen ebenfalls YAAHM einsetzen.

LG

pah

joshi04

Hallo pah,
setzte leider kein YAAHM ein.
Habe aber auch nur die Warnings, mit den komplexen Werten einmal alle 24h.
Schöne Grüße
joshi04
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

Ellert

Zitat von: Prof. Dr. Peter Henning am 01 Juni 2018, 16:34:36
Hm. Derzeit ist (weil fast Mittsommer)

Ganz korrekt - "astronomisch" ist es weniger als 2 Stunden Nacht. Weder kann ich nachvollziehen, woher der Wert 9:21 kommt, noch gibt es irgendeine Warnung beim Aufruf meiner YAAHM-Profilseite.

Allerdings stelle ich fest, dass ich gestern Quatsch geschrieben habe: Ausgerechnet YAAHM macht nämlich genau das, was ich oben als ungünstig bezeichnet habe. In den Zeilen ab 2686 wird nämlich Astro_Get ggf. auch in kurzem Abstand mehrfach hintereinander aufgerufen  :-[. Muss ich dringend umbauen - und bitte um Nachsicht, dass ich nicht alle 3757 Codezeilen von YAAHM im Kopf hatte.

Interessant wäre zu wissen, ob die Anderen mit dem Problem dieser Fehlermeldungen ebenfalls YAAHM einsetzen.

LG

pah
Ich nutze YAAHM nicht.

hyper2910

Hi

Habe die 351 er Meldungen und nutze auch YAAHM
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

Prof. Dr. Peter Henning

Fassen wir das doch mal zusammen:

Bei den Meldungen handelt es sich um Warnungen, das ist eine minder schwere Klasse von Fehlern, insofern erst einmal Entspannung.

Außerdem kann ich das wirklich in keiner Weise reproduzieren - weder auf meinem Hauptsystem mit YAAHM, noch auf dem einen Nebensystem, auf dem nicht nur das Astro-Modul läuft, sondern ein richtiges Device mit minütlichem Update hat.

Möglicherweise hat es mit zu häufigen/zu dichten Aufrufen von "get Astro xxx" zu tun (allerdings nicht reproduzierbar, sonst hätte ich das mit YAAHM schon tausend Mal gesehen).

Die Warnungen abzufangen, ist an dieser Stelle keine Option - es müsste vielmehr die gesamte Berechnung abgebrochen werden. Aber welche, wenn das tatsächlich von zwei zu dicht aufeinander folgenden Gets herrührt ?

Ich tappe im Dunkel.

LG

pah

hyper2910

Ich sehe gerade noch weitere Meldungen beim Start von FHEM, vielleicht hilft das weiter.



2018.06.11 11:38:20.504 1: [YAAHM] does not find an Astro device, loading module Astro separately
2018.06.11 11:38:20.778 1: PERL WARNING: Subroutine Astro_Initialize redefined at ./FHEM/95_Astro.pm line 261, <$fh> line 1188.
2018.06.11 11:38:20.778 1: PERL WARNING: Subroutine Astro_Define redefined at ./FHEM/95_Astro.pm line 285, <$fh> line 1188.
2018.06.11 11:38:20.779 1: PERL WARNING: Subroutine Astro_Undef redefined at ./FHEM/95_Astro.pm line 310, <$fh> line 1188.
2018.06.11 11:38:20.779 1: PERL WARNING: Subroutine Astro_Attr redefined at ./FHEM/95_Astro.pm line 326, <$fh> line 1188.
2018.06.11 11:38:20.780 1: PERL WARNING: Subroutine Astro_mod redefined at ./FHEM/95_Astro.pm line 351, <$fh> line 1188.
2018.06.11 11:38:20.780 1: PERL WARNING: Subroutine Astro_mod2Pi redefined at ./FHEM/95_Astro.pm line 352, <$fh> line 1188.
2018.06.11 11:38:20.780 1: PERL WARNING: Subroutine Astro_round redefined at ./FHEM/95_Astro.pm line 353, <$fh> line 1188.
2018.06.11 11:38:20.781 1: PERL WARNING: Subroutine Astro_tzoffset redefined at ./FHEM/95_Astro.pm line 355, <$fh> line 1188.
2018.06.11 11:38:20.781 1: PERL WARNING: Subroutine Astro_HHMM redefined at ./FHEM/95_Astro.pm line 375, <$fh> line 1188.
2018.06.11 11:38:20.782 1: PERL WARNING: Subroutine Astro_HHMMSS redefined at ./FHEM/95_Astro.pm line 385, <$fh> line 1188.
2018.06.11 11:38:20.782 1: PERL WARNING: Subroutine Astro_CalcJD redefined at ./FHEM/95_Astro.pm line 402, <$fh> line 1188.
2018.06.11 11:38:20.782 1: PERL WARNING: Subroutine Astro_GMST redefined at ./FHEM/95_Astro.pm line 420, <$fh> line 1188.
2018.06.11 11:38:20.783 1: PERL WARNING: Subroutine Astro_GMST2UT redefined at ./FHEM/95_Astro.pm line 437, <$fh> line 1188.
2018.06.11 11:38:20.783 1: PERL WARNING: Subroutine Astro_GMST2LMST redefined at ./FHEM/95_Astro.pm line 453, <$fh> line 1188.
2018.06.11 11:38:20.784 1: PERL WARNING: Subroutine Astro_Ecl2Equ redefined at ./FHEM/95_Astro.pm line 465, <$fh> line 1188.
2018.06.11 11:38:20.784 1: PERL WARNING: Subroutine Astro_Equ2Altaz redefined at ./FHEM/95_Astro.pm line 485, <$fh> line 1188.
2018.06.11 11:38:20.785 1: PERL WARNING: Subroutine Astro_GeoEqu2TopoEqu redefined at ./FHEM/95_Astro.pm line 510, <$fh> line 1188.
2018.06.11 11:38:20.785 1: PERL WARNING: Subroutine Astro_EquPolar2Cart redefined at ./FHEM/95_Astro.pm line 538, <$fh> line 1188.
2018.06.11 11:38:20.786 1: PERL WARNING: Subroutine Astro_Observer2EquCart redefined at ./FHEM/95_Astro.pm line 555, <$fh> line 1188.
2018.06.11 11:38:20.787 1: PERL WARNING: Subroutine Astro_SunPosition redefined at ./FHEM/95_Astro.pm line 595, <$fh> line 1188.
2018.06.11 11:38:20.789 1: PERL WARNING: Subroutine Astro_MoonPosition redefined at ./FHEM/95_Astro.pm line 638, <$fh> line 1188.
2018.06.11 11:38:20.790 1: PERL WARNING: Subroutine Astro_Refraction redefined at ./FHEM/95_Astro.pm line 723, <$fh> line 1188.
2018.06.11 11:38:20.790 1: PERL WARNING: Subroutine Astro_GMSTRiseSet redefined at ./FHEM/95_Astro.pm line 772, <$fh> line 1188.
2018.06.11 11:38:20.791 1: PERL WARNING: Subroutine Astro_InterpolateGMST redefined at ./FHEM/95_Astro.pm line 800, <$fh> line 1188.
2018.06.11 11:38:20.792 1: PERL WARNING: Subroutine Astro_RiseSet redefined at ./FHEM/95_Astro.pm line 812, <$fh> line 1188.
2018.06.11 11:38:20.793 1: PERL WARNING: Subroutine Astro_SunRise redefined at ./FHEM/95_Astro.pm line 874, <$fh> line 1188.
2018.06.11 11:38:20.795 1: PERL WARNING: Subroutine Astro_MoonRise redefined at ./FHEM/95_Astro.pm line 963, <$fh> line 1188.
2018.06.11 11:38:20.799 1: PERL WARNING: Subroutine Astro_Compute redefined at ./FHEM/95_Astro.pm line 1057, <$fh> line 1188.
2018.06.11 11:38:20.801 1: PERL WARNING: Subroutine Astro_moonwidget redefined at ./FHEM/95_Astro.pm line 1219, <$fh> line 1188.
2018.06.11 11:38:20.802 1: PERL WARNING: Subroutine Astro_Update redefined at ./FHEM/95_Astro.pm line 1282, <$fh> line 1188.
2018.06.11 11:38:20.805 1: PERL WARNING: Subroutine Astro_Get redefined at ./FHEM/95_Astro.pm line 1326, <$fh> line 1188.


Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

eisman

Hi,

ich nutze nicht YAAHM und es sind auch diese Meldungen:

System: 1
2018.06.11 12:40:04 1: PERL WARNING: Use of uninitialized value $rise2 in numeric gt (>) at ./FHEM/95_Astro.pm line 826.
2018.06.11 12:40:04 1: PERL WARNING: Use of uninitialized value $rise1 in numeric gt (>) at ./FHEM/95_Astro.pm line 826.
2018.06.11 12:40:04 1: PERL WARNING: Use of uninitialized value $set2 in numeric gt (>) at ./FHEM/95_Astro.pm line 828.
2018.06.11 12:40:04 1: PERL WARNING: Use of uninitialized value $set1 in numeric gt (>) at ./FHEM/95_Astro.pm line 828.
2018.06.11 12:40:04 1: PERL WARNING: Use of uninitialized value $rise1 in numeric lt (<) at ./FHEM/95_Astro.pm line 841.
2018.06.11 12:40:04 1: PERL WARNING: Use of uninitialized value $set1 in numeric lt (<) at ./FHEM/95_Astro.pm line 845.


system: 2
2018.06.11 12:39:02 1: PERL WARNING: Use of uninitialized value $rise2 in numeric gt (>) at ./FHEM/95_Astro.pm line 826.
2018.06.11 12:39:02 1: PERL WARNING: Use of uninitialized value $rise1 in numeric gt (>) at ./FHEM/95_Astro.pm line 826.
2018.06.11 12:39:02 1: PERL WARNING: Use of uninitialized value $set2 in numeric gt (>) at ./FHEM/95_Astro.pm line 828.
2018.06.11 12:39:02 1: PERL WARNING: Use of uninitialized value $set1 in numeric gt (>) at ./FHEM/95_Astro.pm line 828.
2018.06.11 12:39:02 1: PERL WARNING: Use of uninitialized value $rise1 in numeric lt (<) at ./FHEM/95_Astro.pm line 841.
2018.06.11 12:39:02 1: PERL WARNING: Use of uninitialized value $set1 in numeric lt (<) at ./FHEM/95_Astro.pm li


die Meldungen kommen nach system reboot und shutdown restart

gruss
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 7x ESP
1x FHEM Debian, Homematic,Z2M             / 1X Raspberry, ConBee / 6x ESP
1x FHEM Debian,MQTT2                             / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

Prof. Dr. Peter Henning

Bisher nichts Verwertbares dabei, sorry. Kommt alles daher, dass Astro mit ungültigen Werten aufgerufen wird - beispielsweise nach einem Systemneustart.

LG

pah

hyper2910

Woher kommen denn diese Koordinaten, die dort stehen?


Das ist ja der Fehler. Dort ist ein I als letztes drin.

0.711926532805447-0.0533430139790835i


Ich habe die aber nirgends eingestellt
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

Rudy

Die Koordinaten werden im Modul "global" definiert. Für Astro sind "latitude", "longitude" und "altitude" für den von dir gewünschten Ort anzugeben.