neues Modul Astro.pm

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

Vorheriges Thema - Nächstes Thema

Shadow3561

Offtopic:
Folgendes ist nicht böse gemeint und stellt nur meine Meinung dar.

Wenn alle so denken würden wie du, dann wäre FHEM bei weitem nicht so mächtig wie es heute ist.

Module wie "traffic und Departure" würde es nicht geben wenn es nach "Hausautomation" geht.
Evtl. möchte der Fragesteller es ja auch für seine Visu abbilden.

Aber es ist dein Modul und du entscheidest was rein kommt und was nicht.


@Docter

Vielleicht schaust du dir mal das "httpmod" Modul an.

Grüsse,
Daniel

rabehd

Ich muß pah da Recht geben.
Ein Modul sollte eine klare Aufgabe haben und nicht alles können.
Das Astro-Modul unterstützt die Hausautomation. Für reine Infosachen, die ich auch habe, sollte es andere/eigene Lösungen/Module geben.
Auch funktionierende Lösungen kann man hinterfragen.

Franzel56

Hallo,

ich habe in meinem Astro-Modul in den Readings folgenden Fehler:

MoonPhasePic   

Error evaluating SonneMond userReading MoonPhasePic: syntax error at (eval 14182) line 1, near ")\"     

2024-12-14 10:30:48
Ich habe hier gelesen und gesucht, aber nichts gefunden.
Habt Ihr einen Tip?

rabehd

Zitat von: Franzel56 am 07 Januar 2025, 15:43:44userReading MoonPhasePic: syntax error at (eval 14182) line 1, near ")\" 

Ein Userreading ist kein Bestandteil des Moduls.
Ohne Deine Definition des UserReading wird es schwer zu helfen.
Auch funktionierende Lösungen kann man hinterfragen.

jkriegl

Damit funktioniert die Mondanzeige
<embed src='fhem/Astro_moonwidget?name='Astronomie' width='18'>
Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Franzel56

@jkriegl
Wo gebe ich diese Zeile denn ein. 99_myutils?

Franzel56

@rabehd
Hier mein Reading:

#-- Moon picture

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

sub moon_pics($)
{
 my ($name)    = @_;
 my $picNo     = ReadingsVal("SonneMond","MoonAge",0);
 my $picOrd    = "/opt/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("SonneMond", "Mondbild", "");
   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;

rabehd

Zitat von: Franzel56 am 09 Januar 2025, 19:56:26Hier mein Reading:
Wenn Du es jetzt noch schaffst das in Code-Tags zu machen....
Sieh Dir mal die Button über den Eingabefenster an, einer heißt Code. Anklicken und dazwischen den Code einfügen.
Dann noch als eigenes Thema und Du bist "aufgenommen"  ;D
Auch funktionierende Lösungen kann man hinterfragen.

jkriegl

#458
im stateFormat
So: SunRise SunSet SunHrsVisible Mo:
<embed src='fhem/Astro_moonwidget?name='Astronomie' width='18'> SunAlt SunSign
Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Franzel56

Moon picture

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

sub moon_pics($)
{
 my ($name)    = @_;
 my $picNo     = ReadingsVal("SonneMond","MoonAge",0);
 my $picOrd    = "/opt/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("SonneMond", "Mondbild", "");
   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;
}

Franzel56

@jkriegl
Danke, geht aber leider nicht.

jkriegl

Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Franzel56

Habe jetzt ein neues Thema in den Anfängerfragen (hoffentlicht richtig) aufgemacht.