Wetter funktioniert nicht

Hallo WebFront-User,

jetzt wollte ich mich auch mal näher mit dem Webfront beschäftigen. Hab es installiert und kann es auch aufrufen.
Leider kommt nach dem Seitenaufruf eine Fehlermeldung (ohne Text). Unter dem Menüpunkt IP-Symcon funktioniert alles. Aber bei dem Wetter erscheint nichts. Wenn ich mit FireBug debugge erscheint die Meldung

ERROR! Message: Konnte DWD-Wetterdaten nicht einlesen! || Detailed: undefined
ERROR! Message: TypeError: str is undefined || Detailed: {}&& {"error":"Konnte DWD-Wetterdaten nicht einlesen!"}

Nehme ich aus der config.custom.basic den Eintrag für den DWD raus erscheint keine Fehlermelung mehr, aber das Wetter geht natürlich auch nicht :confused:.

Muss ich hier noch eine Einstellung vornehmen?

Konfigurieren musst Du nichts. Was mir zum Fehler einfallen würde: Server hat keine Internetverbindung / muss sich über einen Proxy-Server verbinden / hat eine Firewall, die IPS nicht ans Internet lässt. Oder die DWD-Seite war mal wieder im Wartungsbetrieb.

Hallo Horst,

vielen Dank für Deine Antwort. Internet ist definitiv vorhanden. Der Designer holt sich Wetterinfos ohne Problem aus dem I-Net. IPS geht auch mit einigen Scripten über das I-Net was ohne Probleme funktioniert (z.B. Telefonnummernrückwärtssuche /* langes Wort*/). Die Seite des DWD kann ich auch aufrufen.
Kommt denn das Fenster der Fehlermeldung aus dem DWD Scipt, oder kann es auch eine andere Ursache haben. Hast Du noch eine Idee?
Ich hatte das Problem auch schon mit den Standardeinstellungen vom Webfront, also nach Neuinstallation ohne meine Anpassungen. Natürlich hatte ich die Daten aus der V1 übernommen.

Wenn Du eh schon FireBug benutzt: Suche nach der URL einer DWD-Abfrage, z.B. http://localhost:82/data/dwd.php?&ts=1245932100394&do=getReport&region=NW&date=day4&mapView=rad, und schaue nach, was da rüberkommt. Die Migration von der V1 sollte eigentlich nichts ausmachen, da die DWD-Ansicht nur ganz normale PHP-Funktionen verwendet.

Hallo Horst,

bin jetzt mal mit meinen bescheidenen PHP-Kenntnissen auf die Suche gegangen. Also der Hase scheint hier im Pfeffer zu liegen:

            if(preg_match($regex, $dwdContent, $result))
            {
                $report = Array("title" => utf8_encode($result[1]), "subtitle" => utf8_encode($result[2]), "text" => $result[3], "mapUrl" => utf8_encode($mapUrl));
                echo prepareContent(Array("report" => $report));
            }
            else
            {
                raiseError("Konnte DWD-Wetterdaten nicht einlesen!");
            }
            break;

preg_match liefert 0, somit wird der else Zweig ausgeführt. Nun dachte ich bist clever :wink: und lässt nur die Zeile

    $report = Array("title" => utf8_encode($result[1]), "subtitle" => utf8_encode($result[2]), "text" => $result[3], "mapUrl" => utf8_encode($mapUrl));

ausführen.

Doch dann erscheint „Undefined variable: result“. Die Links zum DWD in der DWD.php funktionieren übrigens alle.

Übrigens erscheint bei Deinem Link „{}&& {„error“:„Konnte DWD-Wetterdaten nicht einlesen!“}“

habe jetzt den gesamten IF-Zweig raus genommen und durch

$result = $dwdContent;
$report = Array("title" => utf8_encode($result[1]), "subtitle" => utf8_encode($result[2]), "text" => $result[3], "mapUrl" => utf8_encode($mapUrl));
echo prepareContent(Array("report" => $report));

ersetzt.
Ist zwar nicht ganz sauber, aber es geht.:slight_smile:

Sehr merkwürdig. An der dwd.php wurde eigentlich seit Monaten nichts geändert und andere User haben sich auch nicht beschwert. Ich könnte mir da höchstens eine konkurrierende php.ini einer separaten PHP-Installation oder merkwürdige, mir unbekannte Flags in einer eigenen php.ini vorstellen.

Hy@all
Ich habe genau das gleiche Problem:confused:
Werde das mit dem Script mal testen