NEWS
UV-Index: Welcher Wetter Adapter?
-
Hi.
Mit welchem Wetter Adapter bekomme ich den UV-Index für meine Stadt?
Will mir nicht bei allen Anbietern einen account klicken.
Danke,
Andreas
-
ich habe in meiner VIS die Vorhersage von Meteoblue eingebunden.
Mit UV-Index und sonstigen Spielereien die beliebig zu- und abwählbar sind.
Läuft dann als HTML Widget - quasi als kleines HTML Fenster.
5779_info.jpg -
danke.
Aber nen Adapter dafür gibt es nicht, oder?
-
Ich glaube weatherunderground hat uv Index.
-
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).
-
Naja kommt halt darauf an ob deine gewählte Wetterstation den Wert liefert oder nicht
-
Ich hatte mit WU und meiner gewählten Station bisher noch keine Probleme.
Gefühlt seit einem Jahr immer alle Werte vorhanden.
-
Ich habe überhaupt keinen UV Sensor, die meisten Stationen in der Nähe leider auch nicht. Dachte bisher immer die UV Werte würden irgendwie berechnet, wie der lückenhafte Forecast auch. Hier im ländlichen Raum findet man praktisch keine einzige Station die alle Werte ausspuckt, wie Regen und Wind….
-
Eigentlich läuft das ganze bei mir recht gut allerdings wird zwischendurch immer mal wieder kein Wert für den UV Index angezeigt weil wohl keiner von der Sation übermittelt wurde. Wäre es möglich, den alten Wert nicht komplett zu löschen sondern solange stehen zu lassen, bis wirklich ein neuer Wert kommt? So eine Funktion gibt es bei dem Tankerkönig Adapter auch. Ist zwar dann nicht 100% aktuell aber für mich besser als keinen Wert zu haben, da teilweise dadurch meine Scripte nicht richtig laufen.
-
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?
-
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:
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!
-
@ahnungsbefreit sagte: Koordinaten, wie Ihr sie im ioBroker Admin sowieso schon eingestellt habt
getObject('system.config').common.latitude; getObject('system.config').common.longitude;
-
@paul53 Danke, das hat mir gefehlt!
-
@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
-
Es gibt auch einen Adapter dafür.
uv-protect liefert alle gewünschten Werte. -
@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. -
oder dieser Adapter: https://github.com/x3l4c0d3/ioBroker.openuv
nutze ich schon länger ohne Probleme -
@stenmic openuv ist wird leider nicht mehr gepflegt und hat in bestimmten node Versionen dadurch Probleme.
Aus diesem Grund ist uv-protect entstanden -
@fastfoot Gute Frage, aber ich denke in diesem Fall tut's ein einfaches "await"...