neues Modul Astro.pm

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

Vorheriges Thema - Nächstes Thema

tomspatz

Moin astro Version 1.31

2017.07.15 14:37:30 1: PERL WARNING: Argument "0.0642625020977739+0.0455495742427158i" isn't numeric in subroutine entry at ./FHEM/95_Astro.pm line 341.
2017.07.15 14:37:30 1: stacktrace:
2017.07.15 14:37:30 1:     main::__ANON__                      called by ./FHEM/95_Astro.pm (341)
2017.07.15 14:37:30 1:     main::Astro_mod                     called by ./FHEM/95_Astro.pm (905)
2017.07.15 14:37:30 1:     main::Astro_SunRise                 called by ./FHEM/95_Astro.pm (1099)
2017.07.15 14:37:30 1:     main::Astro_Compute                 called by ./FHEM/95_Astro.pm (1187)
2017.07.15 14:37:30 1:     main::Astro_Update                  called by fhem.pl (3004)
2017.07.15 14:37:30 1:     main::HandleTimeout                 called by fhem.pl (618)
2017.07.15 14:37:30 1: PERL WARNING: Argument "0.0642625020977735-0.0455495742427158i" isn't numeric in subroutine entry at ./FHEM/95_Astro.pm line 341.
2017.07.15 14:37:30 1: stacktrace:
2017.07.15 14:37:30 1:     main::__ANON__                      called by ./FHEM/95_Astro.pm (341)
2017.07.15 14:37:30 1:     main::Astro_mod                     called by ./FHEM/95_Astro.pm (906)
2017.07.15 14:37:30 1:     main::Astro_SunRise                 called by ./FHEM/95_Astro.pm (1099)
2017.07.15 14:37:30 1:     main::Astro_Compute                 called by ./FHEM/95_Astro.pm (1187)
2017.07.15 14:37:30 1:     main::Astro_Update                  called by fhem.pl (3004)
2017.07.15 14:37:30 1:     main::HandleTimeout                 called by fhem.pl (618)
2017.07.15 14:37:30 1: PERL WARNING: Argument "1.54230005034657+1.09318978182518i" isn't numeric in subroutine entry at ./FHEM/95_Astro.pm line 356.
2017.07.15 14:37:30 1: stacktrace:
2017.07.15 14:37:30 1:     main::__ANON__                      called by ./FHEM/95_Astro.pm (356)
2017.07.15 14:37:30 1:     main::Astro_HHMM                    called by ./FHEM/95_Astro.pm (1108)
2017.07.15 14:37:30 1:     main::Astro_Compute                 called by ./FHEM/95_Astro.pm (1187)
2017.07.15 14:37:30 1:     main::Astro_Update                  called by fhem.pl (3004)
2017.07.15 14:37:30 1:     main::HandleTimeout                 called by fhem.pl (618)
2017.07.15 14:37:30 1: PERL WARNING: Argument "32.5380030207944+65.5913869095108i" isn't numeric in sprintf at ./FHEM/95_Astro.pm line 358.
2017.07.15 14:37:30 1: stacktrace:
2017.07.15 14:37:30 1:     main::__ANON__                      called by ./FHEM/95_Astro.pm (358)
2017.07.15 14:37:30 1:     main::Astro_HHMM                    called by ./FHEM/95_Astro.pm (1108)
2017.07.15 14:37:30 1:     main::Astro_Compute                 called by ./FHEM/95_Astro.pm (1187)
2017.07.15 14:37:30 1:     main::Astro_Update                  called by fhem.pl (3004)
2017.07.15 14:37:30 1:     main::HandleTimeout                 called by fhem.pl (618)
2017.07.15 14:37:30 1: PERL WARNING: Argument "1.54230005034656-1.09318978182518i" isn't numeric in subroutine entry at ./FHEM/95_Astro.pm line 356.
2017.07.15 14:37:30 1: stacktrace:
2017.07.15 14:37:30 1:     main::__ANON__                      called by ./FHEM/95_Astro.pm (356)
2017.07.15 14:37:30 1:     main::Astro_HHMM                    called by ./FHEM/95_Astro.pm (1109)
2017.07.15 14:37:30 1:     main::Astro_Compute                 called by ./FHEM/95_Astro.pm (1187)
2017.07.15 14:37:30 1:     main::Astro_Update                  called by fhem.pl (3004)
2017.07.15 14:37:30 1:     main::HandleTimeout                 called by fhem.pl (618)
2017.07.15 14:37:30 1: PERL WARNING: Argument "32.5380030207938-65.5913869095108i" isn't numeric in sprintf at ./FHEM/95_Astro.pm line 358.
2017.07.15 14:37:30 1: stacktrace:
2017.07.15 14:37:30 1:     main::__ANON__                      called by ./FHEM/95_Astro.pm (358)
2017.07.15 14:37:30 1:     main::Astro_HHMM                    called by ./FHEM/95_Astro.pm (1109)
2017.07.15 14:37:30 1:     main::Astro_Compute                 called by ./FHEM/95_Astro.pm (1187)
2017.07.15 14:37:30 1:     main::Astro_Update                  called by fhem.pl (3004)
2017.07.15 14:37:30 1:     main::HandleTimeout                 called by fhem.pl (618)


LG
Tom

Prof. Dr. Peter Henning

#31
ZitatMoin astro Version 1.31
Ja, und ?

Betreffend die Mondphasenbilder: 100 verschiedene Fotos des Mondes finde ich eher nicht so prickelnd.

Da weichen die Geschmacksrichtungen doch soweit voneinander ab, dass ich keine generelle Lösung anbieten werde.

Es sollte sich besser jeder in seine 99_myUtils (oder sonstwo) irgendetwas anlegen, was aus dem Reading MoonPhaseN eine Bildreferenz berechnet. Für die 100 Bilder müsste man das z.B. so machen:

#-- Moon picture
  my $pb = ReadingsVal(<Astro-Device>,"MoonPhaseN",0);
  #-- moonphasen 0 - 0.5 => 51 - 100
  if(  $pb < 0.5 ){
    $pb = int($pb*2*49+51);
  #-- moonphasen 0.5 - 1 => 1 - 50
  }else{
    $pb = int(($pb-0.5)*2*49+1);
  }
  fhem(sprintf("defmod moonphase_weblink weblink image /fhem/images/moonphase/%2d.png",$pb));


Ach ja, Sonnenstand war noch gefragt:

define AslroLog FileLog /home/fhem/fhemlogs/Astro-%Y-%m.log .*Astronomie.*SunAlt.*

Und dann einfach ein SVG-Device zum Plotten der Sonnenhöhe.

LG

pah

Michael

#32
Moin

ZitatEs sollte sich besser jeder in seine 99_myUtils (oder sonstwo) irgendetwas anlegen, was aus dem Reading MoonPhaseN eine Bildreferenz berechnet. Für die 100 Bilder müsste man das z.B. so machen:


Code: [Auswählen]
#-- Moon picture
  my $pb = ReadingsVal(<Astro-Device>,"MoonPhaseN",0);
  #-- moonphasen 0 - 0.5 => 51 - 100
  if(  $pb < 0.5 ){
    $pb = int($pb*2*49+51);
  #-- moonphasen 0.5 - 1 => 1 - 50
  }else{
    $pb = int(($pb-0.5)*2*49+1);
  }
  fhem(sprintf("defmod moonphase_weblink weblink image /fhem/images/moonphase/%2d.png",$pb));

Bin kein Experte, habe mich mal Versucht.  :-[
Es gibt bestimmt Verbesserung's möglichkeiten.
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

tomspatz

ZitatJa, und ?

Sorry wollte nur die Fehlermeldungen zeigen, vielleicht kannst du  ja damit etwas anfangen.
Ich selbst habe das Modul gerade erst in Betrieb genommen ohne damit zu spielen, sieht aber gut aus.
TOLLE Arbeit danke.

LG
Tom

the ratman

Zitat von: Michael am 15 Juli 2017, 18:20:07
Moin

Bin kein Experte, habe mich mal Versucht.  :-[
Es gibt bestimmt Verbesserung's möglichkeiten.
ich hab mal deine angaben kopiert und das funzt ja techn. mal perfekt.

aber, welche gfx verwendest du den?
die von dir oben verlinkten bilder zeigen zum letzten viertel fast nen vollmond an.
ftui    /fhem/www/images/phasenbilder/6.png
MoonPhaseN   0.56
MoonPhaseS    Letztes Viertel
→do↑p!dnʇs↓shit←

Invers

Ich habe ebenfalls diese Fehlermeldungen:

2017.07.16 00:06:37 1: PERL WARNING: Argument "0.786443342622999+0.0504552769944331i" isn't numeric in subroutine entry at ./FHEM/95_Astro.pm line 341.
2017.07.16 00:06:37 1: PERL WARNING: Argument "0.786443342622999-0.0504552769944331i" isn't numeric in subroutine entry at ./FHEM/95_Astro.pm line 341.
2017.07.16 00:06:37 1: PERL WARNING: Argument "0.0503675125359405+0.0529368791927917i" isn't numeric in subroutine entry at ./FHEM/95_Astro.pm line 341.
2017.07.16 00:06:37 1: PERL WARNING: Argument "0.0503675125359404-0.0529368791927918i" isn't numeric in subroutine entry at ./FHEM/95_Astro.pm line 341.
2017.07.16 00:06:37 1: PERL WARNING: Argument "1.20882030086257+1.270485100627i" isn't numeric in subroutine entry at ./FHEM/95_Astro.pm line 356.
2017.07.16 00:06:37 1: PERL WARNING: Argument "12.5292180517543+76.2291060376201i" isn't numeric in sprintf at ./FHEM/95_Astro.pm line 358.
2017.07.16 00:06:37 1: PERL WARNING: Argument "1.20882030086257-1.270485100627i" isn't numeric in subroutine entry at ./FHEM/95_Astro.pm line 356.
2017.07.16 00:06:37 1: PERL WARNING: Argument "12.5292180517541-76.2291060376201i" isn't numeric in sprintf at ./FHEM/95_Astro.pm line 358.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Michael

Moin

@the ratman
Bin mir auch nicht Sicher das dass alles so richtig ist.

Hier kommen die Grafiken her.
ZitatAutor: Heuberg
« am: 11 Juli 2017, 08:40:53 »
http://www.starpage.de/ccount/click.php?id=18

Und diesen Teil der Zuordnung habe ich von :
ZitatAutor: Prof. Dr. Peter Henning
« am: Gestern um 15:49:01 »
#-- Moon picture
  my $pb = ReadingsVal(<Astro-Device>,"MoonPhaseN",0);
  #-- moonphasen 0 - 0.5 => 51 - 100
  if(  $pb < 0.5 ){
    $pb = int($pb*2*49+51);
  #-- moonphasen 0.5 - 1 => 1 - 50
  }else{
    $pb = int(($pb-0.5)*2*49+1);
  }
übernommen.

Wäre schön wenn sich das mal einer Ansehen kann der Ahnung hat.  :-[
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

Prof. Dr. Peter Henning

Ah, OK, mein Fehler - ich habe mir eben erst angesehen, wie diese Bilder organisiert sind. Hier wäre also richtig

#-- Moon picture
  my $pb = ReadingsVal(<Astro-Device>,"MoonAge",0);
  #-- moonage 0 - 180 => 51 - 100
  if(  $pb < 180 ){
    $pb = int($pb/180*49+51);
  #-- moonage 180 - 360 => 1 - 50
  }else{
    $pb = int(($pb/180-1)*49+1);
  }


Damit wären wir jetzt kurz vor "Halbmond 4. Viertel".

LG

pah

the ratman

funzt
muss nur noch den waf abwarten, aber meiner meinung nach passts bildchen ...

thx an euch 2
→do↑p!dnʇs↓shit←

Heuberg

Hallo,
leider klappt es bei mir noch nicht ganz.
Stimmt die Zeile:
Zitatfhem(sprintf("defmod moonphase_weblink weblink image /fhem/images/moonphase/%2d.png",$pb));
Die "%2d" und dann ",$pb" kommen mir "spanisch" vor :-)
Viele Grüße
Rainer
HM, MAX, MySensors, Fronius, Conbee II, ZigBee, VCONTROL, Modbus, RPi, AVM

Prof. Dr. Peter Henning

#40
Zitatkommen mir "spanisch" vor
Na, dann schlage ich doch vor: Einfach selber Perl lernen - ich bin kein Auftragsprogrammierer.

pah

the ratman

#41
ich sprech auch kein spanisch, aber ich hab pah's gedankenwelt in obigen voschlag von michael eingepflegt - quasi "erweitertes abschreiben und erschaffung einer unheilgen kreuzung aus professoren-hirnschmalz und perl-anfänger-schweiß" *g*:
beim asto-modul
userReadings   ftui {moon_pics("myAstro")}

und dann ein 99_myUtils_Astro.pm basteln
##########################################################################################################################
# $Id: 99_myUtils_Astro.pm 0011 2017-07-15 00:00:00Z Fhemmike $
#


package main;

use strict;
use warnings;
use POSIX;


sub myUtils_Astro_Initialize($$)
{
  my ($hash) = @_;
}

sub moon_pics($)
{
my ($name)    = @_;
my $picNo     = ReadingsVal("Astro","MoonAge",0);
my $picOrd    = "/fhem/www/images/phasenbilder/";
my $picPath   = "";


  if(  $picNo < 180 ){
    $picNo = int($picNo/180*49+51);
  }else{
    $picNo = int(($picNo/180-1)*49+1);
  }

$picPath =  $picOrd.$picNo.".png";

return $picPath
}


sub Moon_to_html($)
{
   my($hash) = @_;
   $hash = $defs{$hash} if( ref($hash) ne 'HASH' );
   return undef if( !$hash );

   my $name = $hash->{NAME};
   my $scale = "100";
   my $state = $hash->{STATE};
   my $pathToPictures = ReadingsVal("Astro", "ftui", "");
   my $ret;

   $ret .= "<div style='width:".$scale."px; text-align: center;'>";
   $ret .= "<img src='$pathToPictures$\' width='$scale' height='$scale'>";
   $ret .= "</div>";

   $hash->{fhem}->{cached} = $ret;

   return $ret;
}

1;
auf eventuell andere pfade achten!

der thx geht also an michael für seine neue myutils und den herrn onkel pah für seinen hirnschmalzüberschuß, den er uns hier zur verfügung stellt.
seid beide auf eure schweißfüße geküsst!
→do↑p!dnʇs↓shit←

Michael

Moin

@the ratman
Vielen Dank für die Blumen.
Die muss ich Weiterleiten an : Prof. Dr. Peter Henning und den Moon.pm Entwickler wo ich mir den HTML Code entnommen habe.

@Prof. Dr. Peter Henning
Eine Frage habe ich noch.
Ist mit SunAz die Gradzahl der Himmelrichtung gemeint?
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

CoolTux

Zitat von: Michael am 17 Juli 2017, 11:23:19
@Prof. Dr. Peter Henning
Eine Frage habe ich noch.
Ist mit SunAz die Gradzahl der Himmelrichtung gemeint?

https://de.wikipedia.org/wiki/Sonnenazimut
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Michael

@CoolTux
Dank dir.
War ne blöde Frage von mir.  :-[

@Heuberg
Gebe das
define Moon_weblink weblink htmlCode { Moon_to_html("myAstro") }
mal oben in die Fhembefehlzeile ein.

@all
Und wer das Infoframe nutzt
embed - 560 60 25 25 { Moon_to_html("myAstro") }
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP