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

      @icebear sagte in Test Adapter pirate-weather:

      ich würd dann gerne die originalen von DarkSky nehmen, die hab ich schon unter VIS-2.0 liegen

      Wo gibt es diese?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            858
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            40
                                            675
                                            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