Wunderground (Testversion)

Stimmt da hast Du auch wieder recht ich hatte jetzt einen Denkfehler drinnen. Ich habe selber ein Modul das Daten einliest und das andere Instanzen anlegt, da macht das wohl für einen Import Sinn den User zu Fragen unter welcher Kategorie die Instanzen angelegt werden sollen. In einer Instanz wie hier ist das überflüssig, die kann der User ja gleich dort anlegen wo er sie braucht, allerdings muss dann der Typ Gerät sein sonst kann man auch nix verschieben.

Auch das ist eigentlich Unsinn. :wink:
So etwas kann man, solange wir noch keine Konfiguratoren erstellen können, optional als Instanz-Funktion z.B. des Splitters anbieten.
Diese legt dann (wie auch die original IPS-Konfiguratoren) die Geräte im Root an.

Michael

So lange es noch keine Konfiguratoren gibt bleibe ich zumindest bei der Notlösung mal sehen wann die PHP Module dann alles unterstützten.

Gibt es evtl. die Möglichkeit das Modul so anzupassen das man eine Messtation seiner Wahl auswählen kann?
Aktuell ist es bei mir so das für meine Stadt Schwerin ein Dorf aus dem Randgebiet ( Klein Rogahn) genommen wird und dort auch ständig die Luftfeuchtigkeit auf 99% steht. Schöner wäre es eine Messtation aus dem direkten Umfeld nutzen zu können :wink: Wenn ich diese als Standort eintrage bleibt aber alles auf 0 :confused:

Lördy

Welche Station willst du nutzen?

Gruß,
Tobi

Die Station ist Schwerin, Uckermünder Strasse, das Kürzel dazu ISCHWERI12

Danke,
Lördy

Probiere mal als Station

pws:ISCHWERI12

Das war ja leicht! :eek:

Danke!!!

Zur Erklaerung.Abgefragt wird die URL

http://api.wunderground.com/api/---KEY---/geolookup/conditions/lang:DL/q/DL/????????.json

Als Fragezeichen kannst du verschiedenes angeben.
Siehe Doku Wunderground ganz unten

http://www.wunderground.com/weather/api/d/docs?d=data/geolookup&MR=1

Wow - ziemlich cool Tobi!

Ich bin hier von Hölzchen auf Stöckchen und dann durch Zufall auf dein Modul gestpßen jetzt hier.
Ich habe mir extra eine Davis Vantage 2 zugelegt im Zuge meines Symbox Projekt, weil das hier von mehreren Usern geschaft wurde, ins IPS einzulesen. Aber leider klappt die Seriell->Lan Geschichte in Verbindung mit dem Davis Datenlogger nicht auf der SymBox, weil da DTR gesetzt werden muss. Das klappt nur mit Treibern, z.B. auf einem Raspi. Wenn es dich interessiert -> klick

Auf der Suche nach Alternativen bin ich dan über die Meteobridge PRO gestolpert und habe mich für diese entschieden. Da diese fast alle Wetteruploads ab Hause unterstützt, habe ich mir alle angesehen und mich für Wunderground entschieden.

Und mit diesem Zauberwort habe ich dann hier im Forum wiederum gesucht und die älteren Scripts gefunden und dann schlussendlich deine tole Variante hier.

Die MeteobridgePro (noch nicht angekommen) kann auch lokal die Daten angebich speichern (Die DavisWetterkonsole und Logger werden nicht weiter benötigt) und somit gäbe es dann (hoffentlich) auch einen Weg, die Daten wiederum ins IPS zu bekommen, aber leider bin kein PHP Künstler.

Darum möchte ich mal ganz vorsichtig fragen, wo ich hier deine weiten Variablen gesehen habe, die du noch alle einbinden möchtest, was denn mit Niderschlag ist? Davon hab ich noch nichts gelesen. Hast Du das einfach außen vor gelassen, oder gibt es da Hürden? Das wäre noch klasse, wenn das dabei wäre.

Du hast als Zukunftsmusik „Vorhersage“ anklingen lassen…
Falls du dich noch nicht selbst, durch die hier im Forum vorhandenen Wunderground Themen gearbeitet hast, hilft dir das vielleicht ein Stück Arbeit zu ersparen:

<?php
$api = "55555555555";
$ort = "SIGRISWIL";

//aktuelles Wetter
  $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);
  $icon = $parsed_json->{'current_observation'}->{'icon'};
  $temp_c = $parsed_json->{'current_observation'}->{'temp_c'};
  $min_temp = $parsed_json->{'current_observation'}->{'dewpoint_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'};


       echo "${icon}
";
          echo "akt. Temp: ${temp_c}°C
";
      echo "Minimal: ${min_temp}°C
";
        echo "akt. Luftfeuchte: ${humid}
";
      echo "Windgeschwindigkeit: ${wind_speed} Km/h
";
      echo "Windrichtung: ${wind_dir} 
";
      echo "Luftdruck: ${luftdruck} HPa 
";
      echo "Luftdruck: ${wetter}
";
      echo "Sichtweite: ${sichtweite} 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'};
//heute
        echo $icon0 = ($prognose[0]->icon) . "
";;
        echo $high0 = ($prognose[0]->high->celsius) . "
";;
        echo $low0 = ($prognose[0]->low->celsius) . "
";;
        echo $conditions0 = utf8_decode($prognose[0]->conditions) . "
";
//morgen
        echo $icon1 = ($prognose[1]->icon) . "
";;
        echo $high1 = ($prognose[1]->high->celsius) . "
";;
        echo $low1 = ($prognose[1]->low->celsius) . "
";;
        echo $conditions1 = utf8_decode($prognose[1]->conditions) . "
";
//übermorgen
        echo $icon2 = ($prognose[2]->icon) . "
";;
        echo $high2 = ($prognose[2]->high->celsius) . "
";;
        echo $low2 = ($prognose[2]->low->celsius) . "
";;
        echo $conditions2 = utf8_decode($prognose[2]->conditions) . "
";

//Alarm
$json_al_string = file_get_contents("http://api.wunderground.com/api/$api/alerts/q/zmw:00000.1.16172.json");
$parsed_al_json = json_decode($json_al_string);

//Astronomie
$json_ast_string = file_get_contents("http://api.wunderground.com/api/$api/astronomy/q/Switzerland/$ort.json");
$parsed_ast_json = json_decode($json_ast_string);

  $mondbel = $parsed_ast_json->{'moon_phase'}->{'percentIlluminated'}; //% Mondbeleuchtung
  $mondage = $parsed_ast_json->{'moon_phase'}->{'ageOfMoon'}; //% Mondbeleuchtung
  $sunriseh = $parsed_ast_json->{'moon_phase'}->{'sunrise'}->{'hour'}; // Sonnenaufgang Stunde
  $sunrisem = $parsed_ast_json->{'moon_phase'}->{'sunrise'}->{'minute'}; //% Sonnenaufgang Minute
  $sunseth = $parsed_ast_json->{'moon_phase'}->{'sunset'}->{'hour'}; // Sonnenaufgang Stunde
  $sunsetm = $parsed_ast_json->{'moon_phase'}->{'sunset'}->{'minute'}; //% Sonnenaufgang Minute


       echo "Mondbeleuchtung: ${mondbel}%
";
         echo "Alter des Mondes: ${mondage} Tage
";
         echo "Sonnenaufgang: ${sunriseh}:${sunrisem}
";
         echo "Sonnenuntergang: ${sunseth}:${sunsetm}
";


?>

Quelle: Hier aus dem Forum

Einen kleinen Fehler hat das Modul: Die Einheiten für die Windgeschwindigkeit werden im UI auf kn gesetzt, werden aber bei Wunderground als km/h geliefert.

Das kann man auch leicht durch Vergleich mit den mph-Werten verifizieren:

„wind_mph“:22,
„wind_kph“:35,

Gruß,
.S.

Hi. Irgendwie klappt die Registrierung bei wunderground noch nicht … Welches API Paket habt ihr genommen?

Hallo Sven

Der kleinste Plan reicht eigentlich völlig. Dieser ist kostenlos und ermöglicht 500 Abrufe pro Tag.

Ich habe meinem Projekt einen beliebigen Namen gegeben und als URL localhost eingegeben. Sie haben es so „gefressen“ und im Nu war der Key da.

Gruss
Andy

Hallo,
hatte in letzter Zeit viel um die Ohren. Schaue mir den Fehler morgen früh mal an.

Gruß,
Tobi