FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Wettermodule => Thema gestartet von: pte am 13 Januar 2016, 17:09:07

Titel: Fehlermeldung aus twilight Modul
Beitrag von: pte am 13 Januar 2016, 17:09:07
Hatte heute eine Fehlermeldung aus dem twilight Modul im Log
2016.01.13 14:35:37.287 1: PERL WARNING: Use of uninitialized value $current in numeric ge (>=) at ./FHEM/59_Twilight.pm line 463.
2016.01.13 14:35:37.288 1: PERL WARNING: Use of uninitialized value $current in numeric le (<=) at ./FHEM/59_Twilight.pm line 463.
2016.01.13 14:35:37.289 1: PERL WARNING: Use of uninitialized value $current in array element at ./FHEM/59_Twilight.pm line 464.

Fehler liegt meines Erachtens in folgendem Codeabschnitt "if($xml=~/text="(.*)"(\ *)code=........."
################################################################################
sub Twilight_getWeatherHorizon(@)
{
  my ($hash, $xml) = @_;
 
  my $location=$hash->{WEATHER};
  if ($location == 0)  {
     $hash->{WEATHER_HORIZON}="0";
     $hash->{CONDITION}="0"; 
     return 1;
  }

  my $mod = "[".$hash->{NAME} ."] ";
  my @a_current = (25,25,25,25,20,10,10,10,10,10,
                   10, 7, 7, 7, 5,10,10, 6, 6, 6,
                   10, 6 ,6, 6, 6, 6, 6, 5, 5, 3,
                    3, 0, 0, 0, 0, 7, 0,15,15,15,
                    9,15, 8, 5,12, 6, 8, 8);

  # condition codes are described in FHEM wiki and in the documentation of the yahoo weather API

  my $current, my $cond, my $temp, my $aktTemp;
  if (defined($xml)) {
     if($xml=~/text="(.*)"(\ *)code="(.*)"(\ *)temp="(.*)"(\ *)date/){                                                          #<-- bei falsch erfolgt keine Initialisierung von $current, aber Auswertung weiter unten
        if(defined($1)){
          $cond   =$1;
          $current=$3;
          $temp   =$5;
        }else{
          $current=-1;
        }
     } 
  }else{
     $current=-1;
  }   

  if(($current>=0) && ($current <=47)) {                                                                                                   #hier wird $current geprüft, obwohl oben gegebenenfalls nicht initialisiert
    $hash->{WEATHER_CORRECTION} = $a_current[$current] / 25 * 20;
    $hash->{WEATHER_HORIZON}    = $hash->{WEATHER_CORRECTION} + $hash->{INDOOR_HORIZON};
    $hash->{CONDITION_TXT}      = $cond;
    $hash->{CONDITION}          = $current;
    $hash->{TEMPERATUR}         = $temp;
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: CoolTux am 14 Januar 2016, 10:22:39

my $current, my $cond, my $temp, my $aktTemp;


Wird nicht $current genau hier mit undef Initialisiert?



Grüße
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: pte am 14 Januar 2016, 10:42:43
andere Idee als Grund für die Fehlermeldung?
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: CoolTux am 14 Januar 2016, 11:01:35
Kann nicht genausagen ob das so geht, ich kenne das nicht so

my $current, my $cond, my $temp, my $aktTemp;


Ich hätte das so gemacht

my $current;
my $cond;
my $temp;
my $aktTemp;


Aber wie gesagt, nur weil ich es so nicht kenne heißt es ja nicht das es nicht geht    ;D
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: spikeh1 am 14 Januar 2016, 15:32:53
Zitat von: pte am 14 Januar 2016, 10:42:43
andere Idee als Grund für die Fehlermeldung?

Ich habe die Meldung auch seit gestern im Log.
Habe mal geschaut und die api von Yahoo-Weather sagt zu meiner Wetter-ID, City not found.
Somit bekommt das twilight Modul keine Daten von Yahoo.
Ist aber eben nur über die api der Fall. Über die Wetter-Seite finde ich noch alle Infos zu meiner Stadt.
Ich bin erstmal auf eine andere Stadt (Wetter-ID) in meiner Nähe umgestiegen. Somit läuft alles erstmal wieder.

Kannst ja mal selber schauen, was bei dir kommt. Statt WOEID gibst du deine ID ein.
http://weather.yahooapis.com/forecastrss?w=WOEID

MfG
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: pte am 14 Januar 2016, 16:06:52
zumindest jetzt bekomme ich aktuelle Wetterdaten für meine Location. Ob das gestern mal kurzzeitig nicht der Fall war bekomme ich jetzt nicht mehr raus.
Werde das mal weiter beobachten.
Danke erst einmal für die Hinweise.
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: AndyMu am 16 Januar 2016, 17:34:43
Das Problem habe ich momentan auch mit Lohr a. Main - 672536, ebenso mit 652077 (Gemünden) oder 664945 (Karlstadt)
Erst 708287 (Würzburg) tut wieder... echt ein Mist :( das ist 40km weg...
Ich habe auf dem ss_weather eine Lichtschaltung aufgebaut, wenn das nicht gescheit läuft muss ich mir was anderes überlegen.
Schade, dass da Yahoo anscheinend nicht stabil Daten liefern kann.
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: CoolTux am 17 Januar 2016, 12:01:52
Das selbe Problem habe ich auch.
Habe auf twilight_weather was aufgebaut.
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: spikeh1 am 17 Januar 2016, 14:28:31
Zitat von: CoolTux am 17 Januar 2016, 12:01:52
Das selbe Problem habe ich auch.
Habe auf twilight_weather was aufgebaut.
Da bin auch gerade dran. Welche Wetterdaten (Quelle) verwendest du zur Berechnung?
Ich hole mir die Daten im Moment von openweathermap aber da ist die nächste Station auch recht weit weg und deswegen vielleicht etwas zu ungenau.

MfG
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: CoolTux am 17 Januar 2016, 14:45:23
Das liegt an Yahoo. Ich habe eben mal eine andere ID eingegeben. Jetzt klappt es wieder.
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: MichaelO am 17 Januar 2016, 16:15:05
Hab das selbe Problem und leider erst heute gemerkt, dass es der twillight_weather-Wert ist, der spinnt. Steht bei mir fast immer auf 0 - und das ganze Haus macht Sachen, die es nicht soll :-(

Die Fehlermeldungen von pearl im Modul Twilight hast ich auch im Log.

Leider bekomme ich unter dem Link

http://weather.yahooapis.com/forecastrss?w=WOEID

nur eine Meldung von Safari, dass er irgendwas unter "gesendete Links" einfügen will. Komischerweise stimmt das Wetter unter meiner ID noch, nur eben kein dazu passendes twilight.

Ich hoffe, das geht bald wieder, sonst muss ich mir einen richtigen Helligkeitssensor besorgen. So macht das keinen Spaß.

Gruß
Michael
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: CoolTux am 17 Januar 2016, 16:29:44
Sicher das das Weathermodul noch korrekt geht? Die meisten meiner Readings waren vom 13.
Musste ne Nachbarstadt auswählen damit sowohl weather Modul als auch Twilight wieder gehen.
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: AndyMu am 17 Januar 2016, 16:52:12
@CoolTux
nun, solange man eine ID eingetragen hat, die auch über den API Link (oben gepostet) aufrufen kann, funktioniert alles problemlos.
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: CoolTux am 17 Januar 2016, 18:01:57
Es gibt derzeit einige Thread zum Problem mit weather. Mitunter habe ich auch gelesen das trotz API link und Daten diese Korrupt waren.
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: AndyMu am 31 Januar 2016, 16:06:24
Also zumindest für Lohr klappt es wieder:
http://weather.yahooapis.com/forecastrss?w=672536
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: MichaelO am 31 Januar 2016, 16:58:39
Ich gehe jetzt auf Nummer sicher und erzeuge die benötigten Messwerte selbst. Hab mir einen 1-wire Helligkeit-/Einstrahlungssensor gekauft und an der Südseite angebracht. Nun kann Yahoo und die API machen, was sie will :-)

Gruß
Michael
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: booster am 26 März 2016, 19:05:53
Ich hatte hier nun auch Probleme. Anscheinend hat Yahoo hier die IDs geändert, wonach die Daten so gar nicht mehr gepasst hatten.

Mal schuen ob es mit den neuen IDs besser klappt.
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: n0bbi am 31 März 2016, 07:41:44
Meine ID ist unverändert, die Warnung im LOG habe ich trotzdem. Von der Funktion her habe ich bis jetzt auch keine Einschränkung feststellen können, ich nutze allerdings auch nur das Reading "Light"...

Wie krieg ich trotzdem diese Meldung weg?

Danke :)
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: CoolTux am 31 März 2016, 07:51:56
https://forum.fhem.de/index.php/topic,51474.0.html
Titel: Antw:Fehlermeldung aus twilight Modul
Beitrag von: n0bbi am 31 März 2016, 07:56:12
Mist, nicht richtig gesucht, danke...