+ Antworten
Seite 1 von 7 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 61
  1. #1
    Registriert seit
    Mar 2017
    Ort
    Rems-Murr-Kreis
    Beiträge
    121

    Standard Pollenflug Vorhersage von DWD auslesen

    Hallo,

    ich möchte gerne die Seite

    HTML-Code:
    https://opendata.dwd.de/climate_environment/health/alerts/s31fg.json
    auslesen und die Pollenflug Vorhersagen in Variablen speichern. Leider kenne ich mich viel zu wenig aus und versuche per copy & paste mein Ziel zu erreichen. Bin aber noch weit weg davon

    Mit diesem Skript bekomme ich die Daten von ganz Deutschland

    PHP-Code:
    <?
    $url 
    "https://opendata.dwd.de/climate_environment/health/alerts/s31fg.json";


    $region_name =  ("Baden-Württemberg");
    $partregion_name = ("Hohenlohe/mittlerer Neckar/Oberschwaben");
    $region_id = ("110");

    $ch curl_init();
    curl_setopt($chCURLOPT_RETURNTRANSFER1); 
    curl_setopt($chCURLOPT_URL$url); 
    $output curl_exec($ch);
    curl_close($ch);  
    $content json_decode($outputtrue);


    echo 
    $output;

    ?>
    Frage 1: wie kann ich die Daten eingerenzen für meine Region Baden-Württemberg Hohenlohe/mittlerer Neckar/Oberschwaben?

    Frage 2: wir bekomme ich die Werte in die einzelnen Variablen?

    Über einen Schubs in die richtige Richtung würde ich mich sehr freuen.

    Gruß
    AKL
    IP-Symcon 5.1 Professional | IPS View | Colibrico | Raspi Pi 3 | Stretch

  2. #2
    Registriert seit
    May 2008
    Ort
    Forstern
    Beiträge
    960

    Hi AKL,

    ich bin auch gerade dabei mir hinsichtlich Pollenflug etwas zu basteln. Ich wollte dafür das HTML von hier parsen.
    Aber es gleich als Json zu bekommen ist natürlich erheblich einfacher;-) Ich schaue es mir mal an!

    Gruß Pitti
    SERVER: FritzBox 7490, Raspberry Pi 3, CCU2 und IP-Symcon V5.3 (Ninja) | SYSTEME: Amazon ECHOs, Apple TVs, Homematic/IP, LevelJet, Logitech Harmony, Magic Home, Pioneer AVR, Philips Hue, Samsung TV's, Somfy RFX, Apple & Android Handys & Tablets | MODULE: Awido, Toolmatic Reihe (4x), Almanac, Magic Home Controller, Pollenflug | SKINS: WwxSkin

  3. #3
    Registriert seit
    Feb 2018
    Ort
    Bochum
    Beiträge
    638

    Zitat Zitat von pitti Beitrag anzeigen
    Hi AKL,

    ich bin auch gerade dabei mir hinsichtlich Pollenflug etwas zu basteln. Ich wollte dafür das HTML von hier parsen.
    Aber es gleich als Json zu bekommen ist natürlich erheblich einfacher;-) Ich schaue es mir mal an!

    Gruß Pitti
    falls du es noch nicht vorliegen hast ... ich habe gerade mal gesucht, die API ist hier beschrieben: https://opendata.dwd.de/climate_envi...llen_s31fg.pdf

    würd mich auch interessieren.

    gruß
    demel

  4. #4
    Registriert seit
    Mar 2017
    Ort
    Rems-Murr-Kreis
    Beiträge
    121

    @demel: Die Beschreibung habe ich gesehen. Mangels php Kenntnis hilft mir das aber leider nicht weiter

    @Pitti: freue mich schon auf dein Ergebnis
    IP-Symcon 5.1 Professional | IPS View | Colibrico | Raspi Pi 3 | Stretch

  5. #5
    Registriert seit
    May 2008
    Ort
    Forstern
    Beiträge
    960

    @demel: Danke für den Hinweis, hatte ich mir auch schon runtergeladen!.

    Eigentlich will ich mich mit dem Thema nicht unter Druck setzen lassen, aber ich zeige schon mal den derzeitigen Arbeitsstand (Design).

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	2018-08-20 13_45_25-Pollenflug.png 
Hits:	234 
Größe:	35.7 KB 
ID:	45075

    Ist wie gesagt ein reiner Arbeitsstand und kann noch nicht versprechen wann es fertig ist!

    Ciao Pitti
    SERVER: FritzBox 7490, Raspberry Pi 3, CCU2 und IP-Symcon V5.3 (Ninja) | SYSTEME: Amazon ECHOs, Apple TVs, Homematic/IP, LevelJet, Logitech Harmony, Magic Home, Pioneer AVR, Philips Hue, Samsung TV's, Somfy RFX, Apple & Android Handys & Tablets | MODULE: Awido, Toolmatic Reihe (4x), Almanac, Magic Home Controller, Pollenflug | SKINS: WwxSkin

  6. #6
    Registriert seit
    Dec 2015
    Ort
    Fränkische Schweiz
    Beiträge
    55

    ... vielleicht ist das nützlich.
    @pitti: das sieht gut aus!

    PHP-Code:
    $partregion_id "123"// ermitteln aus https://opendata.dwd.de/climate_environment/health/alerts/s31fg.json

    $ObjektID = @IPS_GetObjectIDByName("DWD Pollenflug JSON"$_IPS['SELF']); // meine relevanten Werte abspeichern

    if ($ObjektID === false) {
        echo 
    "Objekt nicht gefunden!";
        
        
    // Anlegen einer String-Variablen mit dem Namen "DWD Pollenflug JSON"
        
        
    $ObjektID IPS_CreateVariable(3);
        
    IPS_SetName($ObjektID"DWD Pollenflug JSON"); // Variable benennen
        
    IPS_SetParent($ObjektID$_IPS['SELF']); // Variable einsortieren
        
    echo "Eine Varibale mit der ID " $ObjektID " wurde erstellt";
    } else {
        
    //echo "\nEine Varibale  mit der ID " . $ObjektID . " ist bereits vorhanden\n";
    }

    // Datenquelle
    $json file_get_contents("https://opendata.dwd.de/climate_environment/health/alerts/s31fg.json");

    // falls die Daten nicht geladen werden koennen
    if (empty($json) || $json == "") {
        
    IPS_LogMessage(IPS_GetName($_IPS['SELF']), "can't get url content");
        return;
    }

    $daten json_decode($jsonTRUE);

    if (
    array_key_exists('last_update'$daten)) {
        if (
    $_IPS['SENDER'] == 'Execute') {
            Echo 
    "Zeitstempel der DWD Info: " $daten['last_update'] . "\n";
            
    $last_update $daten['last_update'];
        }
    } else {
        if (
    $_IPS['SENDER'] == 'Execute') {
            echo 
    "keine Zeitangabe  vorhanden! \n";
        }
    }

    if (
    array_key_exists('next_update'$daten)) {
        if (
    $_IPS['SENDER'] == 'Execute') {
            Echo 
    "Zeitstempel der nächsten DWD Info: " $daten['next_update'] . "\n";
            
    $next_update $daten['last_update'];
        }
    } else {
        if (
    $_IPS['SENDER'] == 'Execute') {
            echo 
    "keine Zeitangabe  vorhanden! \n";
        }
    }


    // Tabelle für Legende erstellen
    $legend $daten['legend'];
    asort($legend);
    $legendtbl = array();
    foreach (
    $legend as $lkey => $value) {
        
    $len strlen($lkey);
        if (
    strlen($lkey) < 4) {
            
    $legendtbl[$value] = $legend[$lkey '_desc'];
        }
    }
    $legendtbl['-1'] = "Fehlender Wert";

    // Daten meiner Region aus den DWD Daten filtern
    foreach ($daten['content'] as $content) {
        if (
    $content['partregion_id'] == $partregion_id) {
            if (
    $_IPS['SENDER'] == 'Execute') {
                echo 
    "\nPartregion Name: " $content['partregion_name'] . "\n\n";
            }
            
    $pollen $content['Pollen'];
            
            
    // Neues Array mit meinen Pollenflugdaten aufbauen    
            
    $pollenflug['last_update'] = $daten['last_update'];
            
            foreach (
    $pollen as $blueher => $value) {
                
    $pollenflug[$blueher] = array(
                    
    'today' => $legendtbl[$value['today']],
                    
    'tomorrow' => $legendtbl[$value['tomorrow']],
                    
    'dayafter_to' => $legendtbl[$value['dayafter_to']]
                );
                if (
    $_IPS['SENDER'] == 'Execute') {
                    echo 
    $blueher ": heute = " $legendtbl[$value['today']] . "\n";
                    echo 
    $blueher ": morgen = " $legendtbl[$value['tomorrow']] . "\n";
                    echo 
    $blueher ": übermorgen = " $legendtbl[$value['dayafter_to']] . "\n";
                }
            }
        }
    }

    SetValue($ObjektIDjson_encode($pollenflug)); // Meine Pollenflugdaten als Array abspeichern 
    Gruss Klaus

    IPS 5.1 / Win 10, FB 7590, HM CCU2 (Hzg)

  7. #7
    Registriert seit
    Mar 2017
    Ort
    Rems-Murr-Kreis
    Beiträge
    121

    das sieht ja schon toll aus. Schon mal vielen Dank an euch.
    IP-Symcon 5.1 Professional | IPS View | Colibrico | Raspi Pi 3 | Stretch

  8. #8
    Registriert seit
    May 2008
    Ort
    Forstern
    Beiträge
    960

    Kurzes Zwischenupdate - Design steht ;-)

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	2018-08-22 14_57_00-Pollenflug2.png 
Hits:	193 
Größe:	87.8 KB 
ID:	45117

    Jetzt geht es langsam an die Daten, bin dran!

    Gruß Heiko
    SERVER: FritzBox 7490, Raspberry Pi 3, CCU2 und IP-Symcon V5.3 (Ninja) | SYSTEME: Amazon ECHOs, Apple TVs, Homematic/IP, LevelJet, Logitech Harmony, Magic Home, Pioneer AVR, Philips Hue, Samsung TV's, Somfy RFX, Apple & Android Handys & Tablets | MODULE: Awido, Toolmatic Reihe (4x), Almanac, Magic Home Controller, Pollenflug | SKINS: WwxSkin

  9. #9
    Registriert seit
    Mar 2017
    Ort
    Rems-Murr-Kreis
    Beiträge
    121

    Vom Feinsten, sieht klasse aus.
    IP-Symcon 5.1 Professional | IPS View | Colibrico | Raspi Pi 3 | Stretch

  10. #10
    Registriert seit
    Aug 2011
    Beiträge
    970

    Hi, sieht klasse aus!

    Bin da auch scharf drauf!

    Hardlog
    IPS 5.0unlim, 3x W&T WebIO12, diverse 1wire (LAN), FritzOS 7, z-Wave, DMX/ArtNet-Node, M-Bus, ESP8266 via MQTT

    "Prognosen sind schwierig, besonders wenn sie die Zukunft betreffen" N. Bohr

Ähnliche Themen

  1. WMRS200: Erweiterte Daten (Batterie, Trend, Vorhersage)
    Von pelota im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 20
    Letzter Beitrag: 13.04.18, 12:11
  2. Auslesen von Ereignis
    Von scanix im Forum Skripte, PHP, SQL
    Antworten: 2
    Letzter Beitrag: 24.02.18, 16:31
  3. Auslesen von Ereignissen
    Von andyt im Forum Skripte, PHP, SQL
    Antworten: 1
    Letzter Beitrag: 03.12.11, 19:24
  4. DWD Vorhersage fehlerhaft
    Von Eisern im Forum WebFront
    Antworten: 1
    Letzter Beitrag: 20.09.11, 16:06
  5. Text von DWD Zugriff?
    Von test2011 im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 1
    Letzter Beitrag: 09.05.11, 23:04