Ankündigung

Einklappen
Keine Ankündigung bisher.

Wettervorhersage wetter.com XML API

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Misterhouse] Wettervorhersage wetter.com XML API

    Hier kommt ein weiteres Skript zum Thema Wettervorhersage. Es wird folgendes benutzt wetter.com :: Api :: Übersicht

    Es ist ein Benutzerkonto bei wetter.com notwendig, dort kann man sich ein Projekt anlegen und dann den API-Key erzeugen. Beides in das Skript eingetragen und den City-Code, fertig.


    Code:
    # Category=Weather
    # $Date: 2010/03/11 $
    #####################################################################
    #  NOM        : wetter_dot_com.pl
    #  DESCRIPTION     :
    #@ Gets the weather forecast from wetter.com
    #--------------------------------------------------------------------
    #  mh variables :
    #    
    
    #  MH.ini parameters :
    
    #--------------------------------------------------------------------
    #                 HISTORY
    #--------------------------------------------------------------------
    #   DATE   REVISION    AUTHOR            DESCRIPTION
    #--------------------------------------------------------------------
    # 2010/03/11   0.1   Felix Ueberschaar
    
    use vars qw(%Weatherforecast);
    
    # noloop=start
    use strict;
    use XML::TreePP;
    use Digest::MD5 'md5_hex';
    # noloop=stop
    
    if ($New_Hour or $Reread or $Startup)  {
      WetterDotCom();
    }
    
    
    sub WetterDotCom {
      my $sForecastUrl   = 'http://api.wetter.com/forecast/weather';
      my $sProjectName   = 'frellstedt';
      my $sApiKey        = 'ghtule3b14a2ba1ee8cfef9e800203';
      my $sCityCode      = 'DE0003037';
      # Generieren der Checksumme, muss für jeden City Code neu berechnet werden
      my $sChecksum = md5_hex($sProjectName . $sApiKey . $sCityCode);
      my $sSearchUrl .= $sForecastUrl . '/city/' . $sCityCode. '/project/' . $sProjectName. '/cs/' . $sChecksum;
      my $tpp = XML::TreePP->new();
      my $tree = $tpp->parsehttp( GET => $sSearchUrl );
      my $Code;
    
      # <du> UTC Zeit (Unix Timestamp)
      # <d> Lokale Zeit (Unix Timestamp)
      # <dhu> UTC Zeit (ISO 8601)
      # <dhl> Lokale Zeit (ISO 8601)
      # <p> Gueltigkeitszeitraum der Prognose
      # <w> Code fuer den Wetterzustand
      # <pc> Niederschlagswahrscheinlichkeit in %
      # <tn> Minimaltemperatur in Grad Celsius
      # <tx> Maximaltemperatur in Grad Celsius
      # <wd> Windrichtung in Grad
      # <ws> Windgeschwindigkeit in km/h
      # <w_txt> Wetter in Textform
      # <wd_txt> Windrichtung Text
    
      $Weatherforecast{City} = $tree->{city}->{name};
    
      # Wetter heute 
      # Morgens - Bezugszeit 06:00 - 11:00
      $Weatherforecast{WeatherTodayMorning} = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{w_txt};
      $Weatherforecast{TempMinTodayMorning} = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{tn};
      $Weatherforecast{TempMaxTodayMorning} =  $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{tx};
      $Code = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{w};
      $Weatherforecast{IconTodayMorning} = (substr($Code,0,1));
      $Weatherforecast{ChanceRainTodayMorning} = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{pc};
      $Weatherforecast{WindForceTodayMorning} = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{ws};
      $Weatherforecast{WindDirectionTodayMorning} = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{wd};
      # Mittags - Bezugszeit 11:00 - 17:00
      $Weatherforecast{WeatherTodayNoon} = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{w_txt};
      $Weatherforecast{TempMinTodayNoon} = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{tn};
      $Weatherforecast{TempMaxTodayNoon} =  $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{tx};
      $Code = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{w};
      $Weatherforecast{IconTodayNoon} = (substr($Code,0,1));
      $Weatherforecast{ChanceRainTodayNoon} = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{pc};
      $Weatherforecast{WindForceTodayNoon} = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{ws};
      $Weatherforecast{WindDirectionTodayNoon} = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{wd};
      # Abends - Bezugszeit 17:00 - 23:00
      $Weatherforecast{WeatherTodayEvening} = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{w_txt};
      $Weatherforecast{TempMinTodayEvening} = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{tn};
      $Weatherforecast{TempMaxTodayEvening} =  $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{tx};
      $Code = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{w};
      $Weatherforecast{IconTodayEvening} = (substr($Code,0,1));
      $Weatherforecast{ChanceRainTodayEvening} = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{pc};
      $Weatherforecast{WindForceTodayEvening} = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{ws};
      $Weatherforecast{WindDirectionTodayEvening} = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{wd};
      # Nachts - Bezugszeit 23:00 - 06:00
      $Weatherforecast{WeatherTodayNight} = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{w_txt};
      $Weatherforecast{TempMinTodayNight} = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{tn};
      $Weatherforecast{TempMaxTodayNight} =  $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{tx};
      $Code = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{w};
      $Weatherforecast{IconTodayNight} = (substr($Code,0,1));
      $Weatherforecast{ChanceRainTodayNight} = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{pc};
      $Weatherforecast{WindForceTodayNight} = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{ws};
      $Weatherforecast{WindDirectionTodayNight} = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{wd};
      # Wetter morgen 
      # Morgens - Bezugszeit 06:00 - 11:00
      $Weatherforecast{WeatherTomorrowMorning} = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{w_txt};
      $Weatherforecast{TempMinTomorrowMorning} = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{tn};
      $Weatherforecast{TempMaxTomorrowMorning} =  $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{tx};
      $Code = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{w};
      $Weatherforecast{IconTomorrowMorning} = (substr($Code,0,1));
      $Weatherforecast{ChanceRainTomorrowMorning} = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{pc};
      $Weatherforecast{WindForceTomorrowMorning} = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{ws};
      $Weatherforecast{WindDirectionTomorrowMorning} = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{wd};
      # Mittags - Bezugszeit 11:00 - 17:00
      $Weatherforecast{WeatherTomorrowNoon} = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{w_txt};
      $Weatherforecast{TempMinTomorrowNoon} = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{tn};
      $Weatherforecast{TempMaxTomorrowNoon} =  $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{tx};
      $Code = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{w};
      $Weatherforecast{IconTomorrowNoon} = (substr($Code,0,1));
      $Weatherforecast{ChanceRainTomorrowNoon} = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{pc};
      $Weatherforecast{WindForceTomorrowNoon} = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{ws};
      $Weatherforecast{WindDirectionTomorrowNoon} = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{wd};
      # Abends - Bezugszeit 17:00 - 23:00
      $Weatherforecast{WeatherTomorrowEvening} = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{w_txt};
      $Weatherforecast{TempMinTomorrowEvening} = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{tn};
      $Weatherforecast{TempMaxTomorrowEvening} =  $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{tx};
      $Code = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{w};
      $Weatherforecast{IconTomorrowEvening} = (substr($Code,0,1));
      $Weatherforecast{ChanceRainTomorrowEvening} = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{pc};
      $Weatherforecast{WindForceTomorrowEvening} = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{ws};
      $Weatherforecast{WindDirectionTomorrowEvening} = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{wd};
      # Nachts - Bezugszeit 23:00 - 06:00
      $Weatherforecast{WeatherTomorrowNight} = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{w_txt};
      $Weatherforecast{TempMinTomorrowNight} = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{tn};
      $Weatherforecast{TempMaxTomorrowNight} =  $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{tx};
      $Code = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{w};
      $Weatherforecast{IconTomorrowNight} = (substr($Code,0,1));
      $Weatherforecast{ChanceRainTomorrowNight} = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{pc};
      $Weatherforecast{WindForceTomorrowNight} = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{ws};
      $Weatherforecast{WindDirectionTomorrowNight} = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{wd};
      # Wetter Uebermorgen 
      # Morgens - Bezugszeit 06:00 - 11:00
      $Weatherforecast{WeatherSecDayMorning} = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{w_txt};
      $Weatherforecast{TempMinSecDayMorning} = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{tn};
      $Weatherforecast{TempMaxSecDayMorning} =  $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{tx};
      $Code = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{w};
      $Weatherforecast{IconSecDayMorning} = (substr($Code,0,1));
      $Weatherforecast{ChanceRainSecDayMorning} = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{pc};
      $Weatherforecast{WindForceSecDayMorning} = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{ws};
      $Weatherforecast{WindDirectionSecDayMorning} = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{wd};
      # Mittags - Bezugszeit 11:00 - 17:00
      $Weatherforecast{WeatherSecDayNoon} = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{w_txt};
      $Weatherforecast{TempMinSecDayNoon} = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{tn};
      $Weatherforecast{TempMaxSecDayNoon} =  $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{tx};
      $Code = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{w};
      $Weatherforecast{IconSecDayNoon} = (substr($Code,0,1));
      $Weatherforecast{ChanceRainSecDayNoon} = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{pc};
      $Weatherforecast{WindForceSecDayNoon} = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{ws};
      $Weatherforecast{WindDirectionSecDayNoon} = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{wd};
      # Abends - Bezugszeit 17:00 - 23:00
      $Weatherforecast{WeatherSecDayEvening} = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{w_txt};
      $Weatherforecast{TempMinSecDayEvening} = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{tn};
      $Weatherforecast{TempMaxSecDayEvening} =  $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{tx};
      $Code = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{w};
      $Weatherforecast{IconSecDayEvening} = (substr($Code,0,1));
      $Weatherforecast{ChanceRainSecDayEvening} = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{pc};
      $Weatherforecast{WindForceSecDayEvening} = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{ws};
      $Weatherforecast{WindDirectionSecDayEvening} = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{wd};
      # Nachts - Bezugszeit 23:00 - 06:00
      $Weatherforecast{WeatherSecDayNight} = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{w_txt};
      $Weatherforecast{TempMinSecDayNight} = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{tn};
      $Weatherforecast{TempMaxSecDayNight} =  $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{tx};
      $Code = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{w};
      $Weatherforecast{IconSecDayNight} = (substr($Code,0,1));
      $Weatherforecast{ChanceRainSecDayNight} = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{pc};
      $Weatherforecast{WindForceSecDayNight} = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{ws};
      $Weatherforecast{WindDirectionSecDayNight} = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{wd};
    }

    #2
    Kann man dann die Wettervorhersage auf das Busch Comfort Panel
    anzeigen lassen ?
    Wenn ja wie ?

    Kommentar

    Lädt...
    X