Fragen zur Eigenen Wetterseite

Zugang zum FTP Server des DWD Besteht und Aktuelle Wetterdaten und Vorhersagen werden abgerufen, allerdings kommt es beim Ausführen des Skripts zu diesen Fehlermeldungen und es wird bis auf den Wetterbericht nichts dargestellt.

Script ftpServerDWDScript ftpServerDWD
Notice: Undefined variable: debug in D:\IP-Symcon\scripts\loginFtpServer.ips.php on line 36
[0] in function require in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 25

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 30

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 58

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 70

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 70

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 70

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 70

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 96

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 109

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 109

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 109

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 109

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 109

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 109

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 109

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 109

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 109

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 123

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 128

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 160

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 169

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 181

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 194

Notice: Undefined variable: debug in D:\IP-Symcon\scripts\ftpServerDWD.ips.php on line 194

Welche Variablen fehlen bzw. müssen wo erstellt werden?

Hallo,

ich wollte mal fragen in welchen Zustand das Skript (bzw die Skripte) jetzt sind. Vorhersage.ips.php habe ich ausgetauscht und der Offset Fehler ist auch weg (Zeile 93 habe ich rauskommentiert) allerdings kommt bei mir der gleiche Fehler in ftpServerDWD.ips.php

Rainer habe ich dich richtig verstanden (in Post #1076), dass Du noch einiges mehr ändern musst. Soll ich warten bis ich versuche alle Fehler zu beseitigen?

Gruss und Dank

gros_ibou

Hallo,

das meiste läuft jetzt. War ein blöder Fehler meinerseits. Sorry!

Allerdings habe ich noch das weiter oben beschriebene Problem, dass Teile der unteren Leiste auf dem Ipad nicht tun (Unterpunkte beispielsweise bei Wetterkarten oder Warnungen gehen nicht auf). Hat jemand das inzwischen gelöst?

Gruss

gros_ibou

noch eins
kräftigerRegen.png

Hi,
ich blick hier langsam nicht mehr durch wahrscheinlich liegt es an mir aber ich komme nicht weiter.

Ich hatte vor einiger Zeit diese „Eigene Wetterseite“ in benutzung, bis einestages sie nicht mehr funktionierte da der DWD seine Links geändert hat. Nun ja, jetzt wolle ich ich sie wieder zum laufen bringen, habe das Update wie geschrieben durchgeführt, ging aber nicht. Daraufhin habe ich sämtliche Einträge von der Eigenen Wetterseite gelöscht um es neu zu installieren, jetzt stellt sich mir aber die frage, muss ich den ersten und den zweiten Thread der Anleitung durchführen oder reicht nur das Update?

Schönen Gruß

Hallo Rainer,

Icon „kräftiger Regen“ scheint noch zu fehlen.

ja, es fehlt noch mehr. Die Meldungen sind auch noch nicht fertig.

Wenn die liebe Zeit nicht wäre…

Hallo,

ich habe mir das script so gefixxed das es ohne Probleme läuft. Das Tat es bei mir leider nicht. Hatte einen haufen fehler (undefined offset).

War nur ne Kleinigkeit.

Hat da jemand bedarf ? dann teile ich gerne.
Oder gibt es eine aktuell funktionierende Version die ich nicht gefunden habe ?

Was hattest du dir denn unter graphen noch vorgestellt ?

Auch werde ich das ganze wohl noch etwas abwandeln. Ich kann leider die unteren menüs nicht benutzen, meine touchscreens unterstützen das nicht. Das menu geht auf, ich kann aber nicht zu den unterpunkten hovern. (Oder ich seh den wald vor lauter bäumen nicht :D). Ich werd das ganze daher etwas umbauen.

Klemmt es sonst noch wo ?

Die ein oder andere Sache kann ich noch implementieren wenn jemand fragt. Teile dann auch gerne.

Gruß,
schroejahr

Also ich hab seit langer Zeit vormittags zwischen 9 und 12 alle halbe Stunde immer 3 Fehler mit „No such file or directory“ im Script ftpServerDWD.ips.php. Hat die sonst noch jemand?


IPS-Err-PHP    2013-07-07 11:30:19.565  Warning: ftp_chdir():    forecasts/biomet/maps/temp/:    No such file or directory     Error in Script D:\IPS\scripts\ftpServerDWD.ips.php on Line 215    133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)     37 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)        in IPSLogger_PhpErrorHandler    215 in ftpServerDWD.ips.php (call ftp_chdir)

Warning:  ftp_chdir(): forecasts/biomet/maps/temp/: No such file or directory in D:\IPS\scripts\ftpServerDWD.ips.php on line 215
Aktuelles Verzeichnis: /gds/gds/specials
Es sind keine aktuelleren Daten vorhanden.
IPS-Err-PHP    2013-07-07 11:30:20.176  Warning: ftp_chdir():    uvi:                No such file or directory     Error in Script D:\IPS\scripts\ftpServerDWD.ips.php on Line 243    133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)     37 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)        in IPSLogger_PhpErrorHandler    243 in ftpServerDWD.ips.php (call ftp_chdir)

Warning:  ftp_chdir(): uvi: No such file or directory in D:\IPS\scripts\ftpServerDWD.ips.php on line 243
Aktuelles Verzeichnis: /gds/gds
Es sind keine aktuelleren Daten vorhanden.
IPS-Err-PHP    2013-07-07 11:30:20.684  Warning: ftp_cdup():    ..:                No such file or directory     Error in Script D:\IPS\scripts\ftpServerDWD.ips.php on Line 271    133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)     37 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)        in IPSLogger_PhpErrorHandler    271 in ftpServerDWD.ips.php (call ftp_cdup)

Warning:  ftp_cdup(): ..: No such file or directory in D:\IPS\scripts\ftpServerDWD.ips.php on line 271
Aktuelles Verzeichnis: /gds
Pollenflug Saison ist vorüber!


der Fehler taucht auf wenner was vom DWD-Server nicht laden konnte. Möglich das dein IPS immer dann vom FTP die Daten anfordert wenn sie dort eben neu geschrieben werden.

Hallo,

könnte jemand die aktuelle Version mit allen aktuellen Änderungen und nötigen Erweiterungen zusammenfassen und hier einstellen???

Vielen, vielen Dank !!! :loveips:

Gruß Proxima

Hallo,

funktioniert das Script bei niemandem oder möchte keiner sein funktionierendes Script zur Verfügung stellen???

Gruß Proxima

Hallo Proxima,
ich wollte RWN nicht vorgreifen, da es ja eigentlich sein Projekt ist.
Wage es jetzt aber trotzdem mal.
In der ZIP im Anhang findest du 2 Verzeichnisse die im Prinzip original RWN sind.
Das WetterFtpDWD kopierst du nach .\webfront\user
Die Dateien in WetterFtpDWD_Scripts bindest du in IPS ein und passt sie ggf an. Sie sollten dann im Scriptsverzeichnis auftauchen.
In der Verwaltungskonsole siehts bei mir dann aus wie im Screenshot 1.
Im WF verlinkst du dann noch die WetterIndex.php z.B. wie in Screenshot2.
Dann sollte es eigenlich laufen.

Bin mir aber nicht sicher, da das bei mir auch gewachsen ist.
An alle dies besser wissen nur zu. Und wenn die Zip nicht korrekt ist bitte löschen, damit nicht noch mehr Leute …

RWN-Wetter.zip (937 KB)

Hallo,
probiere gerade das Script von wolfgang. Vielen Dank bereits dafür!
Ein Problem habe ich jedoch. Die 3 Tage Vorhersage funktioniert bei mir nicht mehr seit dem ich den Ort geändert habe.
Ich habe im Konfigurationsscript den Ort auf meinen Standort geändert:

$lokal = „ORT“; // Ort für 3 Tage Vorhersage eintragen

Die Variable $lokal wirft mir im Hauptskript fehler aus.

Notice: Undefined offset: 0 in C:\IP-Symcon\scripts\Vorhersage.ips.php on line 99
Zeile 99 lautet: $aktuell = $city[0][$lokal][1];

Welche Orte kann ich überhaupt verwenden? Wo könnte der Fehler liegen?
Lieben Gruß
Dominik

Hallo,
die Variable $lokal lannst du nur mit einem Ort füttern den es auch auf dem DWD-FTP gibt bzw. für den der DWD Daten bereit stellt. Wie du an die möglichen Orte kommst steht in der Installations-Anleitung unter Punkt 10:

im Ordner vorhersage eine Datei öffnen, (geht mit jedem Texteditor) die für euch in Frage kommende Stadt aussuchen und den Namen im konfigscript der Variable $lokal zuordnen. Script Vorhersage nocheinmal von Hand ausführen

Gruß
Melbar

Vielen Dank, es funktioniert wieder! Ich weiß zwar nicht welche Anleitung du meinst, aber dein Auszug war hilfreich :slight_smile:
Lieben Gruß

Hallo,

habe jetzt auch alles installiert.

Es scheint auch alles zu funktionieren.

Leider bringt mir das Vorhersage Script einige Errors beim ausführen.



