HOWTO: Wunderground-Wetterdaten nutzen / Eigener Wetterserver

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Prof.Mobilux
    Supermoderator
    • 25.08.2015
    • 4604

    #91
    Teste mal, ob die Dateien im data-Verzeichnis auch im UTF8 Format gespeichert sind:

    Code:
    root@raspberrypi:/usr/lib/cgi-bin/wetter/data# file current.dat
    current.dat: UTF-8 Unicode text
    root@raspberrypi:/usr/lib/cgi-bin/wetter/data#

    Und dann nochmal die Datei anzeigen lassen, ob dort die Umlaute richtig kodiert sind:

    Code:
    root@raspberrypi:/usr/lib/cgi-bin/wetter/data# cat current.dat
    1469563519|Tue, 26 Jul 2016 22:05:19 +0200|CEST|Europe/Berlin|+0200|Pieschen, Dresden|Germany|DE|51.077175|13.728671|113.9952|22.8|22.8|83|Süd|185|0|0|-9999.00|1019|19.8|-9999.00|0|-9999.00|0.0|0|0.0|clear|1|Heiter|51|22|Drittes Viertel|North|5|22|21|00
    root@raspberrypi:/usr/lib/cgi-bin/wetter/data#

    Und als letztes nochmal sicherstellen, dass Dein Webserver auch UTF8 ausliefert. Und wenn das alles nicht hilft auf den Loxberry warten :-)
    🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


    LoxBerry - Beyond the Limits

    Kommentar

    • Gast

      #92
      So sieht es aus

      Code:
      pi@lemaker /usr/lib/cgi-bin/loxone/data $ file current.dat
      current.dat: UTF-8 Unicode text
      pi@lemaker /usr/lib/cgi-bin/loxone/data $ cat current.dat
      1469603163|Wed, 27 Jul 2016 09:06:03 +0200|CEST|Europe/Berlin|+0200|Alte Gehegstraße, Saalfeld/Saale|Germany|DE|50.638664|11.357421|255.7272|20.2 |20.2|84|SW|221|10|0|-9999.00|1021|17|10.0|0|-9999.00|0|0| 0|cloudy|4||46|23|Letztes Viertel|North|5|34|21|06
      also auf den Loxberry warten.

      Wie weit bist Du da jetzt, vielleicht zieh ich mir das Ding mal drauf. Derzeit macht mein Banana Pi eh nichts anderes, als das Wetter bereitstellen.

      Kommentar

      • Prof.Mobilux
        Supermoderator
        • 25.08.2015
        • 4604

        #93
        Mmmhh irgendetwas stimmt da bei Dir nicht. Die Datei ist im UTF8-Format - hat also mit dem Webserver nichts zu tun. Trotzdem sind die Umlaute nicht korrekt kodiert.

        Stand des LoxBerrys: Siehe verlinkter Thread oben. Wir sind jetzt dabei die Pluginschnittstelle zu programmieren. Sobald die fertig ist wird es den Wetterserver als Plugin für den LoxBerry geben. Ich kann nichts versprechen aber lange wird's nicht mehr dauern :-)
        🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


        LoxBerry - Beyond the Limits

        Kommentar


        • thomas76ch
          thomas76ch kommentierte
          Kommentar bearbeiten
          Hallo,

          wollte kurz wegem dem Loxberry Projekt nachfragen. Wird auch der neue Raspi 3 unterstützt? Frage deshalb, da ich noch keinen hab und mir nun einen in meinern Verteiler bauen möchte :-)

          Danke

        • Prof.Mobilux
          Prof.Mobilux kommentierte
          Kommentar bearbeiten
          Ja, der Raspi3 wird ab dem nächsten Image laufen!

        • thomas76ch
          thomas76ch kommentierte
          Kommentar bearbeiten
          Super, danke für die Info :-) Freue mich sehr auf LoxBerry!
      • Gast

        #94
        Guten Tag liebe Leute,

        ich bin ja ganz angetan von dieser Underground-Weather Lösung.
        Leider bekomme ich das Ganze jedoch nicht zum laufen.

        Da ich keine Raspberry habe, habe ich mich mit der Löung auf einem Webspace versucht. Bisher leider ohne Erfolg.
        Ich gebe euch mal folgende Eckdaten:

        1. Aktuelles Paket heruntergeladen.
        2. Bei Wunderground Weather angemeldet / API Key erzeugt.
        3. Webspace mit CGI / Perl besorgt. Info laut Hoster "ibesthosting.com":
        Perl path /usr/bin/perl
        CGI-BIN path not required (You can run CGI, Perl scripts from any domain/subdomain folder)
        4. Die 6 besagten Datein nicht weiter verändert, da laut Hoster "#!/usr/bin/perl" stimmt.
        5. Die Ordner (www / cgi-bin) mit den Datein per FTP-Programm "Filezilla" direkt in das root Verzeichnis geladen.
        6. Rechte laut Anleitung vergeben, mehrfach überprüft!
        7. Datei "Settings.dat" mit dem Notepad++ Editor geöffnet:
        API Key eingetragen, Wetterstation eingetragen und folgende Variablen verändert:

        ------------------------------------------------------------------------------------------------------------------------------------------

        # Webpath were to reach LoxoneWeather HTML
        # Files
        #
        $webpath = "/www/loxoneweather";

        #
        # We automatically create a cached version of the weather
        # webpage. This will reduce loading time from Loxone App
        # dramatically.
        #
        # 1: Active
        # 0: Deactived
        #
        our $createcached = 1;

        #
        # Give here the URL to fetch and the path to the cached
        # HTML file. Only needed if you activate the cached version
        # above
        #
        our $showurl = "http://loxone-******.atwebpages.com/cgi-bin/show.cgi";
        our $cachedfile = "http://loxone-******.atwebpages.com/www/loxoneweather/cachedweather.html";

        #
        # Template Folder
        #
        our $templatedir = "http://loxone-******.atwebpages.com/cgi-bin/templates";

        #
        # Database Folder
        #
        our $datadir = "http://loxone-******.atwebpages.com/cgi-bin/data";

        #
        # Current Obervation Database


        ------------------------------------------------------------------------------------------------------------------------------------------

        8. Dann die Settings.dat hochgeladen und ersetzt.
        9. fetch.cgi ausgeführt mit Passwort. Dann bekomme ich einen Download. Wenn ich die Datei öffne steht da: fetch@1
        get.cgi ausgeführt: weiße Seite (Keine Fehlermedlung)
        show.cgi ausgeführt: INTERNAL SERVER ERROR
        In den Datenbanken wurde nicht geschrieben (0kB)


        Ich habe alles doppelt und dreifach ausprobiert, erneut hochgeladen,... KEIN ERFOLG!
        Ich habe wirklich keine Ahnung von PERL / CGI, möchte aber gerne diesen Service nutzen. Ich hoffe auf eure Mithilfe.


        VG
        Zuletzt geändert von Gast; 05.08.2016, 08:22.

        Kommentar

        • Prof.Mobilux
          Supermoderator
          • 25.08.2015
          • 4604

          #95
          Hi,

          Du benötigst von Deinem Hoster noch die vollständige Pfadangabe zu Deinem Webspace (also auf einem Windowsrechner analog C:\Der\Pfad\zu\den\Dateien). In der Settings.dat musst Du überall unter "Folder", wo Du jetzt Internetadressen eingetragen hast, den kompltten Pfad eintragen.
          🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


          LoxBerry - Beyond the Limits

          Kommentar

          • Gast

            #96
            Danke für die schnelle Rückmeldung, aber was meinst du damit genau?
            So sieht das Dateisystem auf dem FTP / über den Dateimanager aus:

            siehe Anlage

            Habe das Script jetzt wie folgt abgeändert:

            $webpath = "/loxoneweather";

            #
            # We automatically create a cached version of the weather
            # webpage. This will reduce loading time from Loxone App
            # dramatically.
            #
            # 1: Active
            # 0: Deactived
            #
            our $createcached = 1;

            #
            # Give here the URL to fetch and the path to the cached
            # HTML file. Only needed if you activate the cached version
            # above
            #
            our $showurl = "loxone-*****.atwebpages.com/cgi-bin/show.cgi";
            our $cachedfile = "/home/www/www/loxoneweather/cachedweather.html";

            #
            # Template Folder
            #
            our $templatedir = "/home/www/loxone-*****.atwebpages.com/cgi-bin/templates";

            #
            # Database Folder
            #
            our $datadir = "/home/www/loxone-*****.atwebpages.com/cgi-bin/data";

            #
            # Current Obervation Database
            #
            our $currentdb = "current.dat";

            #
            # Daily Forecast Database
            #
            our $dailyforecastdb = "dailyforecast.dat";

            #
            # Hourly Forecast Database
            #
            our $hourlyforecastdb = "hourlyforecast.dat";

            #
            # Send weather data by UDP to Miniserver? Only needed if you
            # would like to use a Virtual UDP Input
            # 1: activated
            # 0: deactivated
            #
            our $sendbyudp = 0;


            Wenn ich jetzt "get.cgi" aufrufe, dann kommt folgende Auflistung:
            cur_date@-3600 cur_day@31 cur_month@12 cur_year@2008 cur_hour@23 cur_min@0 cur_loc_lat@ cur_loc_long@ cur_loc_el@ cur_tt@ cur_tt_fl@ cur_hu@ cur_w_dir@ cur_w_sp@ cur_w_gu@ cur_w_ch@ cur_pr@ cur_dp@ cur_vis@ cur_sr@ cur_hi@ cur_uvi@ cur_prec_today@ cur_prec_1hr@ cur_we_code@ cur_moon_p@ cur_moon_a@ cur_sun_r@-86400 cur_sun_s@-86400 show.cgi geht jedoch immer noch nicht!
            Zuletzt geändert von Gast; 05.08.2016, 11:27.

            Kommentar

            • Prof.Mobilux
              Supermoderator
              • 25.08.2015
              • 4604

              #97
              Hi,

              Du brauchst den kompletten Pfad - den siehst Du im FTP-Programm nicht. Beispiel:

              Auf der "Festplatte" Deines Hosters liegt dein Webspace unter folgendem Pfad:

              Code:
              /home/pfad/zu/kundendateien/untervezreichnis/kunden/CARLOW
              Wenn Du Dich nun mit dem FTP-Programm verbindest, dann siehst Du nur:

              Code:
              /CARLOW
              Wenn die Skripte aber Dateien schreiben und lesen sollen, brauchen sie den gesamten Pfad, nicht nur den Pfad, der Dir im FTP-Programm angezeigt wird. Ansonsten finden die Skripte die Dateien nicht.

              Den kompletten Pfad kannst Du von Deinen Hoster erfragen (manchmal steht das im Kundenbreich) oder Du legst eine Datei "printenv.cgi" mit folgendem Inhalt an:

              Code:
              #!/usr/bin/perl
              print "Content-type:text/html\n\n";
              print <<EndOfHTML;
              html>
              <head>
              <title>Print Environment</title>
              </head>
              <body>
              EndOfHTML
              
              foreach $key (sort(keys %ENV)) {
                  print "$key = $ENV{$key}<br>\n";
              }  
              print "</body></html>";
              Die Datei hochladen, ausführbar machen (im FTP-Programm) und dann mit dem Browser aufrufen. Den Output dann mal per Copy and Paste hier posten.
              Zuletzt geändert von Prof.Mobilux; 05.08.2016, 12:32.
              🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


              LoxBerry - Beyond the Limits

              Kommentar

              • Gast

                #98
                html> CONTEXT_DOCUMENT_ROOT = /home/domains/loxone-*****.atwebpages.com
                CONTEXT_PREFIX =
                DOCUMENT_ROOT = /home/www/loxone-*****.atwebpages.com/
                GATEWAY_INTERFACE = CGI/1.1
                HTTP_ACCEPT = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
                HTTP_ACCEPT_ENCODING =
                HTTP_ACCEPT_LANGUAGE = de,en-US;q=0.7,en;q=0.3
                HTTP_CONNECTION = keep-alive
                HTTP_HOST = loxone-*****.atwebpages.com
                HTTP_UPGRADE_INSECURE_REQUESTS = 1
                HTTP_USER_AGENT = Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0
                PATH = /usr/local/bin:/usr/bin:/bin
                QUERY_STRING =
                REMOTE_ADDR = 217.7.208.187
                REMOTE_PORT = 62006
                REQUEST_METHOD = GET
                REQUEST_SCHEME = http
                REQUEST_URI = /printenv.cgi
                SCRIPT_FILENAME = /home/www/loxone-*****.atwebpages.com/printenv.cgi
                SCRIPT_NAME = /printenv.cgi
                SCRIPT_URI = http://loxone-*****.atwebpages.com/printenv.cgi
                SCRIPT_URL = /printenv.cgi
                SERVER_ADDR = 83.125.22.219
                SERVER_ADMIN = [no address given]
                SERVER_NAME = loxone-*****.atwebpages.com
                SERVER_PORT = 80
                SERVER_PROTOCOL = HTTP/1.1
                SERVER_SIGNATURE =
                SERVER_SOFTWARE = Apache
                UNIQUE_ID = V6RttlN9FtoAADnQpEkAAAA2

                Kommentar

                • Gast

                  #99
                  ... Und kann mir jemand sagen, was ich falsch gemacht habe?

                  Kommentar

                  • Prof.Mobilux
                    Supermoderator
                    • 25.08.2015
                    • 4604

                    Der komplette Pfad zu Deinen Dateien ist

                    /home/www/loxone-*****.atwebpages.com/

                    Überall, wo Du den Datei-Ordner angeben musst (also die Variablen unter Folder, die mit "dir" enden), musst Du diesen anstelle der Webadresse verwenden (gegebenenfalls Unterordner mit anhängen)
                    🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


                    LoxBerry - Beyond the Limits

                    Kommentar

                    • Blaubart
                      LoxBus Spammer
                      • 25.10.2015
                      • 226

                      Hallo,

                      ich möchte den Wetterdienst auf meinem Raspberry 3 installieren. Apache läuft und Perl ist ebenfalls installiert. Wenn ich die Adresse: Rasp-IP/cgi-bin/get.cgi im Browser eingebe, kommt immer die Meldung "Not Found The requested URL /cgi-bin/get.cgi was not found on this server." Gehe ich per Konsole in das Verzeichnis /usr/lib/cgi-bin und gebe dort den Befehl "sudo ./get.cgi -v" ein, werden Daten ausgegeben. Perl scheint also grundsätzlich zu laufen. Die Rechte habe ich alle schon zweimal kontrolliert, die stimmen. Perl ist auch unter /usr/bin/perl installiert. Hat jemand eine Idee, was an meiner Installation fehlen könnte?

                      Danke
                      Dirk

                      Update: Fehler gefunden, CGI war noch nicht enabled!
                      Zuletzt geändert von Blaubart; 04.09.2016, 22:19.

                      Kommentar

                      • Blaubart
                        LoxBus Spammer
                        • 25.10.2015
                        • 226

                        Hab ein neues Problem: Ich habe das abholen der Daten mit fetch.cgi direkt im Webbrowser probiert. Bei Wunderground sehe ich auch bei "Calls (total per day)", dass eine Aktivität erfolgt war. Im Browser erhalte ich als Bestätigung „fetch@1“. Nur in der current.dat wird nichts eingetragen. Rechte sind auf 666 gesetzt.

                        Update: Auch das Problem ließ sich nach einigem Suchen lösen. Falsche Pfad für die Variable our $datadir in der Settings.dat
                        Zuletzt geändert von Blaubart; 05.09.2016, 15:22.

                        Kommentar

                        • Blaubart
                          LoxBus Spammer
                          • 25.10.2015
                          • 226

                          Hallo,

                          nun läuft bei mir alles. Vielen Dank an Prof.Mobilux für die tolle Arbeit und deine vielen Hilfestellungen bei allen, bei denen es nicht auf Anhieb klappt!!

                          Ich habe nur noch das gleiche kleine Problem mit den Umlauten wie oRsOn74. Mein Ortsname hat ein ü, welches als ü dargestellt wird. Der Befehl "file current.dat" ergibt "current.dat: UTF-8 Unicode text". Also scheinbar alles richtig, aber der Ortsname wird falsch dargestellt. Hat hier vielleicht noch jemand eine Idee?

                          Und noch eine Frage zum Verständnis: Ich rufe alle 3 Minuten die aktuellen Wetterdaten per Cronjob mit dem Script cron.sh ab. Da klappt auch wunderbar. Bei Wunderground wird unter Calls (total per day) aber angezeigt, dass ich lediglich 4-5mal am Tag Daten abrufe. Wie kann das denn sein?

                          Gruß
                          Dirk
                          Zuletzt geändert von Blaubart; 07.09.2016, 07:24.

                          Kommentar

                          • Christian Fenzl
                            Lebende Foren Legende
                            • 31.08.2015
                            • 11204

                            Prof.Mobilux Hi Michael,
                            mein Plugin wäre aus meiner Sicht jetzt soweit, dass man einen Public Test machen könnte.
                            Könntest du im Repo vorher noch einen kritischen Blick vor allem auf die Root-Aktionen (Daemon, uninstall) werfen, und ggf. eine Testinstallation fahren.
                            Dank dir und LG
                            Christian
                            Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                            Kommentar


                            • cRieder
                              cRieder kommentierte
                              Kommentar bearbeiten
                              Richtiger Threat ?

                            • Christian Fenzl
                              Christian Fenzl kommentierte
                              Kommentar bearbeiten
                              Ups! Sorry

                            • Prof.Mobilux
                              Prof.Mobilux kommentierte
                              Kommentar bearbeiten
                              Ich schaue es mir trotzdem an :-) ich poste die Antwort dann im anderen Thread.
                          • Matze1911
                            Smart Home'r
                            • 12.09.2016
                            • 54

                            Hallo,
                            ich bin grad dabei den Wetterdienst auf einem Raspi 2 mit aktuellem Raspian zu installieren. Beim Abruf der Daten mit fetch.cgi kommt die Meldung "Password not correct. Go away!".
                            Welches Passwort ist damit gemeint?
                            Gruß
                            Matthias

                            Kommentar

                            Lädt...