Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Wetterdaten abrufen per API-Call mit dem Javascript Adapter

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Wetterdaten abrufen per API-Call mit dem Javascript Adapter

Scheduled Pinned Locked Moved Skripten / Logik
43 Posts 9 Posters 4.6k Views 13 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Frederik BussF Frederik Buss

    @catshape Ich nutze beide Schreibweisen, die Kurze allerdings nicht bei verschachtelten Abfragen, wegen der Übersichtlichkeit.. Ist aber wohl Geschmackssache :)

    Ro75R Offline
    Ro75R Offline
    Ro75
    wrote on last edited by
    #41

    @frederik-buss genau so meinte ich es auch. Ich kann natürlich die dritte nur prüfen, wenn tatsächlich auch die erste bzw. zweite existiert. Es war von mir als Ansatz gedacht, nicht als fertige Lösung.

    Ro75.

    SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

    1 Reply Last reply
    0
    • C CatShape

      @frederik-buss sagte in Wetterdaten abrufen per API-Call mit dem Javascript Adapter:

      Geht! Danke für den Javascript Auffrischungskurs :D

      Gern gemacht.

      @frederik-buss sagte in Wetterdaten abrufen per API-Call mit dem Javascript Adapter:

      >        if ('rain' in weatherData.current)
      >        {
      >            if ('1h' in weatherData.current.rain)
      >            {
      >                setState(`${basePathHMIP}HMIP_Wetter_Aktuell_Regen`,  weatherData.current.rain['1h']);
      >            }
      >            else {
      >                setState(`${basePathHMIP}HMIP_Wetter_Aktuell_Regen`, 0);
      >            }
      >        }
      >        else {
      >            setState(`${basePathHMIP}HMIP_Wetter_Aktuell_Regen`, 0);
      >        }
      

      Ich wollte Dich auch nicht zugunsten von if (_) {_} else {_} von der kompakten (_) ? _ : _ Variante abbringen.

      setState(`${basePathHMIP}HMIP_Wetter_Aktuell_Regen`, ('rain' in weatherData.current) ? (('1h' in weatherData.current.rain) ? weatherData.current.rain['1h'] : 0) : 0);
      

      macht exakt dasselbe wie Dein neuer Code.

      T Do not disturb
      T Do not disturb
      ticaki
      wrote on last edited by ticaki
      #42

      @catshape sagte in Wetterdaten abrufen per API-Call mit dem Javascript Adapter:

            if ('rain' in weatherData.current)
            {
                  if ('1h' in weatherData.current.rain)
           
      

      Das ist aber nicht übersichtlich, außerdem macht es von der codeseite her keinen unterschied ob die Eigenschaft nicht da ist. Daher wäre eine kurze übersichtliche Abfrage sinnvoll:

      Kurzversion:

      if (weatherData?.current?.rain?.['1h'] != undefined) { // !== hier prüft auf undefined - != auf undefined und null
          setState(`${basePathHMIP}HMIP_Wetter_Aktuell_Regen`,  weatherData.current.rain['1h']);
      } else {
          setState(`${basePathHMIP}HMIP_Wetter_Aktuell_Regen`, 0);
      }     
      

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      1 Reply Last reply
      0
      • B Offline
        B Offline
        breit
        wrote on last edited by breit
        #43

        Hallo
        Frage an die Gemeinde:
        Ich habe den One Call API 3.0. Wenn ich direkt im Broser aufrufe kommen auch stündliche Werte. Ist auch laut Beschreibung richtig.
        Kann ich das Script so erweitern dass hier für heute und morgen stündliche Werte angezeigt werden?
        Brauche Temp, Windstärke, Luftfeuchte, Bewölkung, Regen in mm pro Stunde und Regenwahrscheinlichkeit. Das SOLAR Paket ist je extra.
        LG Robert

        API 3.0.png

        PS: Bin nun durch vielfaches probieren weitergekommen.
        ABER: Nun stehe ich wieder mal an. In den hourly Bereich gibt es den timestamp als UNIX timestamp (1767603600). Den kann ich anzeigen. Ich möchte diesen nun als "lesbaren" string anzeigen. ZB "Stunde:Minute Tag.Monat"
        Wie kann ich dies lösen?
        Eigenartig ist auch dass die Reihenfolge der Ausgabe nicht der Reihenfolge im script entspricht

        LG Robert

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        Support us

        ioBroker
        Community Adapters
        Donate

        692

        Online

        32.6k

        Users

        82.2k

        Topics

        1.3m

        Posts
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Home
        • Recent
        • Tags
        • Unread 0
        • Categories
        • Unreplied
        • Popular
        • GitHub
        • Docu
        • Hilfe