Notice:  Undefined offset: 0 in C:\IP-Symcon\scripts\Vorhersage.ips.php on line 99

Notice:  Undefined offset: 0 in C:\IP-Symcon\scripts\Vorhersage.ips.php on line 100

Notice:  Undefined offset: 0 in C:\IP-Symcon\scripts\Vorhersage.ips.php on line 110

Notice:  Undefined offset: 1 in C:\IP-Symcon\scripts\Vorhersage.ips.php on line 111

Notice:  Undefined offset: 0 in C:\IP-Symcon\scripts\Vorhersage.ips.php on line 112

Notice:  Undefined offset: 1 in C:\IP-Symcon\scripts\Vorhersage.ips.php on line 113

Notice:  Undefined offset: 0 in C:\IP-Symcon\scripts\Vorhersage.ips.php on line 114

Notice:  Undefined offset: 1 in C:\IP-Symcon\scripts\Vorhersage.ips.php on line 115

Notice:  Undefined offset: 2 in C:\IP-Symcon\scripts\Vorhersage.ips.php on line 118

Notice:  Undefined offset: 3 in C:\IP-Symcon\scripts\Vorhersage.ips.php on line 119
Abort Processing during exceed of maximal ErrorCount: Undefined offset: 2
   Error in Script C:\IP-Symcon\scripts\Vorhersage.ips.php on Line 120

Ich habe an dem Script nichts verändert. Habe nur im Konfig Script Anpassung vorgenommen.


<?
require IPS_GetKernelDir()."scripts\\konfigurationWetter.ips.php";
require IPS_GetKernelDir()."scripts\\loginFtpServer.ips.php";

ftp_chdir($conn_id, "gds/specials/forecasts/tables/germany/");
if($debug) echo "Aktuelles Verzeichnis: " . ftp_pwd($conn_id) ."
";

$vorhersage = array("Daten_".$region."_frueh",
                    "Daten_".$region."_mittag",
                    "Daten_".$region."_spaet",
						  "Daten_".$region."_nacht",
                    "Daten_".$region."_morgen_frueh",
						  "Daten_".$region."_morgen_spaet",
						  "Daten_".$region."_uebermorgen_frueh",
						  "Daten_".$region."_uebermorgen_spaet",
						  "Daten_".$region."_Tag4_frueh",
						  "Daten_".$region."_Tag4_spaet");

for($i = 0; $i < count($vorhersage); $i++)
{
   $datenVorhersage = IPS_GetKernelDir()."webfront\\user\\WetterFtpDWD\\Vorhersage\\".$vorhersage[$i];
	$handledatenVorhersage = @fopen($datenVorhersage, 'wb+');
	if (ftp_fget($conn_id, $handledatenVorhersage, $vorhersage[$i], FTP_ASCII))
	{
		if($debug) echo $vorhersage[$i]." wurde erfolgreich nach ".$datenVorhersage." geschrieben.
";
	}
	else
	{
		if($debug) echo "Download von ".$vorhersage[$i]." zu ".$datenVorhersage." war nicht möglich.
";
	}
}
fclose($handledatenVorhersage);

ftp_close($conn_id);

$umschZeit = date("H:i");
switch($umschZeit)
{
	case $umschZeit >= "23:30" || $umschZeit < "05:30":
		$viertel = "frueh";
	break;
	case $umschZeit >= "05:30" && $umschZeit < "11:30":
		$viertel = "mittag";
	break;
	case $umschZeit >= "11:30" && $umschZeit < "17:30":
		$viertel = "spaet";
	break;
	case $umschZeit >= "17:30" && $umschZeit < "23:30":
		$viertel = "nacht";
	break;
}

$dataForXml = array("Daten_".$region."_morgen_frueh",
						  "Daten_".$region."_morgen_spaet",
						  "Daten_".$region."_uebermorgen_frueh",
						  "Daten_".$region."_uebermorgen_spaet",
						  "Daten_".$region."_Tag4_frueh",
						  "Daten_".$region."_Tag4_spaet",
						  "Daten_".$region."_".$viertel,
						  "Daten_".$region."_spaet");

for($i=0; $i<count($dataForXml); $i++)
{
   $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);

$time = date("d.m.Y - H:i:s");

if(isset($city[6]) && $city[6] != "")
{
	if($umschZeit >= "00:30" && $umschZeit < "04:30") SetValue($tempMin, $city[6][$lokal][0]);
	$aktuell = $city[6][$lokal][1];
	$iconAktuell = '/user/WetterFtpDWD/icons/'.str_replace(" ", "", $city[6][$lokal][1]).'.png';
}
else
{
   $aktuell = $city[0][$lokal][1];
   $iconAktuell = '/user/WetterFtpDWD/icons/'.str_replace(" ", "",$city[0][$lokal][1]).'.png';
}

