Ankündigung

Einklappen
Keine Ankündigung bisher.

Openweathermap Wetter Pearl-Script

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

    Openweathermap Wetter Pearl-Script

    Ich habe das DarkSky Script, https://knx-user-forum.de/forum/%C3%...-wetter-script auf Openweathermap umgeschrieben https://openweathermap.org/.


    Einige Erläuterungen:
    • Man muss sich eine API besorgen (kostenlos bis zu 1000 Abfragen pro Tag.) und eine Zahlungsart hinterlegen.
    • Die Pfade, Dateien und Variablen habe ich von darksky auf openweathermap umbenannt.
    • Den Breiten- und Längengrad von eurem Wohnsitz könnt ihr mit Goggle ermitteln.
    • Das Script und die openweathermap_weather.css werden nach /var/www/openweathermap kopiert.
    • Als Request bekommt man ein json-file zurück, was auch nicht gespeichert wird.
    • Dieses Json-File wird geparst und die entsprechenden Infos dann über die html-Seite openweathermap_weather.html ausgegeben.
    • Bei mir läuft das ganze dann als iframe in der CV
    Über einen cronjob wird das Script bei mir regelmäßig aktualisiert.


    Ich habe mich für die One Call API 3.0 entschieden, 1000 Aufrufe am Tag sind kostenlos, standartmäßig sind 2000 Aufrufe am Tag vor eingestellt, die kann man aber auch auf 1000 Aufrufe in den Einstellungen begrenzen, somit ist sicher gestellt dass man nicht das kostenlose Limit überschreitet.

    Die icons werden in einen separaten Ordner symbole unter /var/www gepackt; die Hintergründe in den Ordner symbolebg unter /var/www.
    Die entsprechenden Symbole sind auf die "Wetterzustände", wie Openweathermap sie liefert entsprechend zu benennen, ebenso die Hintergründe.

    Wer vorher DarkSky benutzte muss seine Wettersymbole entsprechen umbenennen, eine Liste der entsprechenden Wetter-Id's ist bei Openweathermap vorhanden.

    Das .txt muss natürlich entfernt werden bei den Dateien.

    Bei bei Unklarheiten einfach melden, viel Spaß damit.​​

    Angehängte Dateien
    Zuletzt geändert von Michixx; 15.04.2023, 16:07.

    #2
    Hallo Michixx,

    vielen Dank für die Bereitstellung. Ich habe in der Zeile 67 des Scripts die CSS Variable von DarkSky auf openweathermap angepasst ($openweathermap_weather_css​). Meine Koordinaten sowie den
    32-stelligen API-Key von openweathermap hinterlegt. Nach ausführen des Script auf den RPi erhalte ich noch folgenden Fehler:

    perl openweathermap.pl
    malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at openweathermap.pl line 40.

    ​woran könnte das liegen?

    VG Rene

    Kommentar


      #3
      Hallo Michixx,

      wer lesen kann ist klar im Vorteil. Ich habe meine Subscription auf die One Call API 3.0 geändert. Nun erhalte ich aber folgenden Fehler:

      print() on closed filehandle HTML at openweathermap.pl line 113.

      Woran könnte das liegen?

      VG Rene​

      Kommentar


        #4
        Moin Rene,

        den Fehler mit dem darkskyweather.css habe ich auf openweathermap im Script angepasst.
        Und bei deinem Fehler vermute ich dass da fehlende schreibrechte vorhanden sind.

        Gruß
        Michi

        Kommentar


          #5
          Guten Morgen,

          das mit den Schreibrechten wundert mich etwas. Ich habe das Script testweise in das Home Verzeichnis kopiert und das Script ausgeführt einmal als normaler User, in meinen Fall openhabian und als root mit sudo vor dem perl Aufruf. Beide Varianten enden mit den schon bekannten Problem:

          1.)
          $ perl openweathermap.pl
          print() on closed filehandle HTML at openweathermap.pl line 113.

          2.)
          $ sudo perl openweathermap.pl
          print() on closed filehandle HTML at openweathermap.pl line 113.​

          VG René

          Kommentar


            #6
            Hallo,

            du hast recht ist die Berechtigung, sieht meiner Meinung nach im www root Verzeichnis korrekt aus ist es aber anscheinend nicht. Ich teste mal weiter. Vielen Dank für die Unterstützung.

            VG René

            Kommentar


              #7
              Ich habe da unten im Code ja auch nichts geändert, das habe ich so wie bei DarkSky gelassen.
              Sonnst musst du mal nach dem Fehler Googlen, den Fehler kann man sicher auch abfangen mit dem entsprechenden Code, aber das musst du dann selber machen.

              Gruß
              Michi

              Kommentar


                #8
                Hallo,

                Das letzte Problem lag nicht an der Berechtigung, diese hatte ich korrekt gesetzt sondern am angegebenen Pfad. Man wird mit der Zeit betriebsblind. Im Script war " var/www/openweathermap/" angegeben, mein root Pfad ist aber " /var/www/html/openweathermap/" somit Problem gelöst.

                Nochmals vielen, vielen Dank und noch ein schönes Wochenende.

                VG René​

                Kommentar


                  #9
                  Zitat von Michixx Beitrag anzeigen
                  Die icons werden in einen separaten Ordner symbole unter /var/www gepackt; die Hintergründe in den Ordner symbolebg unter /var/www.
                  Die entsprechenden Symbole sind auf die "Wetterzustände", wie Openweathermap sie liefert entsprechend zu benennen, ebenso die Hintergründe.
                  Ich würde das Script gern nutzen, aber ohne die Icons & die Hintergründe sieht es etwas "altbacken" aus ;-)
                  Könnte mir jemand die Files ​zur Verfügung stellen?

                  Danke,
                  Micha

                  Kommentar

                  Lädt...
                  X