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.
    • icebear
      icebear @sigi234 last edited by

      @sigi234

      darksky_wettericon.zip

      T Armilar 2 Replies Last reply Reply Quote 1
      • T
        ticaki Developer @icebear last edited by ticaki

        @icebear

        Der ist noch nicht schick 🙂 das kommt im laufe der Zeit - siehe ersten Beitrag. Icons können wir da auch noch machen - kannst mir das gerne in einem issue posten, dann lade ich die (im iobroker) hoch (wenn man das zur verfügungstellen darf)

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

          Hab mal hourly bissle schicker gemacht und time wird jetzt in ms umgerechnet und damit vom Admin als Datum dargestellt.

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

            Hab ihn heute noch schick gemacht.

            • States sollten jetzt alle ordentlich aussehen.
            • Stundenanzahl ist begrenzbar
            • Zeitdaten sind jetzt alle iobroker konform
            • Windrichtung gibts als Kurztext

            Fehlt noch der Einbau von Imperial, CA und UK - bedeutet aktuell bleibt °C in common.unit stehen auch wenn man auf imperial umstellt. Die Werte sind in dem Fall aber Fahrenheit.

            EDIT: das ist jetzt auch drin

            EDIT2:

            • Aufnahme in latest repo beantragt
            • Platzhaltericon ersetzt
            1 Reply Last reply Reply Quote 1
            • T
              ticaki Developer last edited by

              Achtung

              Ich musste den API Token absichern/verschlüsselt speichern wegen Warnungen vom Checker. Heißt ihr müsst im Admin den Token neu eingeben.

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

                v0.1.3

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

                sigi234 1 Reply Last reply Reply Quote 1
                • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            873
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            41
                                            821
                                            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