Wunderground Upload Script für IPS 4.0

Anbei ein Script für den einfachen Upload von Wetterdaten zu Wunderground. Es basiert auf einer vorherigen Version wurde aber für IPS 4.0 angepasst (PHP . und , „Problem“) und hoffentlich besser dokumentiert.

Für den Upload muss man eine Wetterstation bei Wunderground anmelden und melden sich dann mit dem Stationsnamen und dem Wunderground Passwort an.

Wenn jemand weniger Sensoren hat, dann bitte oben und unten einfach mit // die Zeile auskommentieren.

Das Script läuft bei mir alle 10 Sekunden.



<?

//Infos zu WUNDERGROUND.COM
$WUID 			= '****';     /*Benutzername für Wunderground */
$WUPassword    = '****';   /*Password für Wunderground */

//********************************************************************************************************
//Sollten nicht alle Variablen bentötigt werden, dann hier und unten bei URL mit // auskommentieren.
//********************************************************************************************************

// Variablen von der Wetterstation
$Temperatur = GetValue(25966 /*[1 Komponenten\Wetter\WMRS200 Temperatur- und Feuchtigkeitssensor Dach\Temperatur]*/);
$Feuchtigkeit = GetValue(14094 /*[1 Komponenten\Wetter\Wetterstation\HUMIDITY]*/);
$Taupunkt = GetValue(15050 /*[1 Komponenten\Wetter\WMRS200 Temperatur- und Feuchtigkeitssensor Dach\Taupunkt]*/);
$Windrichtung = GetValue(16674 /*[1 Komponenten\Wetter\WMRS200 Windsensor\Windrichtung]*/);
$Windstaerke = GetValue(35849 /*[1 Komponenten\Wetter\WMRS200 Windsensor\Windgeschwindigkeit Durchschnitt]*/);
$Windboeen = GetValue(44703 /*[1 Komponenten\Wetter\WMRS200 Windsensor\Windgeschwindigkeit]*/);
$RegenProStunde = GetValue(48421 /*[1 Komponenten\Wetter\WMRS200 Regensensor\Regenmenge letzte Stunde]*/);
$Regen24h = GetValue(57790 /*[1 Komponenten\Wetter\WMRS200 Regensensor\Regenmenge letzte 24 Stunden]*/);
$LuftdruckHPA = GetValue(16882 /*[1 Komponenten\Wetter\WMRS200 Barometer\Luftdruck]*/);
$UVIndex = GetValue(29180 /*[1 Komponenten\Wetter\WMRS200 UV-Sensor\UV-Index]*/);

//UTC Datum "bauen"
$date = date('Y-m-d');
$hour = date('H');
$minute = date('i');
$second = date('s');
$time = $date.'+'.$hour.'%3A'.$minute.'%3A'.$second;

//Umrechnung in amerikanische Werte - für IPS4 werden Komma und Punkte umgesetzt

$Temperatur = str_replace(",",".",(($Temperatur * 9) /5 + 32));
$TaupunktF = str_replace(",",".",Round((($Taupunkt * 9) /5 + 32),2));
$WindstaerkeM = str_replace(",",".",Round(($Windstaerke * 2.2369),2));
$WindboeenM = str_replace(",",".",Round(($Windboeen * 2.2369),2));
$RegenProStundeI = str_replace(",",".",Round(($RegenProStunde / 2.54),2));
$Regen24hI = str_replace(",",".",Round(($Regen24h / 2.54),2));
$BPI = str_replace(",",".",Round(($LuftdruckHPA * 0.0295299830714),4));
$Windrichtung = str_replace(",",".",$Windrichtung);

//********************************************************************************************************
//Sollten nicht alle Variablen bentötigt werden, dann hier die Zeile auskommentieren.
//********************************************************************************************************

//Daten an Wunderground Senden
$Response =file_get_contents('http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID='.$WUID."&PASSWORD=".$WUPassword."&dateutc=".$time.
"&tempf=".$Temperatur.
"&winddir=".$Windrichtung.
"&windspeedmph=".$WindstaerkeM.
"&windgustmph=".$WindboeenM.
"&rainin=".$RegenProStundeI.
"&humidity=".$Feuchtigkeit.
"&dewptf=".$TaupunktF.
"&dailyrainin=".$Regen24hI.
"&baromin=".$BPI."&UV=".$UVIndex);

IPS_LogMessage($_IPS['SELF'], "Wunderground Update: ".$Response);

?>


Ich habe es mal in Skript verschoben. PHP Module sind die neuen Module, welche ohne „sichtbare“ Skripte auskommen :smiley:

paresy

Hallo BommelPommel,
Hallo zusammen,

zuerst einmal Danke für dein „Modul“.
Leider sieht es so aus als würde es bei mir (IP-Symcon 4.10, 03.11.2016,) nicht so wirlkich laufen wollen.

Bekomme immer folgende Fehlermeldung:
Parse error: syntax error, unexpected ‚;‘ in C:\IP-Symcon\scripts\29717.ips.php on line 58

Hab mich auch schon durch diverse PHP Foren gewühlt leider ohne erfolg :frowning:

Könntest du mich hier ein wenig unterstützen ?

Danke

Wenn Du IP-Symcon 4.1 benutzt dann nimm doch einfach
Wunderground-Modul

Guten Morgen,

also 4.1 habe ich noch nicht am laufen, aber eigentlich verwende ich nichts was es vom laufen abhalten sollte :-).

@fosgate
Zu der Fehlermeldung: Das hast Du vermutlich ein „;“ irgendwo angehängt, also vermutlich am Ende da es eigentlich genauso bei mir läuft. Die Fehlermeldung ist ziemlich eindeutig.

@Fonzo
Mein Script lädt Daten zu Wunderground hoch - die Module laden die Daten runter zur Ansicht. Aktuell ist mir kein Modul für den Upload bekannt.

Das stimmt das hatte ich übersehen. Könnte man ja eventuell in das Wunderground Modul ergänzen dann wäre das an einer Stelle zusammengefasst.