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

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[TypeSkript] Wetter.com Forecast/Vorhersage

Geplant Angeheftet Gesperrt Verschoben JavaScript
54 Beiträge 7 Kommentatoren 1.6k 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.
  • S Online
    S Online
    Schimi
    schrieb am zuletzt editiert von
    #45

    das Wetter gehört doch zu einem anderen unternehmen, meine ich....

    Also ich habe 3 Api Keys zum testen... Wenn ich einen ausgereizt habe, kann ich einfsch den zweiten nutzen und trotz gleicher IP geht's direkt weiter.....

    1 Antwort Letzte Antwort
    0
    • Pedder007P Offline
      Pedder007P Offline
      Pedder007
      schrieb am zuletzt editiert von Pedder007
      #46

      Hi, na' da habe ich mir jetzt einen geleistet .... natürlich ist das ein anderer Dienst!!!

      Keine Ahnung, aber das kommt davon, wenn man zu viel parallel macht... :-(

      Sorry für den Unsinn hier, ich gelobe Besserung :-)

      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

      S 1 Antwort Letzte Antwort
      0
      • Bl4ckst4rB Offline
        Bl4ckst4rB Offline
        Bl4ckst4r
        schrieb am zuletzt editiert von
        #47

        Moin zusammen,

        ich möchte mich nur kurz für das Skript bedanken. ☺️

        Bis zum Ende des Free Tarifs habe ich den AccuWeather-Adapter genutzt. Da ich Wetter.com aber "privat" sowieso schon verwende, passt das Skript natürlich umso besser.

        Ich steuere damit meinen Sonnenschutz und lasse die Rollos abhängig von der Anzahl der Sonnenstunden sowie der Tageshöchsttemperatur herunterfahren. Das umstellen war dank deines Skriptes quasi "Plug and Play".

        Daher ein großes Dankeschön fürs Teilen! Das hat mir auf jeden Fall die Arbeit erspart, selbst etwas Eigenes zu entwickeln und bietet der Community definitiv einen echten Mehrwert. :)

        Viele Grüße
        Bl4ckst4r

        1 Antwort Letzte Antwort
        1
        • Pedder007P Pedder007

          Hi, na' da habe ich mir jetzt einen geleistet .... natürlich ist das ein anderer Dienst!!!

          Keine Ahnung, aber das kommt davon, wenn man zu viel parallel macht... :-(

          Sorry für den Unsinn hier, ich gelobe Besserung :-)

          S Online
          S Online
          Schimi
          schrieb am zuletzt editiert von
          #48

          @Pedder007 wenn du jetzt noh sagst, dass das Skript weiter funktioniert... wäre ich erleichtert....

          weil ich nach sie vor nicht weiss woran es liegen könnte 🙈

          Pedder007P 1 Antwort Letzte Antwort
          0
          • S Schimi

            @Pedder007 wenn du jetzt noh sagst, dass das Skript weiter funktioniert... wäre ich erleichtert....

            weil ich nach sie vor nicht weiss woran es liegen könnte 🙈

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

            @Schimi ENTWARNUNG
            Das Script läuft einwandfrei und hat z. B. heute um kurz vor 04:00 und nochmal um kurz vor 16:00 aktualisiert.
            Das Problem saß vor der Konsole - hatte den falschen Key, also den vom anderen Anbieter, genutzt.
            Sorry war am WE unterwegs und hätte das evtl. oben klarer formulieren sollen.
            Danke Dir für Dein vorbildliches Care-Taking ;-)

            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
            1
            • S Online
              S Online
              Schimi
              schrieb am zuletzt editiert von
              #50

              Danke für die Rückmeldung :-)

              1 Antwort Letzte Antwort
              0
              • S Online
                S Online
                Schimi
                schrieb am zuletzt editiert von Schimi
                #51

                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.

                1 Antwort Letzte Antwort
                0
                • nik82N Offline
                  nik82N Offline
                  nik82
                  Most Active
                  schrieb 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 Online
                    S Online
                    Schimi
                    schrieb 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
                    0
                    • nik82N Offline
                      nik82N Offline
                      nik82
                      Most Active
                      schrieb 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
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      597

                      Online

                      32.7k

                      Benutzer

                      82.4k

                      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