HOWTO: Wunderground-Wetterdaten nutzen / Eigener Wetterserver

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Albert
    Extension Master
    • 04.09.2015
    • 106

    #16
    Hallo,
    ich habe anfangs versucht, wie in der Anleitung beschrieben mir über Wunderground eine API zu organisieren, einen Webspace, der CGI-Pearl-Skrite ausführen kann,…


    Ich habe aber dann eine einfachere Lösung gefunden, wie ich die aktuellen Wetterdaten via Wunderground in der Loxone anzeigen bzw. auswerten kann (ohne API, Webspace,…).
    Dabei suche ich mir eine geeignete Wetterstation bei mir in der Nähe, die auf Wunderground registriert ist.
    Achtung, es kann sein, dass manche Stationen keine Werte als XML liefern (gesperrt? bzw. defekt?)-> die passende Station suchen...


    Ablauf:
    1. Wunderground.com -> search Locations -> Full Forecast
    2. Gehe auf “Change Station” und Suche eine passende (mit jenen Werten, die man benötigt) Station in der Nähe aus.
      Etwa die Station IMAUERBA2 (Name der Station jeweils in Klammer[])
      Bsp: http://www.wunderground.com/cgi-bin/...=pws:IMAUERBA2
    3. Verwende folgende URL um an die XML Daten der jeweiligen Station zu kommen: http://api.wunderground.com/weathers...L.asp?ID=XXXXX
      Statt XXXX den Namen der ausgewählten Station eingeben:
      im Bsp. IMAUERBA2: http://api.wunderground.com/weathers...p?ID=IMAUERBA2
    4. Jetzt kann man jene Werte auslesen, die man verwenden möchte, etwa die aktuelle Temp von 3,7 Grad C (siehe Screenshot),…
    5. In der Loxone Config bei den „Virtuellen Eingängen“ einen „Virtuellen HTTP Eingang“ setzen
      In der URL folgende Adresse verwenden (Statt XXXX wieder die gewählte Station): http://api.wunderground.com/weathers...L.asp?ID=XXXXX
      Bei Abfragezyklus einen Werte eingeben, wie oft der Wert abgerufen werden soll, etwa alle 30 Sekunden
    6. Im Peripherie-Fenster den eben erstellten „Virtuellen HTTP Eingang“ markieren und für all jene Werte (Temperatur, Windgeschwindigkeit,…), die man auslesen möchte, „VIRTUELLER HTTP Eingang Befehl“ erstellen.

      In der Zeile Befehlserkennung \i<XXXX>\i\v schreiben
      Für XXXX jene Daten eingeben, die man auslesen möchte,
      etwa:
      Aktuelle Temperatur (temp_c) in Celcius : \i<temp_c>\i\v
      Aktuelle Luftfeuchtigkeit: \i<relative_humidity>\i\v
      Aktuelle Windgeschwindigkeit: \i<wind_mph>\i\v
      Aktuelle Windböen: \i<wind_gust_mph>\i\v
      Aktuelle Niederschlagsmenge in mm: \i<precip_1hr_string>\i\v

      In der „Anzeige“ die Ausgabeeinheit eingeben
      etwa für aktuelle Temperatur in C mit einer Nachkommastelle: <v.1> °C
      ohne Nachkommastelle: : <v> °C
      Aktuelle Luftfeuchtigkeit: <v> %
      Aktuelle Windgeschwindigkeit: <v> km/h
      (Achtung dieser Wert wird in mph ausgeben, deshalb bei den Korrekturwerten: Eingangswert1: 0, Anzeigewert1: 0, Eingangswert2:100, Anzeigewert2: 160,3)
      Aktuelle Niederschlagsmenge: <v> mm/Stunde
      (Achtung dieser Wert wird in inch ausgeben, deshalb bei den Korrekturwerten: Eingangswert1: 0, Anzeigewert1: 0, Eingangswert2:100, Anzeigewert2: 2540)

      Bei der Anzeige den Haken „nur Statusanzeige“ setzen

      Man hat hier die Möglichkeit, ausgewählte Daten für die Statistik anzeigen zu lassen.

    Was ich bis jetzt noch nicht geschafft habe:
    1. Texte (etwa die Windrichtung) über den Virtuellen http Eingang Befehl auswerten zu lassen
    2. Ich habe noch keine XML Wunderground Daten für die Wetter-Forecast gefunden (das löse ich derzeit über tuxnet24: weather.tuxnet24.de)

      -> eventuell hat hier jemand Lösungsvorschläge
    Angehängte Dateien
    Zuletzt geändert von Albert; 06.11.2015, 12:58.

    Kommentar


    • MightyLox
      MightyLox kommentierte
      Kommentar bearbeiten
      Developer Key ist hier beschrieben:
      Hallo Loxforum! Weil ich im alten Forum schon immer ein begeisterter Leser der HowTo´s war, möchte ich nun meinen Teil dazu beisteuern. Ich habe ein PicoC

    • Albert
      Albert kommentierte
      Kommentar bearbeiten
      OK, alles klar, danke. Du meinst den API-Code.

      Stimmt, gerade ausprobiert, es gibt ein paar mehr Infos (gefühlte Temp, UV, Sichtweite)
      als ohne (http://api.wunderground.com/weathers...p?ID=IMAUERBA2)

      Aber Achtung, es gibt einige Wetterstationen die auch falsche Ergebnisse liefern. Etwa bei dieser fehlt bzw. ist die Windgeschwindigkeit falsch. Ich habe es folgendermaßen gelöst, dass ich von unterschiedlichen Wetterstationen in meinem Umfeld nur jene Daten integriere, die plausibel sind.

    • Gast
      Gast kommentierte
      Kommentar bearbeiten
      Habe alles wie beschrieben eingerichtet, erhalte wenn ich es in den Browser eingebe eine wunderschöne ausführliche Liste im xml format, aber mein Miniserver zeigt mir keine Werte. Habe hier das gleiche problem wie bei openweathermap .
      Kann es sein, dass ich irgendwelche Ports noch freischalten muss oder Forwardings einrichten?

      EDIT:
      Hat sich fast alles erledigt. Miniserver war zwar im heimischen Netzwerk, aber nicht in der Mac-Tabelle durfte also nicht nach Hause telefonieren. In Mac-Tabelle eingetragen und schon läuft fast alles. Will heißen, die Adresse mit API code funktioniert leider nicht, die ohne api code funktioniert.
      Zuletzt geändert von Gast; 24.02.2016, 22:42.
  • Dott
    Extension Master
    • 25.08.2015
    • 153

    #17
    Albert
    Gute idee, versuche es mal mit openweathermap

    hier ein beispiel für die 7 Tagesvorhersage
    http://api.openweathermap.org/data/2...9337e1e96b00e0

    hier findest du viele Möglichkeiten

    Simple and fast and free weather API from OpenWeatherMap you have access to current weather data, hourly, 5- and 16-day forecasts. Historical weather data for 40 years back for any coordinate. Weather maps, UV Index, air pollution and historical data


    Ich werde mir das auch mal ansehen.

    Kommentar

    • Dott
      Extension Master
      • 25.08.2015
      • 153

      #18
      Ich habe das jetzt mal getestet, bei Wunderground kannst du das mit der Windrichtung vergessen. Da dort nur ein Text übermittelt wird.

      Bei openweathermap werden auch Ziffern übermittelt, anhand dieser Ziffern kannst du über einen Statusbaustein Wörter zuordnen.

      Kommentar

      • Prof.Mobilux
        Supermoderator
        • 25.08.2015
        • 4589

        #19
        Die Windrichtung wird über die Wunderbround API auch in Grad als Zahlenwert übermittelt.
        🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


        LoxBerry - Beyond the Limits

        Kommentar

        • Albert
          Extension Master
          • 04.09.2015
          • 106

          #20
          @Dott: Danke für den Hinweis, werde ich mir näher ansehen!

          @Prof.Mobilux: Ebenfalls danke!
          Wie hast du die Ausgabe (Windrichtung N-S-O-W) mit den Zahlenwerten gelöst? von 0-90 Grad="X", 90-180="Y",...?

          Kommentar

          • Rik
            Extension Master
            • 21.10.2015
            • 115

            #21
            @profi.Mobilux
            beim ersten Test über den Browser erhalte ich ein:

            Not Found

            The requested URL /cgi-bin/search.cgi was not found on this server.
            Apache/2.4.10 (Raspbian) Server at 192.168.2.41 Port 80

            Kommentar

            • Prof.Mobilux
              Supermoderator
              • 25.08.2015
              • 4589

              #22
              Zitat von Albert
              Wie hast du die Ausgabe (Windrichtung N-S-O-W) mit den Zahlenwerten gelöst? von 0-90 Grad="X", 90-180="Y",...?
              Ich nutze dazu den Status-Baustein. An AI1 hängt die Windrichtung in Grad.

              Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 1.jpg
Ansichten: 1420
Größe: 97,8 KB
ID: 11817
              🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


              LoxBerry - Beyond the Limits

              Kommentar

              • Prof.Mobilux
                Supermoderator
                • 25.08.2015
                • 4589

                #23
                Zitat von Rik
                @profi.Mobilux
                beim ersten Test über den Browser erhalte ich ein:

                Not Found
                Dann hast Du die Datei search.cgi nicht in das CGI-BIN-Verzeichnis Deines Apache kopiert oder das CGI-BIN ist in Deinem Apache nicht aktiviert. In der Standardinstallation ist das korrekte Verzeichnis /usr/lib/cgi-bin.
                🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


                LoxBerry - Beyond the Limits

                Kommentar

                • Rik
                  Extension Master
                  • 21.10.2015
                  • 115

                  #24
                  hmm...war nicht aktiviert :-) Hab jetzt einige Zeilen in die etc/apache/sites-available
                  eingefügt und erhalte nun ein:
                  Forbidden

                  You don't have permission to access /cgi-bin/search.cgi on this server.

                  Apache/2.4.10 (Raspbian) Server at 192.168.2.46 Port 80

                  -rwxr-x--- 1 www-data www-data 18380 Sep 24 16:24 fetch.cgi
                  -rwxr-x--- 1 www-data www-data 10322 Sep 24 16:24 get.cgi
                  -rwxr-x--- 1 www-data www-data 4547 Sep 24 16:24 search.cgi
                  -rwxr-x--- 1 www-data www-data 11415 Sep 24 16:24 send.pl
                  -rwxr-x--- 1 www-data www-data 18002 Sep 24 16:24 show.cgi

                  Bin mir ziemlich sicher das ich alle Rechte richtig gesetzt habe..

                  Kommentar

                  • Prof.Mobilux
                    Supermoderator
                    • 25.08.2015
                    • 4589

                    #25
                    Du könntest probieren allen Ausführungsrechte zu geben (glaube aber nicht dass es daran liegt):

                    Code:
                    chmod a+x *.cgi
                    Es könnte auch daran liegen, dass in der Apache-Config der Zugriff aufs Verzeichnis blockiert ist. Poste mal bitte Deine Konfigdatei aus sites-available.

                    Und dann immer hilfreich um ein paar mehr Informationen zu erhalten: /var/log/apache2/error.log
                    🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


                    LoxBerry - Beyond the Limits

                    Kommentar

                    • Rik
                      Extension Master
                      • 21.10.2015
                      • 115

                      #26
                      Das ist die 000-default.conf
                      Code:
                      <VirtualHost *:80>
                              # The ServerName directive sets the request scheme, hostname and port that
                              # the server uses to identify itself. This is used when creating
                              # redirection URLs. In the context of virtual hosts, the ServerName
                              # specifies what hostname must appear in the request's Host: header to
                              # match this virtual host. For the default virtual host (this file) this
                              # value is not decisive as it is used as a last resort host regardless.
                              # However, you must set it for any further virtual host explicitly.
                              #ServerName www.example.com
                      
                              ServerAdmin webmaster@localhost
                              DocumentRoot /var/www/html
                      
                              # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
                              # error, crit, alert, emerg.
                              # It is also possible to configure the loglevel for particular
                              # modules, e.g.
                              #LogLevel info ssl:warn
                      
                      ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
                      <Directory "/usr/lib/cgi-bin">
                      
                      
                      AllowOverride None
                      
                      
                      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                      
                      
                      Order allow,deny
                      
                      
                      Allow from all
                      
                      
                      </Directory>
                      
                              ErrorLog ${APACHE_LOG_DIR}/error.log
                              CustomLog ${APACHE_LOG_DIR}/access.log combined
                      
                              # For most configuration files from conf-available/, which are
                              # enabled or disabled at a global level, it is possible to
                              # include a line for only one particular virtual host. For example the
                              # following line enables the CGI configuration for this host only
                              # after it has been globally disabled with "a2disconf".
                              #Include conf-available/serve-cgi-bin.conf
                      </VirtualHost>
                      und das die error.log

                      Code:
                      [Thu Sep 24 16:50:59.798559 2015] [mpm_event:notice] [pid 2144:tid 1995894784] AH00489: Apache/2.4.10 (Raspbian) configured -- resuming normal operations
                      [Thu Sep 24 16:50:59.799278 2015] [core:notice] [pid 2144:tid 1995894784] AH00094: Command line: '/usr/sbin/apache2'
                      [Thu Sep 24 19:47:52.782869 2015] [mpm_event:notice] [pid 2144:tid 1995894784] AH00491: caught SIGTERM, shutting down
                      [Thu Sep 24 19:47:58.963801 2015] [mpm_event:notice] [pid 647:tid 1996193792] AH00489: Apache/2.4.10 (Raspbian) configured -- resuming normal operations
                      [Thu Sep 24 19:47:58.965815 2015] [core:notice] [pid 647:tid 1996193792] AH00094: Command line: '/usr/sbin/apache2'
                      [Fri Nov 13 17:44:31.284238 2015] [mpm_event:notice] [pid 647:tid 1996193792] AH00491: caught SIGTERM, shutting down
                      [Fri Nov 13 17:44:37.025601 2015] [mpm_event:notice] [pid 673:tid 1996070912] AH00489: Apache/2.4.10 (Raspbian) configured -- resuming normal operations
                      [Fri Nov 13 17:44:37.027470 2015] [core:notice] [pid 673:tid 1996070912] AH00094: Command line: '/usr/sbin/apache2'
                      [Fri Nov 13 18:25:51.609491 2015] [mpm_event:notice] [pid 673:tid 1996070912] AH00491: caught SIGTERM, shutting down
                      [Fri Nov 13 18:26:11.651665 2015] [mpm_event:notice] [pid 715:tid 1996255232] AH00489: Apache/2.4.10 (Raspbian) configured -- resuming normal operations
                      [Fri Nov 13 18:26:11.653572 2015] [core:notice] [pid 715:tid 1996255232] AH00094: Command line: '/usr/sbin/apache2'
                      [Fri Nov 13 18:26:15.112744 2015] [mpm_event:notice] [pid 680:tid 1995620352] AH00489: Apache/2.4.10 (Raspbian) configured -- resuming normal operations
                      [Fri Nov 13 18:26:15.114770 2015] [core:notice] [pid 680:tid 1995620352] AH00094: Command line: '/usr/sbin/apache2'
                      [Fri Nov 13 18:55:59.282885 2015] [mpm_event:notice] [pid 680:tid 1995620352] AH00491: caught SIGTERM, shutting down
                      [Fri Nov 13 18:56:00.677727 2015] [mpm_event:notice] [pid 1013:tid 1996435456] AH00489: Apache/2.4.10 (Raspbian) configured -- resuming normal operations
                      [Fri Nov 13 18:56:00.678287 2015] [core:notice] [pid 1013:tid 1996435456] AH00094: Command line: '/usr/sbin/apache2'
                      [Fri Nov 13 18:56:41.667674 2015] [authz_core:error] [pid 1017:tid 1979708464] [client 192.168.2.38:51516] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi
                      [Fri Nov 13 18:58:48.348298 2015] [authz_core:error] [pid 1017:tid 1962931248] [client 192.168.2.38:51528] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi
                      [Fri Nov 13 19:11:11.535842 2015] [mpm_event:notice] [pid 1013:tid 1996435456] AH00491: caught SIGTERM, shutting down
                      [Fri Nov 13 19:11:32.578435 2015] [mpm_event:notice] [pid 804:tid 1996369920] AH00489: Apache/2.4.10 (Raspbian) configured -- resuming normal operations
                      [Fri Nov 13 19:11:32.584855 2015] [core:notice] [pid 804:tid 1996369920] AH00094: Command line: '/usr/sbin/apache2'
                      [Fri Nov 13 19:12:34.285631 2015] [authz_core:error] [pid 808:tid 1979708464] [client 192.168.2.38:51730] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi
                      [Fri Nov 13 19:12:35.274671 2015] [authz_core:error] [pid 808:tid 1971319856] [client 192.168.2.38:51730] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi
                      [Fri Nov 13 19:12:36.157448 2015] [authz_core:error] [pid 808:tid 1962931248] [client 192.168.2.38:51730] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi
                      [Fri Nov 13 19:12:36.455153 2015] [authz_core:error] [pid 808:tid 1954542640] [client 192.168.2.38:51730] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi
                      [Fri Nov 13 19:12:37.966041 2015] [authz_core:error] [pid 808:tid 1946154032] [client 192.168.2.38:51730] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi
                      [Fri Nov 13 19:14:44.041974 2015] [authz_core:error] [pid 807:tid 1962931248] [client 192.168.2.38:51771] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi
                      [Fri Nov 13 19:14:44.837919 2015] [authz_core:error] [pid 807:tid 1954542640] [client 192.168.2.38:51771] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi
                      [Fri Nov 13 19:14:45.069584 2015] [authz_core:error] [pid 807:tid 1946154032] [client 192.168.2.38:51771] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi
                      [Fri Nov 13 19:14:45.270106 2015] [authz_core:error] [pid 807:tid 1937765424] [client 192.168.2.38:51771] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi
                      [Fri Nov 13 19:14:45.509965 2015] [authz_core:error] [pid 807:tid 1929376816] [client 192.168.2.38:51771] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi
                      [Fri Nov 13 19:28:37.710241 2015] [authz_core:error] [pid 807:tid 1920988208] [client 192.168.2.38:52055] AH01630: client denied by server configuration: /usr/lib/cgi-bin/search.cgi

                      Kommentar

                      • Rik
                        Extension Master
                        • 21.10.2015
                        • 115

                        #27
                        Ich habe noch folgendes in die /etc/apache2/apache2.conf geschrieben:

                        Code:
                        <Directory /usr/lib/cgi-bin>
                                Options Indexes FollowSymLinks
                                AllowOverride None
                                Require all granted
                        </Directory>
                        Jetzt erscheint bei einem Aufruf keine Fehlermeldung mehr, sondern er zeigt mir z.B die search.cgi an wenn ich folgendes in den Browser eintippe http://192.168.2.46/cgi-bin/search.cgi:

                        Code:
                         
                         #!/usr/bin/perl   # #  search.cgi #  searches Wunderground database for available weather stations # #  Part of Loxone Weather # #  Version 0.0.1 #  Latest change: 11.10.2013 06:08:08 # #  (C) 2013 by Michael Schlenstedt #  This program is free software and comes with ABSOLUTELY NO WARRANTY. # #  This program is free software; you can redistribute it and/or modify #  it under the terms of the GNU General Public License as published by #  the Free Software Foundation; either version 2 of the License, or #  (at your option) any later version. # #  This program is distributed in the hope that it will be useful, #  but WITHOUT ANY WARRANTY; without even the implied warranty of #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the #  GNU General Public License for more details. # #  You should have received a copy of the GNU General Public License #  along with this program; if not, write to the Free Software #  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #   # Modules use CGI qw/:standard/; use LWP::UserAgent; use JSON qw( decode_json );  use Data::Dumper;  # Clear parameters $query = param('query');

                        Kommentar

                        • Prof.Mobilux
                          Supermoderator
                          • 25.08.2015
                          • 4589

                          #28
                          Bei Options fehlt jetzt noch ExecCGI
                          🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


                          LoxBerry - Beyond the Limits

                          Kommentar

                          • Rik
                            Extension Master
                            • 21.10.2015
                            • 115

                            #29
                            Leider kein Erfolg....

                            Kommentar

                            • Prof.Mobilux
                              Supermoderator
                              • 25.08.2015
                              • 4589

                              #30
                              CGI Modul im Apache enabled?
                              🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


                              LoxBerry - Beyond the Limits

                              Kommentar

                              Lädt...