Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter pirate-weather

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test Adapter pirate-weather

    This topic has been deleted. Only users with topic management privileges can see it.
    • Armilar
      Armilar Most Active Forum Testing @icebear last edited by Armilar

      @icebear

      Ist interessant...

      siehe Original API von Darksky (Bereits abgeschaltet)

      b75166ed-966d-4e86-92d7-5fe6dedca45b-image.png

      und

      siehe Original API von Pirate-Weather

      e33657cc-ed76-47a4-9ac1-f8ea48bc7710-image.png

      Es gab niemals eine numerische Zuordnung oder Bereitstellung eines Icon-Sets seitens Darksky (Und das wäre mir vor ein paar Tagen auch aufgefallen bei der Einbindung von Pirate-Weather ins NSPanel)...

      Keine Ahnung wo das Icon-Set herkommt oder wer es erstellt hat, aber es wäre deutlich einfacher, die Icons an die API-Bezeichner anzupassen (also Bilder alphanumerisch zu benennen, anstatt im Adapter numerisch zu machen), als umgekehrt... 😊

      Armilar 1 Reply Last reply Reply Quote 0
      • Armilar
        Armilar Most Active Forum Testing @Armilar last edited by Armilar

        Das wäre übrigens die Übersetzung von Pirate-Weather-Icons in Material Design Icons, falls es jemanden hilft:

        function GetPirateWeatherIcon (icon: string): string {
            try {
                switch (icon) {
        
                    case 'cloudy':
                    case 'mostly-cloudy-day':
                    case 'mostly-cloudy-night':
                        return 'weather-cloudy';
        
                    case 'fog':
                    case 'mist':
                    case 'smoke':
                        return 'weather-fog';
        
                    case 'hail':
                        return 'weather-hail';
        
                    case 'haze':
                        return 'weather-hazy'
        
                    case 'thunderstorm':
                        return 'weather-lightning';
        
                    case 'possible-precipitation-day':
                    case 'possible-precipitation-night':
                        return 'weather-lightning-rainy';
        
                    case 'clear-night':
                    case 'mostly-clear-night':
                        return 'weather-night';
        
                    case 'partly-cloudy-night':
                        return 'weather-night-partly-cloudy';
        
                    case 'partly-cloudy-day':
                        return 'weather-partly-cloudy';
        
                    case 'possible-rain-day':
                    case 'possible-rain-night':
                        return 'weather-partly-rainy';
        
                    case 'possible-snow-night':
                    case 'possible-snow-day':
                        return 'weather-partly-snowy';
        
                    case 'possible-sleet-day':
                    case 'possible-sleet-night':
                        return 'weather-partly-snowy-rainy';
        
                    case 'rain':
                    case 'heavy-rain':
                    case 'precipitation':
                        return 'weather-pouring';
        
                    case 'drizzle':
                    case 'light-rain':
                        return 'weather-rainy';
        
                    case 'light-snow':
                    case 'snow':
                        return 'weather-snowy';
        
                    case 'heavy-sleet':
                    case 'heavy-snow':
                    case 'flurries':
                        return 'weather-snowy-heavy';
        
                    case 'sleet':
                    case 'light-sleet':
                    case 'very-light-sleet':
                        return 'weather-snowy-rainy';
        
                    case 'clear-day':
                    case 'mostly-clear-day':
                        return 'weather-sunny';
        
                    case 'dangerous-wind':
                        return 'weather-tornado';
        
                    case 'wind':
                        return 'weather-windy';
        
                    case 'breezy':
                        return 'weather-windy-variant';
        
                    default:
                        return 'alert-circle-outline';
                }
            } catch (err: any) {
                log('error at function GetPirateWeatherIcon: ' + err.message, 'warn');
            }
            return '';
        }
        
        1 Reply Last reply Reply Quote 0
        • sigi234
          sigi234 Forum Testing Most Active @ticaki last edited by

          @ticaki sagte in Test Adapter pirate-weather:

          v0.1.3

          BREAKING: cloudCover, precipProbability, humidity and moonPhase are now percentage values

          instance system.adapter.pirate-weather.0 in version "0.1.3" (non-npm: ticaki/ioBroker.pirate-weather#95e53a4f7fea022c9735b08b89e089b0c8381a8a) started with pid 3232
          
          host.SmartHome
          2025-08-13 04:39:55.406	info	instance system.adapter.web.1 in version "7.0.9" started with pid 7656
          
          host.SmartHome
          2025-08-13 04:39:55.389	info	instance system.adapter.web.0 in version "7.0.9" started with pid 13580
          
          pirate-weather.0
          2025-08-13 04:39:40.854	error	Error fetching data from Pirate Weather API: {"message":"Request failed with status code 404","name":"AxiosError","stack":"AxiosError: Request failed with status code 404\n at settle (C:\\SmartHome\\node_modules\\iobroker.pirate-weather\\node_modules\\axios\\lib\\core\\settle.js:19:12)\n at Unzip.handleStreamEnd (C:\\SmartHome\\node_modules\\iobroker.pirate-weather\\node_modules\\axios\\lib\\adapters\\http.js:599:11)\n at Unzip.emit (node:events:530:35)\n at endReadableNT (node:internal/streams/readable:1698:12)\n at processTicksAndRejections (node:internal/process/task_queues:90:21)\n at Axios.request (C:\\SmartHome\\node_modules\\iobroker.pirate-weather\\node_modules\\axios\\lib\\core\\Axios.js:45:41)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at PirateWeather.getData (C:\\SmartHome\\node_modules\\iobroker.pirate-weather\\src\\main.ts:88:28)\n at PirateWeather.getPirateWeatherLoop (C:\\SmartHome\\node_modules\\iobroker.pirate-weather\\src\\main.ts:70:13)\n at PirateWeather.onReady (C:\\SmartHome\\node_modules\\iobroker.pirate-weather\\src\\main.ts:62:9)","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"adapter":["xhr","http","fetch"],"transformRequest":[null],"transformResponse":[null],"timeout":10000,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json, text/plain, */*","User-Agent":"axios/1.11.0","Accept-Encoding":"gzip, compress, deflate, br"},"method":"get","url":"https://api.pirateweather.net/forecastxxxxxxxxxxxxxxxxxxxxxxxxxx?units=si&icon=pirate","allowAbsoluteUrls":true},"code":"ERR_BAD_REQUEST","status":404}
          
          T 1 Reply Last reply Reply Quote 0
          • T
            ticaki Developer @sigi234 last edited by

            @sigi234 sagte in Test Adapter pirate-weather:

            45:41)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at PirateWeather.getData (C:\SmartHome\node_modules\iobroker.pirate-weather\src\main.ts:88:28)\n at PirateWeather.getPirateWeatherLoop (C:\SmartHome\node_modules\iobroker.pirate-weather\src\main.ts:70:13)\n at PirateWeather.onReady (C:\SmartHome\node_modu

            sind die xxxx wirklich das token oder hast du übersehen das man ab 0.1.2 das Token einmalig neu eingeben muß, weils jetzt verschlüsselt ist?

            sigi234 1 Reply Last reply Reply Quote 0
            • sigi234
              sigi234 Forum Testing Most Active @ticaki last edited by sigi234

              @ticaki sagte in Test Adapter pirate-weather:

              @sigi234 sagte in Test Adapter pirate-weather:

              45:41)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at PirateWeather.getData (C:\SmartHome\node_modules\iobroker.pirate-weather\src\main.ts:88:28)\n at PirateWeather.getPirateWeatherLoop (C:\SmartHome\node_modules\iobroker.pirate-weather\src\main.ts:70:13)\n at PirateWeather.onReady (C:\SmartHome\node_modu

              sind die xxxx wirklich das token oder hast du übersehen das man ab 0.1.2 das Token einmalig neu eingeben muß, weils jetzt verschlüsselt ist?

              Nein, hab ich ersetzt, Token wurde neu eingegeben.
              Ev.wegen Node 22 ?

              Edit:

              Geht wieder, API Key noch mal einggeben.

              T 1 Reply Last reply Reply Quote 1
              • T
                ticaki Developer @sigi234 last edited by

                @sigi234
                Super! Der Adapter wird mit nodejs22 und bookworm bei mir produktiv genutzt und trixie entwickelt

                1 Reply Last reply Reply Quote 1
                • Codierknecht
                  Codierknecht Developer Most Active last edited by

                  @ticaki

                  Prinzipiell funzt der Adapter super - vielen Dank dafür!

                  Ab und an läuft er aber auf einen Timeout

                  Error fetching data from Pirate Weather API: {"message":"timeout of 10000ms exceeded","name":"AxiosError","stack":"AxiosError: timeout of 10000ms exceeded
                  

                  Wäre evtl. hilfreich, wenn man den Timeout in den Settings beeinflussen könnte 😉

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    ticaki Developer @Codierknecht last edited by ticaki

                    @codierknecht
                    sag mir was du da brauchst - 10 Sekunden heißt für mich - brauch 100 mal länger ist offline. Der ist mit 10 Sekunden schon 3 mal höher als ich maximal erwarten würde - 60 sekunden?

                    Wenn einer scheitert, dann wird nach 1h oder was eingestellt ist wieder versucht. Ich bau da noch ein alle 10 Minuten dinges ein.

                    Codierknecht 1 Reply Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @ticaki last edited by

                      @ticaki

                      Na soooo wichtig ist das nicht. Läuft aktuell auf meiner Testkiste und trat heute lediglich einmal auf.
                      Ich werde das mal weiter beobachten und ggf. auf einer weiteren Kiste installieren.

                      Lass erstmal gut sein. Sollte das dauerhaft auftreten, melde ich mich wieder.

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer @Codierknecht last edited by ticaki

                        @codierknecht
                        Ne, das war schon ein guter Punkt, das ich ausser der Reihe aktualisiere wenns offline ist oder so.

                        Aber zu dem Fehler den du da hast, den fange ich ab und veröffentliche ihn nicht mehr - der kann eigentlich nur kommen wenn was in der Netzwerkverbindung klemmt und da gibts genug das mault - da braucht es nicht noch nen wetter adapter 😄

                        1 Reply Last reply Reply Quote 2
                        • T
                          ticaki Developer last edited by

                          0.1.4 (2025-08-15)

                          • (ticaki) Ignore ECONNABORTED error code
                          • (ticaki) In the event of an error, new connection attempt in 10 minutes
                          • (ticaki) missing % added
                          • (ticaki) Startup log message added.
                          1 Reply Last reply Reply Quote 1
                          • T
                            ticaki Developer last edited by ticaki

                            Mache noch keine neue Version - ist aber auf github.

                            WORK IN PROGRESS

                            • (ticaki) Configuration option to enter an interval in minutes. In the event of an error, no accelerated reconnection is used here.

                            Für Personen die ein Abo abschließen. 5 Minuten ist minimum für einen freien Account - 3 Minuten für 2€ Accounts.
                            Das wird nach dem ersten Stundenwechsel auf die volle Stunde fixiert.
                            Beispiel: Bei 25 Minuten und start um 11:30 Uhr wären die Abfragen
                            11:30 - 11:55 - 12:00 - 12:25 - 12:50 - 13:00

                            Die Zeitpunkt sind genau bis auf einen absichtliche Varianz von + 2 Sekunden (+/- 1,5 Sekunden)

                            EDIT:

                            0.2.0 (2025-08-16)

                            • (ticaki) Configuration option to enter an interval in minutes. In the event of an error, no accelerated reconnection is used here.
                            • (ticaki) Use system language for summaries.
                            1 Reply Last reply Reply Quote 2
                            • R
                              RaBe52 last edited by

                              Adapter installieren und einrichten hat super geklappt. Danke!

                              Besteht Hoffnung, über diesen Adapter auch Globalstrahlungsprognosen zu bekommen?

                              1 Reply Last reply Reply Quote 0
                              • Armilar
                                Armilar Most Active Forum Testing last edited by Armilar

                                @rabe52

                                Das sind die maximal verfügbaren Werte (Datenpunkte) der API. Für Globalstrahlungsprognosen müsste man auf andere API-Anbieter (und damit andere Adapter) zurückgreifen...

                                Allerdings könnte man über den UV-Index (current/hourly) Ableitungen (ggfs. Umberechnungen) anstellen, da dieser in seiner Qualität und im Vergleich zu anderen Adaptern herausragend ist. Gilt auch für andere Werte...

                                siehe:

                                434f2715-b89b-4af2-89aa-fb6807a3e199-image.png

                                R 1 Reply Last reply Reply Quote 0
                                • R
                                  RaBe52 @Armilar last edited by

                                  @armilar
                                  Bisher bekomme ich meine Wetterdaten über Weatherunderground und zwei Stationen bei mir in der Nähe.
                                  Da traue ich aber nur den Ist-Werten, obwohl da auch Prognosen kommen. Da habe ich aber bislang keine Referenz zum Abgleich.

                                  Armilar 1 Reply Last reply Reply Quote 0
                                  • Armilar
                                    Armilar Most Active Forum Testing @RaBe52 last edited by

                                    @rabe52

                                    Ja, im Wunderground habe ich auch meine Wetterstation...

                                    Wenn man den Blick auf die Nachbarstationen hat, kommen einem schon manchmal Zweifel über die Zuverlässigkeit und Datengüte... Je nach verwendeter Hardware... Allein die Ausrichtung der Windfahne scheint da ja eher Zufall zu sein...

                                    Aber zurück zum UV-Index... Das sagt Google dazu:

                                    37b9708a-a242-462c-9e4b-7c9da8fa7782-image.png

                                    Wenn das eine geht, dann sollte die Umrechnung ein Kinderspiel sein...

                                    Habe auch noch andere Werte im Vergleich...
                                    8027b91a-3437-4bcc-9f68-c8ef58086a5f-image.png

                                    Pirate-Weather scheint da eine Art Glättung zu benutzen... Aber bei fast allen Parametern haben die PW-Daten die Nase vorn...

                                    R 1 Reply Last reply Reply Quote 0
                                    • R
                                      RaBe52 @Armilar last edited by

                                      @armilar
                                      Oder auch nicht:
                                      Übersicht mit KI
                                      Die globale Strahlung kann nicht direkt aus dem UV-Index berechnet werden, da der UV-Index nur ein Maß für die hautwirksame Sonnenbrand-Strahlung ist. Die globale Strahlung umfasst jedoch die gesamte Sonnenstrahlung, einschließlich des sichtbaren Lichts, der Infrarotstrahlung und des UV-Anteils. Um die globale Strahlung zu bestimmen, sind spezielle Messgeräte, sogenannte Pyranometer, erforderlich.
                                      Hier ist eine genauere Erklärung:

                                      UV-Index
                                      Der UV-Index ist eine dimensionslose Zahl, die die Intensität der hautwirksamen UV-Strahlung angibt.
                                      Er wird aus der erythemwirksamen Bestrahlungsstärke (W/m²) berechnet, die die Sonnenbrand-Wirkung der UV-Strahlung misst.
                                      Der UV-Index ist ein wichtiger Indikator für den Sonnenschutz, aber er sagt nichts über die gesamte Sonnenstrahlung aus.

                                      Globale Strahlung:
                                      Die globale Strahlung ist die gesamte Sonnenstrahlung, die auf eine bestimmte Fläche trifft.
                                      Sie umfasst den UV-Anteil, das sichtbare Licht und die Infrarotstrahlung.
                                      Um die globale Strahlung zu messen, werden Pyranometer verwendet, die die gesamte Strahlungsleistung in Watt pro Quadratmeter (W/m²) erfassen, laut OTT Blog.

                                      Beziehung zwischen UV-Index und globaler Strahlung:
                                      Der UV-Index ist ein Teil der globalen Strahlung, aber er ist nicht repräsentativ für die gesamte Strahlung.

                                      Eine hohe globale Strahlung bedeutet nicht zwangsläufig einen hohen UV-Index, da die Intensität der UV-Strahlung von verschiedenen Faktoren abhängt, wie z.B. dem Sonnenstand, der Bewölkung und der Ozonschicht.
                                      Um die globale Strahlung zu bestimmen, ist eine separate Messung mit einem Pyranometer erforderlich.

                                      Zusammenfassend lässt sich sagen:
                                      Der UV-Index ist ein nützlicher Indikator für den Sonnenschutz, aber er kann nicht zur Berechnung der globalen Strahlung verwendet werden. Um die globale Strahlung zu bestimmen, ist eine separate Messung mit einem Pyranometer notwendig.

                                      Armilar 1 Reply Last reply Reply Quote 1
                                      • Armilar
                                        Armilar Most Active Forum Testing @RaBe52 last edited by

                                        @rabe52
                                        Ja - ebenso interessant...

                                        Leider kann ein Pyranometer auch keine Prognosen liefern...

                                        So ein Adapter mit "einigermaßen" zuverlässigen Prognosen für Globalstrahlung fehlt noch... Wüsste aber aktuell auch keine API, die das liefert...

                                        R 1 Reply Last reply Reply Quote 0
                                        • R
                                          RaBe52 @Armilar last edited by RaBe52

                                          @armilar
                                          Davon gibt es reichlich für gewerbliche Nutzer, aber ich habe noch keinen kostenfreien Anbieter gefunden.

                                          Eventuell das hier:
                                          https://www.dwd.de/DE/leistungen/fernerkund_globalstrahlung_sis/fernerkund_globalstrahlung_sis.html
                                          Da gibt es zumindest die nächsten 18h. Das würde ja für den jeweiligen Tag schon mal reichen.

                                          T 1 Reply Last reply Reply Quote 1
                                          • T
                                            ticaki Developer @RaBe52 last edited by

                                            @rabe52

                                            Na, @Armilar hat mir schon die nächste Wetter api um die Ohren gehauen für die ein Adapter sinnvoll wäre. Vielleicht gibts da die Werte?!
                                            https://brightsky.dev/

                                            Armilar 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            857
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            41
                                            717
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo