Hallo dpoessl,
die Zeilen die Dir Fehler ausgeben haben alle die Variable city drin.
Evtl hast Du da einen Tippfehler oder aber die Stadt gibts beim DWD nicht für umme. Dann musst du eben die geographisch passenste nächste nehmen. Ich hab z.B. Karlsruhe obwohl ich ca 30 km weg wohne. Es gibt nähere. Ist aber die Stadt, die das Wetter von Mühlacker mit größter Wahrscheinlichkeit am besten wiederspiegelt.
Hi,
bekomme auch täglich die gleichen Fehler. Hast Du sie behoben bekommen ???
Gruß Proxima
Hallo Proxima,
ich hab an der Startzeit für das Ereignis, das das Script ftpServerDWD.ips startet so lange rumgeschraubt bis es besser wurde. Weg bekommen hab ichs nicht. Wenn man die einen weg hatte sind andere gekommen. Aktuell bekomme ich noch zu 2 Zeiten die Fehler. Habs dann auch aufgegeben.
Hallo Zusammen,
nach dem ich die Anleitung befolgt habe, auch das Update und noch mal die Zusammenfassung von Wolfgang, bekomme ich die Wetterseite immer noch nicht ans rennen.
Ich habe das Problem, das sich die Skripte auf einen Skriptnamen.ips.php beziehen. Z. B. Vorhersage.ips.php
Wenn ich gemäß Anleitung die Scripte erstelle und sie mit dem Inhalt fülle und abspeichere, bekomme ich im Objektbaum allerdings in der Spalte „Wert“ einen Namen bestehend aus der ID.ips.php angezeigt. Der Screenshot von Wolfgang zeigt aber den Echtnamen des Scripts. Also z. B. Vorhersage.ips.php und nicht wie bei mir zb. 36703.ips.php . Ich habe es auch mal mit der Importfunktion versucht. Mit dem gleichen Ergebnis. Ich kann den Wert auch nicht ändern. Somit finden sich die Scripte sich untereinander nicht.
Ich habe dann mal die ID`s statt den Namen in den Skripten eingepflegt. Das funktioniert dann teilweise. Nur bei der Vorhersage bekomme ich einen Fehler der da lautet: undefined offset in Line 99 ($aktuell = $city[0][$lokal][1]
Mich würde also interessieren, wie ich es hinbekomme dass IPS die Echtnamen verwendet und nicht die bei Scripterstellung erstellte ID und by the way natürlich Fehler 2 in Line 99 des vorhersagescripts, weil ich vermute, dass dieser Fehler mich dann als nächstes beschäftigen wird.
Ich danke im Voraus und hoffe, dass es jetzt nicht die ultimative blöde Frage war, da ich echt die Anleitungen 2 mal durchgearbeitet habe, die Wolfgang-Variante probiert habe und die Thread gelesen habe, zugegebener Maßen nicht alle 111 Seiten!
Na ja, Du musst auch lesen (und tun) was ich verlinkt habe … „Skripte importieren & umbenennen“ (nur der umbenennen Teil - Schaltfläche Schraubenschlüssel)
Jau, das ist mal peinlich für mich… ich hab den Namen immer direkt im Objektbaum angeklickt!
Vielen Dank!!! Wieder was gelernt!!
So hab es jetzt auch lauffertig, lediglich die folgende Fehlermeldung kann ich nicht deuten:
Notice: Undefined offset: 0 in C:\IP-Symcon\scripts\Vorhersage.ips.php on line 99
Habt ihr da noch einen Tipp. Hier hat den Fehler schon mal jemand gepostet, aber die Lösung habe ich nicht finden können.
Danke im Voraus.
Hier gabs die Frage
und hier die Antwort
Vielleicht hilft es, wundert mich aber, dass bei Dir nur die eine Zeile Fehler meldet. Kann ich aber nicht nachvollziehen.
Ja, man sollte auch den Ordner „Vorhersage“ auf dem IPS-Server suchen und nicht wie ich auf dem FTP-Server des DWD. Dann findet man auch die Orte!
Danke.
Hallo alle ,
ich hoffe ich bin hier richtig.Ich möchte den Wetterbericht für Morgen in eine Variabele angezeigt bekommen , ich habe schon alle möglichen Variabele ausprobiert , aber es wird nicht angezeigt.
ich hoffe das mein Problem so erkant wird , das ich habe. Ich brauche nur diesen einen Bericht im Webfront.
Danke Michael
Hallo Elektro,
erstmal wärs nett wenn Du php-code direkt einbettest, dann müssen wir den Code zum testen nicht abtippen.
Wenn du tatsächlich nur diese eine Datei in eine Variable schreiben willst gehts so:
<?
$berichtMorgen = file_get_contents("d:/IPS/webfront/user/WetterFtpDWD/berichte/berichtMorgen.txt");
setvalue(37958 /*[Test xt-html-nach-ipsvariable xt-html-nach-ipsvariable]*/, $berichtMorgen);
?>
Im WF sähe das dann so aus:
In Deinem Code scheiterst Du daran, dass Du Dateiinhalt und Namen vermischst. Den switch + case (wird nie erfüllt, daher wird nicht in die Variable geschrieben) brauchst Du dafür nicht.
Ja, genau .
So soll es gehen , vielen Dank.
Mit freundlichen Grüßen Michael
Hallo zusammen,
ich möchte gerne eine Temperatur aus einer der Vorhersage-Dateien des DWD auslesen.
Wie kann ich den Wert nach München in eine Variable bekommen? Ich weiß nicht mit welchen PHP-Befehlen ich den Text durchsuchen oder ausschneiden kann. Wäre klasse, wenn mir jemand helfen könnte.
Ich nehme diesen Befehl und schreibe den Bericht in eine Variable:
$berichtMorgen = file_get_contents("C:/IP-Symcon_V2/webfront/user/WetterFtpDWD/vorhersage/Daten_Suedost_mittag");
Sowas ist der Inhalt der Variablen:
Vorhersage von Höchsttemperatur und Wetter für Montag spät, 07.04.2014
------------------------------------------------------------------------
Würzburg 22 bewölkt
Bamberg 22 bedeckt
Hof 19 bewölkt
Weiden 20 bewölkt
Öhringen 22 bewölkt
Nürnberg 22 bewölkt
Regensburg 23 bewölkt
Straubing 21 bewölkt
Großer Arber 11 bewölkt
Fürstenzell 20 bewölkt
Stuttgart 22 bewölkt
Stötten 20 bewölkt
Augsburg 21 bewölkt
München 22 bewölkt
Konstanz 23 bewölkt
Kempten 22 bewölkt
Oberstdorf 21 bewölkt
Hohenpeissenberg 19 bewölkt
Zugspitze 2 bewölkt
Wendelstein 11 bewölkt
Temperatur in Grad Celsius
Wie geht’s dann weiter?
Grüße
papaschlumpf
Hallo papaschlumpf,
was willst Du damit bezwecken. Die Datei ändert sich mehrmals am Tag und ist nach Ablauf leer. So wird es unweigerlich eine Fehlermeldung geben.
Hallo RWN,
Ich sende mir morgens um 6 Uhr eine Notification in der die aktuelle Temp. enthalten ist. Dazu soll noch die voraussichtliche Tagestemperatur, die ich aus der DWD-Datei ziehen möchte. Dann weiß ich zum Aufstehen was ich anziehen sollte
Wenn ich die Datei also nur auslese, wenn sie gefüllt ist, sollte es klappen, falls mit jemand verrät, wie ich an die Zahl nach München komme
Grüße
Matthias
Hallo Matthias,
es steht eigentlich alles in der Vorhersage drinnen was Du brauchst um an die Werte zu kommen.
Hier mal ein Ausschnitt was reichen sollte, entsprechend angepasst und dann in eine Variable geschrieben.
$datenVorhersage = file_get_contents(IPS_GetKernelDir()."webfront\\user\\WetterFtpDWD\\Vorhersage\\".$dataForXml[$i]); $arrayData = explode("
", $datenVorhersage); //print_r($arrayData); unset($arrayData[0]); unset($arrayData[1]); $allData[] = array_values($arrayData); //$array = array_merge($allData[$i]); //print_r($array);}$array = array_merge($allData[0], $allData[1], $allData[2], $allData[3], $allData[4], $allData[5], $allData[6], $allData[7]);//print_r($array);
$city = array();foreach($array as $values){ $data = preg_split('/ /', $values, -1, PREG_SPLIT_NO_EMPTY); print_r($data); if(isset($data[0]) && $data[0] == $lokal) { $cityData = &$city[]; $cityData[$data[0]] = array(trim(utf8_encode($data[1])), trim(utf8_encode($data[2]))); }}
//print_r($city);
Hallo RWN, vielen Dank für deine Zeilen. Ich bin nicht so fit in PHP aber ich versuche es mal zu verstehen und anzupassen.
Da bei mir das Thema auch gerade aktuell ist, zeige ich mal kurz wie ich das gelöst habe:
<?
$dataForXml = "vorhersage.xml";
$pfad = IPS_GetKernelDir()."webfront\\user\\WetterFtpDWD\\vorhersage\\".$dataForXml;
if (file_exists($pfad))
{
$xml = simplexml_load_file($pfad);
//echo $xml->info->zeit."
";
//echo $xml->info->ort."
";
SetValue(21543,utf8_decode((String)$xml->aktuell->condition));
SetValue(26359,(String)$xml->data[0]->day);
SetValue(50920,(Float)$xml->data[0]->tempmin);
SetValue(39905,(Float)$xml->data[0]->tempmax);
SetValue(17987,(String)$xml->data[1]->day);
SetValue(21395,(Float)$xml->data[1]->tempmin);
SetValue(46416,(Float)$xml->data[1]->tempmax);
echo "done";
}
?>