Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin darksky.net für Wetterdaten - wird Ende 2021 Abgeschaltet

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

    Generell (für alle Multi-Instance fähigen Plugins) gilt: Eine instance muss man in der plugin.yaml nur angeben, wenn man mehrere Instanzen des Plugins nutzt. Dann muss bei den Items auch das instance Attribut angeben, weil sonst SmartHomeNG nicht wissen kann, auf welche Plugin Instanz sich das Item bezieht.

    Kurz gesagt: instance in den Items muss immer instance in der etc/plugin.yaml entsprechen.
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    Kommentar


      Zitat von Msinn Beitrag anzeigen
      Generell (für alle Multi-Instance fähigen Plugins) gilt: Eine instance muss man in der plugin.yaml nur angeben, wenn man mehrere Instanzen des Plugins nutzt. Dann muss bei den Items auch das instance Attribut angeben, weil sonst SmartHomeNG nicht wissen kann, auf welche Plugin Instanz sich das Item bezieht.
      Danke noch einmal für die ausführliche Beschreibung. In dem Moment, wo ich die Nachricht davor geschrieben hatte, war es schon einleuchtend, dass das für alle Multiinstance-Plugins so sein muss. Nun kann ich mir überlegen, wo ich OpenWeatherMap mit einem anderen Standort noch einsetzen kann.

      Kommentar


        Wenn Du z.B. zuhause schon Wetterdaten von Deinem Wochenend-Chalet oder Deinem Urlaubsziel sehen möchtest...
        Viele Grüße
        Martin

        There is no cloud. It's only someone else's computer.

        Kommentar


          Zitat von Msinn Beitrag anzeigen
          Deinem Wochenend-Chalet
          Ja ich arbeite dran.

          Kommentar


            Ich habe ein neues Wetter Plugin gepusht. piratewthr ist (fast) ein Plugin Replacement für das darksky Plugin. Das API der Website ist quasi identisch.

            Das Plugin ist noch im Entwicklungsstadium. Ich werde z.B. das Webinterface noch mit einer sortierbaren Tabelle versehen.

            webif_tab1.jpg

            Man muss zum Umstieg von darksky nur folgendes tun:
            • Auf https://pirateweather.net/ einen Account einrichten. Beim Einrichten wird automatisch ein API Key generiert. Der Key ist unter My Dashboard zu finden. Er funtioniert so allerdings noch nicht. Auf der Seite APIs muss man noch oben neben dem Logo auf den Subscribe Button klicken.
            • Das Plugin analog zum darksky Plugin konfigurieren
            • Ein Item einrichten, welches auf der struct piratewthr.weather basiert (analog zur struct darksky.weather beim darksky Plugin)
            aschwith Du kannst ja mal testen, ob das so als darksky Ersatz für Dich funktioniert.

            Viele Grüße
            Martin

            There is no cloud. It's only someone else's computer.

            Kommentar


              Interessant ist, dass wirklich jeder Wetterdienst sein eigenes Wetter hat. Für die "Current" Informationen habe ich mal Openwaethermap, Pirate Weather und Darksky visualisiert.
              Interessant ist die Sichtwweite bei Pirate Weather. Die 16 Meter glaube ich nicht so ganz. Das ist wohl noch ein Bug im API des Dienstes. Die gut 16 Kilometer von Darksky sind das realistischer

              Ansonsten: Openweathermap kennt den Ort und die Windrichtung (N, NO, ...), was das Darksky API nicht vorsieht. Dafür kennt Openweathermap z.B. den Wochentag nicht.

              Capto_Capture 2023-01-24_10-58-46_AM.jpg
              Viele Grüße
              Martin

              There is no cloud. It's only someone else's computer.

              Kommentar


                Zitat von Msinn Beitrag anzeigen
                die Windrichtung (N, NO, ...),
                Das wird soweit ich weiß im Plugin aufgrund der Windrichtung in ° ermittelt.

                Kommentar


                  Heute ist zwar noch nicht der 31. März, aber seit 14:40 Uhr bekomme ich regelmäßig Fehler vom darksky Plugin gemeldet. Nur der http Fehler schwankt zwischen 502, 503 und 504. Ich vermute, das war es nun mit dem Wetter Service und Apple hat den Stecker gezogen...



                  Aber ich habe schon seit einiger Zeit parallel das piratewthr Plugin als Ersatz laufen.
                  Viele Grüße
                  Martin

                  There is no cloud. It's only someone else's computer.

                  Kommentar


                    Ja. Dein pirateweather plugin ist 100% iger Ersatz und funktioniert astrein. Migrationsaufwand minimal bzw. keiner

                    Kommentar


                      Hmmm, ich krieg das Pirateweather Plugin nicht zum laufen....

                      Bin (noch) auf der v1.9.2-master unterwegs, habe das "plugins/piratewthr" Verzeichnis aus dem Master rüberkopiert.

                      Meine plugin.yaml:

                      Code:
                      weather_piratewthr:
                          plugin_name: piratewthr
                          key: 1fHw8JTyiA2Yt9vRRY2JY2Yb09Osxxxxxxxxxxxx
                          latitude: '49.54087407'
                          longitude: '8.56224799'
                      - Die Items aus dem struct werden im Items-Baum zwar gezeigt, aber nicht gefüllt.
                      - Plugin wird nicht in der SHNG Web Pluginliste aufgeführt.
                      - Der Key funktioniert bei direkter Verwendung mit https://pirateweather.net/ (JSON wird im Browser angezeigt)
                      - Keine Fehlermeldung im SHNG Log.

                      Woran könnte es liegen?

                      Kommentar



                        Schau Dir mal die plugin.yaml an: Dort steht drin
                        Code:
                        sh_minversion: 1.9.3.4 # minimum shNG version to use this plugin
                        Daher startet das Plugin auch nicht.


                        Kommentar


                          Danke, das erklärts.
                          Werde mal bis zur nächsten Bugfix-Version von SHNG warten und dann mein System updaten....

                          Kommentar


                            Die Meldung, dass das Plugin nicht startet, weil Dein SmartHomeNG zu alt ist, müsstest Du auch in Deinem Log finden.
                            Viele Grüße
                            Martin

                            There is no cloud. It's only someone else's computer.

                            Kommentar


                              Hallo,

                              bei mir stellte sich der Wechsel zum neuen piratewthr Plugin doch leider als ein größeres Unterfangen heraus, da das neue Plugin erst in einer neuen smarthome Version (1.9.4) verfügbar ist, die aber wegen eines aktuelleren Onewire Plugins auch eine neuere Python Version (3.8) benötigt. Für den Wechsel der Python Version musste ich letztes Mal dann auch das OS meines BeagleBone Black auf die neuere Version heben. Das wollte ich momentan vermeiden.

                              Es gibt aber einen einfachen Workaround, da für die Verwendung von piratewthr eigentlich nur die URL umgebogen werden muss. Ich habe das einfach pragmatisch im darksky Plugin gemacht.

                              Hier als diff meine Änderungen in .../plugins/darksky/__init__.py:

                              Code:
                              41c41                                                                                                                                                          
                              <     _base_forecast_url = 'https://api.pirateweather.net/forecast/%s/%s,%s'                                              
                              >     _base_forecast_url = 'https://api.darksky.net/forecast/%s/%s,%s'
                              In .../etc/plugins.yaml musste ich noch den Key für den API-Zugriff anpassen.

                              Das war's. Bei mir läuft das stabil.

                              Klar, nicht ganz schön und ich muss aufpassen, bis ich dann doch mal die ganzen Aktualisierungen gemacht habe, um wieder dem master branch zu folgen.

                              Vielleicht hilft es jemandem, der nicht so einfach auf die neueste smarthome Version umsteigen kann.

                              Kommentar


                                Hallo,

                                nach dem Update meines BeagleBone Black auf Debian Bullseye bin ich auch auf SH 1.9.5 und damit das piratewthr Plugin umgestiegen.
                                Das Plugin scheint ds_matchstring nicht mehr zu verarbeiten. Beim darsky-Plugin und dem im letzten Post beschrieben Patch hat das noch funktioniert.

                                plugin.yml:

                                Code:
                                weather_piratewthr:
                                    plugin_name: piratewthr
                                    key: <mykey>
                                    latitude: '50.36'
                                    longitude: '8.75'
                                    cycle: 900
                                    units: si
                                item-Definition
                                Code:
                                piratewthr_wetter:
                                
                                    temperaturehigh:
                                        type: num
                                        ds_matchstring: daily/day0/temperatureMax
                                        
                                    temperaturelow:
                                        type: num
                                        ds_matchstring: daily/day0/temperatureMin
                                    
                                    precipIntensity:
                                        type: num
                                        ds_matchstring: daily/day0/precipIntensity
                                
                                    precipProbability:
                                        type: num
                                        ds_matchstring: daily/day0/precipProbability
                                
                                    precipType:
                                        type: str
                                        ds_matchstring: daily/day0/precipType
                                    
                                    wird_warm:
                                        type: bool
                                        eval: sh...temperaturehigh() > 25
                                        #        eval_trigger: ..temperaturehigh
                                        cache: yes
                                        crontab:
                                            - 00 06 * * = 1
                                            - 15 20 * * = 1
                                ​

                                Piratewthr liefert Daten im JSON zurück, aber die Einträge werden durch ds_matchstring nicht geparsed.

                                image.png
                                Ich habe außer dem Key nur 'darksky' durch 'piratewthr' ersetzt... sonst nichts geändert.
                                Irgendwelche Ideen?

                                Kommentar

                                Lädt...
                                X