Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. UV-Index: Welcher Wetter Adapter?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    UV-Index: Welcher Wetter Adapter?

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Fatmax last edited by

      @xdelta:

      @apollon77:

      Ich glaube weatherunderground hat uv Index. `

      Der ist nur leider unbrauchbar, da meistens falsch oder das Feld nicht gefüllt…

      Ich nutze stattdessen openuv.io (außerhalb von iobroker). `

      Hast du vielleicht ein Skript oder eine Anleitung dazu?

      A 1 Reply Last reply Reply Quote 0
      • A
        Ahnungsbefreit @Fatmax last edited by

        Hi, das Thema ist schon recht alt, aber da ich eben auch einen einfachen Weg gesucht habe, den UV-Index in den ioBroker zu bekommen, habe ich mal folgendes JS/Blockly gebaut und wollte das mit Euch teilen:
        d8e3119d-85bd-4a70-a5e3-9bbde96c2b0f-image.png

        So sieht die JS Funktion aus:

        'use strict';
        
        let request = require("request");
        
        let respo='';
        
        
        let options = daytime ? { method: 'GET',
         url: 'https://api.openuv.io/api/v1/uv',
         qs: { lat: lati, lng: long , dt: daytime },
         headers: 
          { 'content-type': 'application/json',
            'x-access-token': apiKey } } : { method: 'GET',
         url: 'https://api.openuv.io/api/v1/uv',
         qs: { lat: lati, lng: long },
         headers: 
          { 'content-type': 'application/json',
            'x-access-token': apiKey } };
        
        request(options, function (error, response, body) {
          if (error) throw new Error(error);
          respo=response;  
          console.log(body);
        });
        
        return respo;
        

        Die Parameter lati, und long entsprechen den Koordinaten, wie Ihr sie im ioBroker Admin sowieso schon eingestellt habt (ich habe es leider nicht geschaft, die auszulesen, aber vielleicht hat ja da jemand noch eine Lösung. Das Javascript.0 Objekt enthält sie jedenfalls nicht). Den API Key bekommt man, wenn man sich bei openuv registriert. daytime ist optional, wenn der weg gelassen wird, werden die aktuellen Daten ermittelt. Das Ergebnis ist ein nettes JSON (wie auf der Webseite beschrieben). Ich werde hierzu noch ein paar Scripts schreiben, um das Ergebnis z.B. als Trigger für Telegram Meldungen zu nutzen.

        Achtung! Die kostenlose Lizenz bei openuv erlaubt nur max 50 Abfragen pro Tag, also nicht zu oft aufrufen!

        paul53 Homoran F 3 Replies Last reply Reply Quote 0
        • paul53
          paul53 @Ahnungsbefreit last edited by

          @ahnungsbefreit sagte: Koordinaten, wie Ihr sie im ioBroker Admin sowieso schon eingestellt habt

          getObject('system.config').common.latitude;
          getObject('system.config').common.longitude;
          
          A 1 Reply Last reply Reply Quote 0
          • A
            Ahnungsbefreit @paul53 last edited by

            @paul53 Danke, das hat mir gefehlt!

            1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Ahnungsbefreit last edited by Homoran

              @ahnungsbefreit sagte in UV-Index: Welcher Wetter Adapter?:

              da ich eben auch einen einfachen Weg gesucht habe, den UV-Index in den ioBroker zu bekommen

              da ging's dir wohl genau wie mir, als ich die anderen Threads gesehen habe.

              Da ich nicht noch ein Konto bei irgendwem für einen API-Key anlegen wollte, habe ich bei opensensemap.org gesucht.
              Senseboxen mit UV sind zwar dünn gesät, aber vorhanden.

              Auswertung erfolgt dann wahlweise per Skript oder parser
              Aufruf der gewünschten Station per https://api.opensensemap.org/boxes/Stationskennung
              Die Antwort dann nach dem gewünschten Wert parsen.

              Die Stationskennung findet man in der Karte bei opensensemap.org

              simatec 1 Reply Last reply Reply Quote 0
              • simatec
                simatec Developer Most Active @Homoran last edited by simatec

                Es gibt auch einen Adapter dafür.
                uv-protect liefert alle gewünschten Werte.

                https://forum.iobroker.net/post/621966

                1 Reply Last reply Reply Quote 0
                • F
                  fastfoot @Ahnungsbefreit last edited by

                  @ahnungsbefreit respo ist immer leer bei der Rückgabe, da request() asynchron läuft, so funktioniert das also nicht. Ich hatte neulich eine Lösung gepostet, welche vor der Rückgabe eine halbe Sekunde wartet(await wait(500))), fand das jedoch nicht so gut, obwohl es funktioniert. Wie gedenkst du das zu lösen? Mit axios könnte man await verwenden, das muss dann allerdings extra im JS-Adapter installiert werden, weshalb mich eine Lösung mit request() interessiert.

                  S A 2 Replies Last reply Reply Quote 0
                  • S
                    stenmic @fastfoot last edited by

                    oder dieser Adapter: https://github.com/x3l4c0d3/ioBroker.openuv
                    nutze ich schon länger ohne Probleme

                    simatec 1 Reply Last reply Reply Quote 0
                    • simatec
                      simatec Developer Most Active @stenmic last edited by

                      @stenmic openuv ist wird leider nicht mehr gepflegt und hat in bestimmten node Versionen dadurch Probleme.
                      Aus diesem Grund ist uv-protect entstanden

                      1 Reply Last reply Reply Quote 0
                      • A
                        Ahnungsbefreit @fastfoot last edited by

                        @fastfoot Gute Frage, aber ich denke in diesem Fall tut's ein einfaches "await"...

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        536
                        Online

                        31.7k
                        Users

                        79.6k
                        Topics

                        1.3m
                        Posts

                        13
                        19
                        1988
                        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