Fragen zur Eigenen Wetterseite

Jetzt hab ich’s!!
Das Wetterscript kommt mit Umlauten nicht mehr klar. Im Testscript habe ich einfach halber Berlin benutzt. In meinem Originalen steht Oberkrämer.
Also doch was mit IPS 2.5 bzw PHP.

Ich hab jetzt den ganzen Thread durchgeschaut um festzustellen wie ich an die Daten für den Landkreis und die Region komme. Die Links die angegeben sind kann ich nicht aufrufen weil da immer eine Fehlermeldung kommt. Woher bekomm ich diese Infos?

Brauche das für den Ort Wermelskirchen im Rheinisch-Bergischen-Kreis

Ich habe seit ein paar Tagen (ich kann nicht sagen seit wann es so ist, da es mir vorgestern das erste Mal aufgefallen ist) eine Fehlermeldung die den DWD Datenimport zu betreffen scheinen (Anhang).
Hat jemand das gleiche Problem und/oder weiß wie ich es abstellen kann?

Endschuldigt die Unannehmlichkeiten … es lag an meiner voll ausgelasteten Bandbreite. :o
Problem gelöst! Ausschau nach Bandbreitenerweiterung bei ISP

Ich würde gerne die Daten des aktuellen Wetters (evtl. auch die Folgetage) in Variablen exportieren, um sie mit IPS weiterzuverarbeiten. Gibts da schon eine Lösung?

Gruss
TK6

in der WetterIndex.php stehen doch die Werte drinnen. Einfach Variablen anlegen und die Werte eintragen.

Beispiel für Tag aktuell:

SetValue(12345, $wetter[0]['temperatur']);

usw…

Ok, das ist schon mal gut. Habe ich jetzt gefunden, allerdings brauche ich noch etwas Hilfe dazu. Soll ich den php code von Dir in die Wetterindex.php einfügen? Wenn ja, wo? Mir ist nicht klar, wann die Wetterindex.php ausgeführt wird? Ich hätte am liebsten ein separates script, welches mir die Daten in die Variablen schreibt, also im Prinzip so wie Du es in der Zeile geschrieben hast, nur brauche ich da ja noch was vornedran, um das Array zu finden. Wäre super, wenn Du mir ein komplettes Stückchen code für einen Wert (aktuelle Temperatur) geben könntest.
Gruss
TK6

Ich hätte am liebsten ein separates script, welches mir die Daten in die Variablen schreibt
Wer hält dich davon ab. :eek:

Kopier dir die Funktion und den Aufruf in ein Script und setz deine Variablen, fertig.

Das wär dann als Beispiel etwa so. Ort usw. musst Du noch eintragen.

$wetter = webseite_wetter($ortGoogle, "Germany", "/user/WetterFtpDWD/icons/", "/user/WetterFtpDWD/icons/gross/");

function webseite_wetter($plz, $land, $icons_src="/", $iconsAktuell="/", $sprache="de", $ort="")
{
    //$icons_google = "http://g0.gstatic.com/images/icons/onebox/";
     $icons_google = "/ig/images/weather/";
     
    if($ort != "")
    {
        $station = $ort;
    }
    else
    {
        $station = $plz."-".$land;
    }

    $api = simplexml_load_string(utf8_encode(Sys_GetURLContent("http://www.google.com/ig/api?weather=".$station."&hl=".$sprache)));
     //print_r($api);
    $wetter = array();

    // Aktuelles Wetter
    $wetter[0]['zustand'] = $api->weather->current_conditions->condition->attributes()->data;
    $wetter[0]['temperatur'] = $api->weather->current_conditions->temp_c->attributes()->data;
    $wetter[0]['luftfeuchtigkeit'] = $api->weather->current_conditions->humidity->attributes()->data;
    $wetter[0]['luftfeuchtigkeit'] = str_replace("Feuchtigkeit", "rel.Luftfeuchte", $wetter[0]['luftfeuchtigkeit']);
    $wetter[0]['wind'] = $api->weather->current_conditions->wind_condition->attributes()->data;
    $wetter[0]['icon'] = str_replace($icons_google, $iconsAktuell, $api->weather->current_conditions->icon->attributes()->data);
     $wetter[0]['icon'] = str_replace(".gif", ".png", $wetter[0]['icon']);
    
    // Wettervorhersage heute, morgen, in zwei und in drei Tagen ($wetter[1] bis $wetter[4])
    $i = 1;
    foreach($api->weather->forecast_conditions as $weather)
    {
        $wetter[$i]['wochentag'] = $weather->day_of_week->attributes()->data;
        $suchArr = array('Mo.','Di.','Mi.','Do.','Fr.','Sa.','So.');
        $ersetzArr = array('Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag');
        $wetter[$i]['wochentag'] = str_replace($suchArr, $ersetzArr, $wetter[$i]['wochentag']);
        $wetter[$i]['zustand'] = $weather->condition->attributes()->data;
        $wetter[$i]['tiefsttemperatur'] = $weather->low->attributes()->data;
        $wetter[$i]['hoechsttemperatur'] = $weather->high->attributes()->data;
        $wetter[$i]['icon'] = str_replace($icons_google, $icons_src, $weather->icon->attributes()->data);
        $wetter[$i]['icon'] = str_replace(".gif", ".png", $wetter[$i]['icon']);
        $i++;
        if($wetter[0]['icon'] == "")
        {
            $wetter[0]['icon'] = $wetter[1]['icon'];
            $wetter[0]['icon'] = str_replace($icons_google, $iconsAktuell, $weather->icon->attributes()->data);
            $wetter[0]['icon'] = str_replace(".gif", ".png", $wetter[0]['icon']);
        }
    }
    return $wetter;
}
SetValue(12345, $wetter[0]['temperatur']);  //usw..........

Super, hat geklappt. Vielen Dank. Ich musste noch folgende Änderung machen:

SetValue(12345, (float)$wetter[0][‚temperatur‘]); //usw…

sonst gibt’s eine Fehlermeldung wegen des Datentyps.

Hallo zusammen,
wo finde ich denn die Scripte? oder gibt’s die nur auf Anfrage bei Rainer?
Danke und

Meinst Du das hier?

http://www.ip-symcon.de/forum/f56/eigene-wetterseite-10740/

Hallo zusammen,
@kronos: Danke !!
@all:
Hab so weit alles ans laufen gebracht. Allerdings bin ich fast verzweifelt als alle Anpassungen / Korrekturen im WF nicht funktioniert haben. Grund war, dass ich die *.php Dateien, mangels eigenem Scripteditor, im IPS Scripteditor bearbeitet habe und nicht geblickt habe dass die Dateien beim „hochladen“ in den .\scripts kopiert werden und die Änderungen somit garnicht ziehen.
Nun zur grundsätzlichen Frage: ist es mit IPS überhaupt möglich Scripte ausserhalb des .\scripts verzeichnisses zu editieren ohne die dann wieder zurück-kopieren zu müssen? Wenn ja wie?
Danke für eure Antworten,

Hallo,

Danke für die tolle Wetterseite.

Habe die heute installiert und mit ein kleine Anlaufproblem, welches ich aber hier mit den letzten Beiträgen lösen konnte ( Umlaut im Ortsnamen ) auch zum laufen bekommen.

Etwas Feinschliff ist noch nötig ( Ortsmarkierung inder Karte ) aber ansonsten läuft es

:loveips:

Ich muss das hier noch mal aufwärmen, ich bekomme seit einiger Zeit immer wieder Fehlermeldungen angezeigt in der WetterIndex.php.

Die Meldung lautet Call to a member function attributes() on a non-object Error in Script…\WetterIndex.php om Line 41.

In Line 41 wird das aktuelle Wetter geladen:

$wetter[0]['zustand'] = $api->weather->current_conditions->condition->attributes()->data;

Das scheint immer mal wieder aufzutreten, so als ob es b und an Probleme mit der Verbindung gibt.

[ul]
[li]Hat das noch jemand?
[/li][li]Kann man da was gegen tun?
[/li][li]Oder wenn nicht, wie kann ich am einfachsten verhindern, dass der Fehler angezeigt wird im Logger?
[/li][/ul]Hat das noch jemand?

Danke

 $wetter[0]['zustand'] = @$api->weather->current_conditions->condition->attributes()->data;

@ unterdrückt die Ausgabe der Warnung.

…und fragt dann, warum keine Daten mehr vorhanden sind. :smiley:

Frage 1: ja
Frage 2: kaum
Frage3: das Script nur dann laufen lassen, wenn die WAN-Verbindung steht. Dazu habe ich eine Statusvariable, deren Wert vom anpingen einer WAN-IP-Adresse abhängt
Frage4: siehe Frage1

Wie immer zu Scherzen aufgelegt :slight_smile:

Ich hatte diese Meldung auch in unregelmässigen Abständen trotz vorherigen Prüfen der Internetverbinung.

Ab und an verschluckt sich vielleicht auch der Wetterdienst oder hat vielleicht Heuschnupfen :wink:

Moin,

Ich habe die Vermutung, das der Server Verbindung ablehnt, weil aktuell zu viele offen sind - bei FTP-Servern stellt man sowas als Limit ein und selbst bei Web-Servern macht man dies normalerweise auch.
Wenn immer mehr Leute gleichzeitig in kurzen Abständen den Server anfragen, macht der zu.

Ich habs manuell getestet und beim DWD öffters keiner Verbindung bekommen.

Also ich bin mir sicher, dass ich immer eine WAN Verbindung habe, wenn der Fehler auftritt.

Da es ja nicht so tragisch ist, wenn die Daten mal nicht kommen wäre die Frage wie man am besten den Fehler unterdrückt. Nur das @ vor die Zeile ist das Eine aber da hängen doch sicher noch Folgedinge dran.

mws