ich habe dieses Script mal angepasst an Weatherground. Dort muss man sich noch registrieren, die Api und den Wohnort im Script eintragen
ist nichts wahnsinniges. Habe ein paar Scripte zusammenkopiert, eigenes und bestehendes zu einer Wetterübersicht zusammengeschustert.
Eine String-Variable anlegen mit Profil „html“, am Ende des Scripts eintragen
Beiliegendes Verzeichnis in den Ordner „Webfront“ kopieren
<?
//******************************************************************************
//$wetterbild = "http://www.swisswetter.ch/meteonews/swisswetter.png";
$wetterbild = "http://www.20min.ch/news/wetter/ch.jpg";
//******************************************************************************
//Rahmenstärke angeben
$rahmen = '0';
// Land eintragen
$land = 'Switzerland';
// Plz und Ort eintragen
$plz = '3654';
$ort = 'Gunten';
// Sprache der Wetter Informationen
$sprache = "de";
//Position Wohnort
$longitude = "07.69"; // Longitude (geografische Länge)
$latitude = "46.71"; // Latitude (geografische Breite)
//Breite des Rahmen
$width_rahmen = "650";
//Höhe des Rahmen
$height_rahmen = "100";
// eigener Fühler für aktuelle Temperatur
$temp = GetValue(35665 /*[Temperatur\Fühler\Temperatur aussen\Aussentemperatur]*/);
// Windvariable
$wind = GetValue(16415 /*[Wetter\Wetter neu\Textparser\Wind\Windgeschwindigkeit]*/);
//Api Weatherground
$api = "hier die API von Weatherground eintragen";
$ort = "SIGRISWIL";
// ab hier nichts mehr ändern
//******************************************************************************
$img = $wetterbild;
$dir = IPS_GetKernelDir()."\\webfront\\ig\\images\\weather\\";
$bild2 = 'wetterbild_neu.gif';
$img = imagecreatefromJPEG($img);
imagetruecolortopalette($img, true, 256);
$white = imagecolorat($img, 0, 0);
ImageFilledRectangle($img,0,0,230,40,$white); //fügt den oberen Balken ein
ImageFilledRectangle($img,500,420,350,300,$white); //fügt den unteren Balken ein
imagecolorset($img, $white, 20, 31, 44); //macht weiss dunkelblau
//header("Content-Type: image/gif");
imagegif($img, $dir.$bild2);
imagedestroy($img);
//******************************************************************************
// Sunrise und Sunset
if (date("I") == 1) $daylight = 2; // Sommerzeit
if (date("I") == 0) $daylight = 1; // Winterzeit
// *** Sonnenaufgang des heutigen Tages berechnen ***
$sunrise = date(date_sunrise(time(), SUNFUNCS_RET_STRING, $latitude, $longitude, 90.8333, $daylight));
// *** Sonnenuntergang des heutigen Tages berechnen ***
$sunset = date(date_sunset(time(), SUNFUNCS_RET_STRING, $latitude, $longitude, 90.8333, $daylight));
//******************************************************************************
// Mondphase berechnen
function moon_phase($year, $month, $day)
{
$c = $e = $jd = $b = 0;
if ($month < 3)
{
$year--;
$month += 12;
}
++$month;
$c = 365.25 * $year;
$e = 30.6 * $month;
$jd = $c + $e + $day - 694039.09;
$jd /= 29.5305882;
$b = (int) $jd;
$jd -= $b;
$b = round($jd * 8);
if ($b >= 8 )
{
$b = 0;
}
switch ($b)
{
case 0:
return 'Neumond';
break;
case 1:
return 'zunehmender Neumond';
break;
case 2:
return 'Halbmond';
break;
case 3:
return 'zunehmender Halbmond';
break;
case 4:
return 'Vollmond';
break;
case 5:
return 'abnehmender Vollmond';
break;
case 6:
return 'Halbmond';
break;
case 7:
return 'abnehmender Halbmond';
break;
default:
return 'Error';
}
}
$timestamp = time();
$mond = moon_phase(date('Y', $timestamp), date('n', $timestamp), date('j', $timestamp));
$mondico = str_replace(' ', '_', $mond);
//******************************************************************************
// Wetterheute
$json_string = file_get_contents("http://api.wunderground.com/api/$api/geolookup/conditions/lang:DL/q/DL/$ort.json");
$parsed_json = json_decode($json_string);
// $icon0 = $parsed_json->{'current_observation'}->{'icon'};
$temp_c = $parsed_json->{'current_observation'}->{'temp_c'};
// $low0 = $parsed_json->{'current_observation'}->{'dewpoint_c'};
// $high0 = $parsed_json->{'current_observation'}->{'heat_index_c'};
$humid = $parsed_json->{'current_observation'}->{'relative_humidity'};
$wind_speed = $parsed_json->{'current_observation'}->{'wind_kph'};
$wind_dir = $parsed_json->{'current_observation'}->{'wind_dir'};
$luftdruck = $parsed_json->{'current_observation'}->{'pressure_mb'};
$wetter = $parsed_json->{'current_observation'}->{'weather'};
$sichtweite = $parsed_json->{'current_observation'}->{'visibility_km'};
// Vorhersage
$json_fc_string = file_get_contents("http://api.wunderground.com/api/$api/forecast/lang:DL/q/Switzerland/$ort.json");
$parsed_fc_json = json_decode($json_fc_string);
$prognose = $parsed_fc_json->{'forecast'}->{'simpleforecast'}->{'forecastday'};
//morgen
$tag0 = "Heute";
$icon0 = ($prognose[0]->icon) . "
";;
$high0 = ($prognose[0]->high->celsius) . "
";;
$low0 = ($prognose[0]->low->celsius) . "
";;
$conditions0 = utf8_decode($prognose[0]->conditions) . "
";;
//übermorgen
$tag1 = ($prognose[1]->date->weekday_short);
$icon1 = ($prognose[1]->icon) . "
";;
$high1 = ($prognose[1]->high->celsius) . "
";;
$low1 = ($prognose[1]->low->celsius) . "
";;
$conditions1 = utf8_decode($prognose[1]->conditions) . "
";;
//in 3 Tagen
$tag2 = ($prognose[2]->date->weekday_short);
$icon2 = ($prognose[2]->icon) . "
";;
$high2 = ($prognose[2]->high->celsius) . "
";;
$low2 = ($prognose[2]->low->celsius) . "
";;
$conditions2 = utf8_decode($prognose[2]->conditions) . "
";;
//in 4 Tagen
$tag3 = ($prognose[3]->date->weekday_short);
$icon3 = ($prognose[3]->icon) . "
";;
$high3 = ($prognose[3]->high->celsius) . "
";;
$low3 = ($prognose[3]->low->celsius) . "
";;
$conditions3 = utf8_decode($prognose[2]->conditions) . "
";;
// Ausgabe
$uebersicht = '<div align="center"><img src='.$wetterbild.' style="width: '.$width_rahmen.'; height: auto;" />';
$wetterausgabe = "<html>
<head>
</head>
<body>
<table width=\"$width_rahmen\" height=\"$height_rahmen\" border=\"$rahmen\">
<tr>
<td><center><img src=/ig/images/weather/wetterbild_neu.gif></center></td>
<table width=\"$width_rahmen\" height=\"$height_rahmen\" border=\"$rahmen\">
<tr>
<td><div style='background-color:#555555;border:none;'><center><img src=/ig/images/weather/Sonne_auf.png><br/> Sonnenaufgang um ".utf8_encode($sunrise)."</center><div style='background-color:grey;'></td>
<td><div style='background-color:#444444;border:none;'><center><img src=/ig/images/weather/Sonne_unter.png><br/> Sonnenuntergang um ".$sunset."</center></td>
<td><div style='background-color:#555555;border:none;'><center><img src=/ig/images/weather/$mondico.png><br/> ".$mond."</center></td>
<tr>
<td><div style='background-color:".$bgh.";border:none;'><center><img src=/ig/images/weather/temp_aktuell.png><br/><span style=".$font."> aktuelle Temperatur ".$temp_c."° C</center></span></td>
<td><div style='background-color:#444444;border:none;'><center><img src=/ig/images/weather/feuchte.png><br/> Luftfeuchtigkeit ".$humid."</center></td>
<td><div style='background-color:#555555;border:none;'><center><img src=/ig/images/weather/wind.png><br/> Wind ".$wind_speed." Km/h</center></td>
<table width=\"$width_rahmen\" height=\"$height_rahmen\" border=\"$rahmen\">
<tr>
<td><div style='background-color:#444444;border:none;'><center><img src='/ig/images/weather/$icon0.png'><center>Heute<br>Minimal ".$low0."°C</br><center>Maximal ".$high0." °C</center><center>".$conditions0."</center></td>
<td><div style='background-color:#555555;border:none;'><center><img src='/ig/images/weather/$icon1.png'><center>$tag1<br>Minimal ".$low1."°C</br><center>Maximal ".$high1." °C</center><center>".$conditions1."</td>
<td><div style='background-color:#444444;border:none;'><center><img src='/ig/images/weather/$icon2.png'><center>$tag2<br>Minimal ".$low2."°C</br><center>Maximal ".$high2." °C</center><center>".$conditions2."</td>
<td><div style='background-color:#555555;border:none;'><center><img src='/ig/images/weather/$icon3.png'><center>$tag3<br>Minimal ".$low3."°C</br><center>Maximal ".$high3." °C</center><center>".$conditions3."</td>
</tr>
</table>
</body>
</html>";
SetValue(50323 /*[Wetter\Wetter neu\Variablen\Vorhersage Gunten]*/, $wetterausgabe);
?>
ig.zip (129 KB)