if(isset($city[7]) && $city[7] != "")
{
	if($umschZeit >= "00:30" && $umschZeit < "17:30") SetValue($tempMax, $city[7][$lokal][0]);
}

$tag = strtotime("+1 day");
$tagMorgen = date("D d.m", $tag);
$tempMorgenMin = $city[0][$lokal][0];
$tempMorgenMax = $city[1][$lokal][0];
$conditionMorgenFrueh = $city[0][$lokal][1];
$conditionMorgenSpaet = $city[1][$lokal][1];
$iconMorgenFrueh = '/user/WetterFtpDWD/icons/'.str_replace(" ", "", $city[0][$lokal][1]).'.png';
$iconMorgenSpaet = '/user/WetterFtpDWD/icons/'.str_replace(" ", "", $city[1][$lokal][1]).'.png';
$tag = strtotime("+2 day");
$tag3 = date("D d.m", $tag);
$temptag3Min = $city[2][$lokal][0];
$temptag3Max = $city[3][$lokal][0];
$conditiontag3Frueh = $city[2][$lokal][1];
$conditiontag3Spaet = $city[3][$lokal][1];
$icontag3Frueh = '/user/WetterFtpDWD/icons/'.str_replace(" ", "", $city[2][$lokal][1]).'.png';
$icontag3Spaet = '/user/WetterFtpDWD/icons/'.str_replace(" ", "", $city[3][$lokal][1]).'.png';
$tag = strtotime("+3 day");
$tag4 = date("D d.m", $tag);
$temptag4Min = $city[4][$lokal][0];
$temptag4Max = $city[5][$lokal][0];
$conditiontag4Frueh = $city[4][$lokal][1];
$conditiontag4Spaet = $city[5][$lokal][1];
$icontag4Frueh = '/user/WetterFtpDWD/icons/'.str_replace(" ", "", $city[4][$lokal][1]).'.png';
$icontag4Spaet = '/user/WetterFtpDWD/icons/'.str_replace(" ", "", $city[5][$lokal][1]).'.png';
$lokal = utf8_encode($lokal);

$xmlString = <<<XML
<wetterinformationen>
	<info>
		<zeit>$time</zeit>
		<ort>$lokal</ort>
	</info>
	<data>
	   <day>$tagMorgen</day>
	   <conditionf>$conditionMorgenFrueh</conditionf>
	   <conditions>$conditionMorgenSpaet</conditions>
		<tempmin>$tempMorgenMin</tempmin>
		<tempmax>$tempMorgenMax</tempmax>
		<iconf>$iconMorgenFrueh</iconf>
		<icons>$iconMorgenSpaet</icons>
 	</data>
 	<data>
	   <day>$tag3</day>
	   <conditionf>$conditiontag3Frueh</conditionf>
	   <conditions>$conditiontag3Spaet</conditions>
		<tempmin>$temptag3Min</tempmin>
		<tempmax>$temptag3Max</tempmax>
		<iconf>$icontag3Frueh</iconf>
		<icons>$icontag3Spaet</icons>
 	</data>
 	<data>
	   <day>$tag4</day>
	   <conditionf>$conditiontag4Frueh</conditionf>
	   <conditions>$conditiontag4Spaet</conditions>
		<tempmin>$temptag4Min</tempmin>
		<tempmax>$temptag4Max</tempmax>
		<iconf>$icontag4Frueh</iconf>
		<icons>$icontag4Spaet</icons>
 	</data>
 	<aktuell>
 	<day>Heute</day>
		<condition>$aktuell</condition>
	   <icon>$iconAktuell</icon>
	</aktuell>
</wetterinformationen>
XML;

$xml = new SimpleXMLElement($xmlString);
$xml->asXML(IPS_GetKernelDir()."webfront\\user\\WetterFtpDWD\\Vorhersage\\vorhersage.xml");

?>

Hallo,
der DWD hat in der Vergangenheit einiges auf dem FTP geändert weswegen das originale Script nicht mehr funktioniert. Welche Version verwendest Du denn, die originale oder die ein paar Beiträge weiter oben gepostete?

MfG Melbar

Hi,
ich habe das Paket von wolfgang ein paar Posts weiter oben geladen.
Also denke mal, dass dort die aktuellsten Versionen bereits implementiert sind, oder?

Hmm, ich glaub da musste ich in der Vergangenheit auch ein paar Details anpassen…nur weis ich nimmer genau was das alles war. Bei mir läufts jedenfalls :wink: