FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: MisterEltako am 24 Februar 2013, 22:12:37

Titel: Weathermodul um sunset/sunrise erweitern
Beitrag von: MisterEltako am 24 Februar 2013, 22:12:37
Hi!

Mit Hilfe des Forums und meinem eigenen Ausprobieren habe ich am Modul 59_Weather.pm von Dr. Boris Neubert einige Änderungen gemacht, damit Sonnenauf- und Sonnenuntergang auch in den Readings, aber auch im Floorplan angezeigt werden.

Falls Einverständnis besteht würde ich mich sehr freuen, wenn diese Änderungen mit eingecheckt werden könnten, da meine Rollladensteuerung über diese Einträge läuft und durch das aktuelle Update die Änderungen überschrieben wurden.

in 59_Weather.pm:

Eingefügt zwischen Orginalcode in Orginalzeile 311-316:
 ### sunrise/sunset
    if ($tag eq "yweather:astronomy" ) {
      $value =~/sunrise="([0-9:.]*?) (..)" .*sunset="([0-9:.]*?) (..)".*/;
         if ($1) { readingsBulkUpdate($hash, "sunrise", h2hms_fmt(hms2h($1))); }
         if ($3) { readingsBulkUpdate($hash, "sunset", h2hms_fmt(hms2h($3)+12)); }
    }

geändert in Orginalzeile 480:
my $ret = sprintf("<table><tr><th width=%d></th><th></th></tr>", $width);
  $ret .= sprintf('<tr><td><b>Sonnenaufgang:</b><br><b>Sonnenuntergang:</b><td>%s<br>%s</td></tr><tr><td width=%d>%s</td><td>%s<br>%s°C&nbsp/&nbsp;%s%%<br>%s</td></tr>',
        ReadingsVal($d, "sunrise", ""),
        ReadingsVal($d, "sunset", ""),
        $width,
        WeatherIconIMGTag(ReadingsVal($d, "icon", "")),...


Verwertbar ist z.B. sunrise so:
define Test dummy
define Sonne notify Test {\
my $Zeitstring = ReadingsVal('Local_Wetter', 'sunrise', ' ');;\
Log 3,"$Zeitstring";;\
fhem ("define Sonnenaufgang at *$Zeitstring set Rollladen Auf");;\
}

MfG, MisterEltako.