Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [TypeSkript] Wetter.com Forecast/Vorhersage

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    550

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

[TypeSkript] Wetter.com Forecast/Vorhersage

Geplant Angeheftet Gesperrt Verschoben JavaScript
62 Beiträge 8 Kommentatoren 2.1k Aufrufe 14 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • nik82N Offline
    nik82N Offline
    nik82
    Most Active
    schrieb am zuletzt editiert von nik82
    #52

    @schimi
    Vielen Dank, was hast du am Limit genau geändert?
    Bei mir läufts einwandfrei, aber gleich in dem Zuge noch eine Frage:
    Wann wird eigentlich immer aktualisiert? Wir haben jetzt 8:22 Uhr und ich habe immer noch den Vortag drin:

    image.png

    Oder ist das genau wie bei dir der Fall das ich jetzt das Limit erreicht habe:

    image.png


    EDIT: Hat sich erledigt dir Frage, bei mir ist auch das Monatslimit erreicht:

    7625b2d6-bedd-4898-845a-46787ff5bf69-image.png

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      Schimi
      schrieb am zuletzt editiert von
      #53

      Das sieht nach dem Problem wie bei mir aus...

      Das ist das wichtigste aus dem Changelog:

      1.9.3: *

      • Restart-Schutz: Skript-Neustarts lösen keinen API-Call mehr aus, wenn am selben Tag bereits Daten abgerufen wurden (schützt das 100-Calls/Monat Limit bei der Entwicklung).
      • Erweiterter Economy-Mode: Unterscheidung der Trigger-Quellen (morning, afternoon, start).
      • Notlauf-Modus: Fällt das Budget auf einen kritischen Wert, wird nur noch jeden zweiten Tag aktualisiert.

      Wie gut es klappt sehen wir Ende März ;-)

      Dazu kommt, dass die API und die Tage im Datenpunkt angegeben werden und wenn man dieses ändert, das Skript sich sofort aktualisiert und mit den daten weiterarbeitet.

      1 Antwort Letzte Antwort
      1
      • nik82N Offline
        nik82N Offline
        nik82
        Most Active
        schrieb am zuletzt editiert von
        #54

        Habe gerade auf die neue Version umgestellt, jetzt warten wir mal bis März und schauen weiter.
        Aber das Script ist auf jedenfall echt Tip Top!

        1 Antwort Letzte Antwort
        1
        • S Schimi

          Habe mal denn Umgang mit dem Limit optimiert (und dabei etwas weiter gemacht), da ich gestern ins Limit gelaufen bin....

          die neue Version findet sich im ersten Post im "Spoiler"

          Falls sich Bugs eingeschlichen haben, solltet ihr vielleicht die letzte 1.9.2 Version erstmal irgendwo zwischenspeichern ;-)

          Der API-KEY und die anzahl der Tage werden nun auch in Datenpunkten eingegeben...


          Changelog: Wetter.com Forecast API (v1.9.2 ➔ v2.6.1)

          Dieser Bericht dokumentiert die Evolution des Skripts von einem einfachen API-Abruf hin zu einer performanten, typsicheren und ausfallsicheren ioBroker-Infrastruktur-Komponente.

          ⚙️ v2.6.x – Perfektionierung & Usability

          2.6.1 (Hotfix): * Fix: Konfigurations-Datenpunkte (api_key, forecast_days) werden nun mit write: true angelegt.

          Retroaktiver Fix: Ein extendObjectAsync entsperrt automatisch Bestandsdatenpunkte, die in Vorversionen als Read-Only angelegt wurden.

          2.6.0 (Ultra-Performance): * RAM-Cache (ensuredPaths): Eliminiert hunderte synchrone existsObject()-Aufrufe an die JS-Engine. I/O-Overhead beim Struktur-Check sinkt nach dem ersten Lauf auf nahezu null.

          Zero-Latency: Die künstliche Drosselung wcomWait() wurde vollständig entfernt, da das System durch Caching und Batching überlastungsfrei agiert.

          Memory-Management: Timeout-Clearing im HTTP-Request integriert, um Speicherlecks zu verhindern.

          Semantischer Fallback: wind_speed_max fällt auf wind.avg zurück, falls die API sporadisch den Maximalwert weglässt.

          🚀 v2.5.x – Batching & Deadlock-Schutz

          2.5.0:

          State-Write-Batching: Schreibvorgänge (setStateChangedAsync) eines Tages werden in einem internen Puffer gebündelt und per Promise.all simultan abgesetzt.

          Lock-Härtung: Der HTTP-Call ist nun in ein Promise.race mit einem 10-Sekunden-Timeout gekapselt. Verhindert unendliche Blockaden des isFetching-Locks bei fehlerhaften API-Servern.

          Type-Safety: Optionale Verkettung (data.hourly ?? []) schützt vor unvollständigen JSON-Antworten.

          API-Resilienz: Erweiterte isNaN-Prüfung in wcomExtractValue(), um korrupte Strings der API abzufangen.

          ✨ v2.3.x bis v2.4.x – Dynamisierung

          2.4.0 (Dynamische Tage): * FORECAST_DAYS aus dem Code in den Datenpunkt info.forecast_days ausgelagert.

          Auto-Trigger: Das Skript reagiert sofort auf Änderungen dieses Wertes, passt den Abruf an und löscht überschüssige Tagesordner (cleanupObsoleteDays) rekursiv.

          2.3.0 (API-Key Trigger): * Neuer on()-Trigger für info.api_key. Bei Eingabe eines neuen Keys wird sofort ein Test-Abruf (source: 'key_update') erzwungen, der den regulären Restart-Blocker überspringt.

          🛡️ v2.1.x bis v2.2.x – Systemhärtung & Controller-Entlastung

          2.2.0:

          Zeitzonen-Fix: new Date() statt toISOString() behebt falsche Tageswechsel-Berechnungen auf Systemen mit UTC-Offset.

          I/O-Reduktion: Einführung von wcomEnsureState() zur Minimierung von createStateAsync-Spam.

          2.1.0:

          Zero-Churn (Hourly): Das destruktive, rekursive Löschen (deleteObjectAsync) von Stundenwerten wurde durch sauberes Überschreiben abgelöst. Verhindert massive Object-Events und Controller-Spikes.

          Null-Safety: wcomExtractValue() gibt strikt 0 statt null zurück, was Typerrors in Number-States verhindert.

          Koordinaten-Fix: Längen- und Breitengrade von exakt 0 (Äquator/Nullmeridian) werden nicht mehr als false verworfen.

          Native Logs: Das Log-Level debug wird nun korrekt an die ioBroker-Engine durchgereicht.

          🔒 v2.0.x – Security & Architektur-Refactoring

          2.0.1: Standardisierung des Key-Speicherorts auf 0_userdata.0.wetter_com.info.api_key.

          2.0.0: * Security: API-Key aus dem Klartext-Quellcode entfernt.

          Semaphore (isFetching): Verhindert Race-Conditions und Doppel-Abrufe, wenn Timer und manuelle Trigger gleichzeitig feuern.

          Async-HTTP: httpGet wurde in ein asynchrones Promise gekapselt, um Netzwerkfehler im zentralen try/catch sicher fangen zu können.

          Daily-Reset: Fehleranfälliger Mitternachts-Cron für requests_today wurde durch datumsbasierte, asynchrone Prüfung vor jedem API-Call ersetzt.

          📉 v1.9.3 – Budget-Stabilität

          1.9.3: * Restart-Schutz: Skript-Neustarts lösen keinen API-Call mehr aus, wenn am selben Tag bereits Daten abgerufen wurden (schützt das 100-Calls/Monat Limit bei der Entwicklung).

          Erweiterter Economy-Mode: Unterscheidung der Trigger-Quellen (morning, afternoon, start).

          Notlauf-Modus: Fällt das Budget auf einen kritischen Wert, wird nur noch jeden zweiten Tag aktualisiert.

          Pedder007P Offline
          Pedder007P Offline
          Pedder007
          schrieb am zuletzt editiert von
          #55

          @Schimi Danke, läuft nun auch bei mir :-)

          Pedder
          All @Proxmox/Trixie auf HP Elitedesk 800 G4; Zigbee: ZigStar (LAN), ~110Devices
          Unifi, Motioneye/3Reolinks, PiHole, Bosch CS7800i via BBQKees/EMS-ESP, Fronius/BYD 11kWp via Modbus
          Under construction: Smart-WoMo auf Raspi4

          1 Antwort Letzte Antwort
          0
          • nik82N Offline
            nik82N Offline
            nik82
            Most Active
            schrieb am zuletzt editiert von
            #56

            @schimi
            Hi, hätte eine kurze Frage: Ich hab mit Iobroker wegen anderem Thema jetzt viel rumprobieren müssen und hab dazu immer wieder Iobroker neustarten müssen, deswegen hab ich leider jetzt schon einen "Monatslimit erreicht".
            Gibts da eine Möglichkeit das zu unterbinden, auch wenn man mal mehr Neustarts macht? :-)
            Danke im Voraus.

            HomoranH 1 Antwort Letzte Antwort
            0
            • nik82N nik82

              @schimi
              Hi, hätte eine kurze Frage: Ich hab mit Iobroker wegen anderem Thema jetzt viel rumprobieren müssen und hab dazu immer wieder Iobroker neustarten müssen, deswegen hab ich leider jetzt schon einen "Monatslimit erreicht".
              Gibts da eine Möglichkeit das zu unterbinden, auch wenn man mal mehr Neustarts macht? :-)
              Danke im Voraus.

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #57

              @nik82 sagte in [TypeSkript] Wetter.com Forecast/Vorhersage:

              Gibts da eine Möglichkeit das zu unterbinden, auch wenn man mal mehr Neustarts macht?

              hast du vorher die Instanz komplett deaktiviert?

              kein Support per PN! - Fragen im Forum stellen -
              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              1 Antwort Letzte Antwort
              0
              • nik82N Offline
                nik82N Offline
                nik82
                Most Active
                schrieb am zuletzt editiert von
                #58

                Nein da hab ich nicht dran gedacht ehrlich gesagt, aber die Scripts starten ja dann wieder wenn ich die Instanz starte oder?
                Klar wenn ich mehrere Starts hintereinander mache dann macht das Sinn, aber ich habe mit meiner Testerei immer so dermaßen den iobroker zerschossen, dass ich einfach meine Proxmox VM jedes mal wieder hergestellt habe.
                Ist auch nicht so wichtig, weil da wird ja nicht so oft so krass dran rumgefummelt, aber wenns im Script nur eine Kleinigkeit ist, dann könnte man das ja eventuell einbauen :-)

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  Schimi
                  schrieb am zuletzt editiert von
                  #59

                  Deswegen bin ich auch immer ins Limit... aber ausser das du das Skript deaktivierst und erst nach deinen experimenten wieder aktivierst, fällt mir nichts ein....

                  Falls du Skripte testest, könntest du eine zweite JavaSkript Instanz dafür nehmen, wenn diese dann neugestartet wird, bleiben die anderen Skripte unangetastet...

                  ansonsten bleibt nur einen weiteren API key zu beantragen...

                  1 Antwort Letzte Antwort
                  1
                  • nik82N Offline
                    nik82N Offline
                    nik82
                    Most Active
                    schrieb am zuletzt editiert von nik82
                    #60

                    Alles klar, passt, danke dir :-)
                    Ich glaube ich hab mir schonmal einen zweiten Key besorgt, aber der checkt wahrscheinlich die gleiche externe IP und sperrt dann auch wieder, kann das sein?

                    EDIT
                    Hab jetzt grad mal mit einer anderen Emailadresse ein neuen Api Key angefordert und dann eingetragen, log sagt dann aber wieder Monatslimit erreicht.
                    Hab jetzt Fritzbox (aber leider erst nach neuen Api Key Eintrag) gestartet, jetzt hab ich neue externe IP, aber immer noch Limit. Kann das sein?
                    Muss ich evtl. neue externe IP haben und dann erst den neuen Api Key eintragen?

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      Schimi
                      schrieb am zuletzt editiert von
                      #61

                      wenn du einen eneun API key einträgst, musst du die Datenpunkte auch auf 0 setzen, er fragt die Datenpunkte ab...

                      Die API haut nun (ich meine) einen 404 oder so raus und sagt nicht speziell dass, das Limit voll ist (deswegen zähle ich selber)

                      1 Antwort Letzte Antwort
                      1
                      • nik82N Offline
                        nik82N Offline
                        nik82
                        Most Active
                        schrieb am zuletzt editiert von
                        #62

                        @schimi
                        So sorry, da hät ich natürlich selber drauf kommen können das ich den Datenpunkt auf 0 setze.
                        Jetzt gehts wieder. Danke dir. :-)

                        1 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        445

                        Online

                        32.7k

                        Benutzer

                        82.5k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe