NEWS
Adapter: Weatherunderground 24h Prognose
-
Ich möchte gerne hochauflösende Grafiken für das aktuelle Tageswetter in meinen VIS view integrieren. Mit WeatherUnderground ging das aber scheinbar nicht, da auf externe Grafiken verlinkt wurde und ich keinen Weg gesehen habe dies zu ändern. `
Ich denke, das funktioniert auch mit WU. Im WU findest du die Datenpunkte fctcode oder icon (je nachdem, welche Datensätze du abrufst). Dann brauchst du nur noch eine Übersetzung fctcode zu lokalem Image oder icon zu lokalem Image. Das kannst du ähnlich zu meinem script machen…
WU hat auch verschiedene Icon-Sets im Angebot:
https://www.wunderground.com/weather/ap … /icon-sets
Übrigens: Ich habe unter https://github.com/rg-engineering/ioBro … nderground eine Version des WU-Adapters, welches deutlich mehr Daten abruft, als die Standardversion… Leider fällt der Dienst immer wieder mal aus. Und wenn man Pech hat und man nicht per pws:xyz eine konkrete Station auswählt, liefert der Dienst Daten von irgendwo... Über den Service erfährt man nur den Tipp, eine konkrete Station auszuwählen. Am automatisch Finden der Station anhand von Ortsnamen arbeiten sie dran `
Vielen Dank für die Tipps! Das hilft mir schon einmal sehr weiter. Habe jetzt auch die neue Version deines Adapters installiert. Ich habe eine konkrete Station hinterlegt und so weit läuft es bei mir stabil.
Da ich ja für das aktuelle Wetter gerne die Grafik anzeigen würde kommt wohl nur der fctcode in Frage. "icon" gibt es nur für die Tagesvorhersage. Das funktioniert mit deinem Script auch. Unter https://www.wunderground.com/weather/ap … 40473&MR=1 gibt es die offizielle Übersicht für das Mapping von code auf Status.
Ich verstehe allerdings noch nicht, wie ich die entsprechenden Icons bei Nacht anzeigen lassen kann. Der Präfix "nt_" fehlt scheinbar in den Datensätzen?! Muss das dann anhand der Uhrzeit ermittelt und entsprechend angehängt werden? Mir würde spontan die Idee einfallen eine Variable abhängig vom Sonnenauf- und Untergang anzulegen und dann entsprechende die Grafik für Tag oder Nacht einzublenden. Oder gibt es einen einfacheren Weg?
Falls hier schon jemand weiter gekommen ist wäre ich über einen Denkanstoß sehr dankbar.
-
Übrigens: Ich habe unter https://github.com/rg-engineering/ioBro … nderground eine Version des WU-Adapters, welches deutlich mehr Daten abruft, als die Standardversion… `
Hallo Rene_HM,
hab das gelesen und wollte von der Standard Version auf deine umsteigen.
Standard gelöscht, deine über das Octocat-Icon installiert, aber leider…..
Mir wird unter Instanzen kein Weatherunderground Adapter angezeigt.
-
Ist der Adapter im tab Adapter zu sehen? Wenn ja, einfach mal das plus hinten anklicken. Das sollte dann die Instanz erzeugen.
Wen er nicht unter Adapter zu sehen ist: Kam eine Fehlermeldung beim Installieren? Vielleicht auch mal das log prüfen…
-
Wer ein grafisches widget sucht, welches Temperatur, Regenmenge und Bewölkung/Sonne als Diagramm sucht, sollte sich mein widget vis-weather unter
https://github.com/rg-engineering/ioBroker.vis-weather bzw. https://www.npmjs.com/package/iobroker.vis-weather anschauen.
Dieses widget supported die beiden Adapter DasWetter.com und weatherunderground. Letzterer benötigt aber meine aktualisierte Version unter
https://github.com/rg-engineering/ioBro … nderground, welches mehr Daten abruft und aufbereitet.
Details sind im thread neuer Adapter: DasWetter http://forum.iobroker.net/viewtopic.php … 2&start=40 zu finden.
-
Nötige Update-Version von weatherunderground ist offiziell auf Github verfügbar. Bitte testen
-
Nötige Update-Version von weatherunderground ist offiziell auf Github verfügbar. Bitte testen `
Hab grad festgestellt, dass ich noch 1.0.2 habe und keine Meldung für neue Version erscheint.Darüber hinaus taucht der Adapter gar nicht in der Liste auf unter admin/Adpter "installieren aus eigenem URL".
-
Neue Version ist offiziell auch noch nicht gemacht. Unter "Custom" sollte er aber sein … komisch. Starte mal iobroker neu. Neueste js-controller-Version und so?
-
Neue Version ist offiziell auch noch nicht gemacht. Unter "Custom" sollte er aber sein … komisch. Starte mal iobroker neu. Neueste js-controller-Version und so? `
"Custom"? Was meinst du?Nach Neustart hat sich nichts geändert.
Habe:
node version: v4.8.3
npm version: 2.15.11
js-controller: 1.0.0
Verwahrungsort: latest: http://download.iobroker.net/sources-dist-latest.json
-
Un in der "from Github" unter "Custom Install" (drittes Icon oben unter "Adapter") ist weatherunderground nicht dabei
-
"Custom Install" finde ich nicht. Oder ist das auf deutsch "beliebig" wo man die URL eingibt?
Sieht bei mir so aus. Vorm web Adapter hätte ich jetzt den weatherunderground Adapter erwartet.
-
Komisch, dann geh auf "Belieblig" Tab in dem Dialog und nutze
-
Komisch, dann geh auf "Belieblig" Tab in dem Dialog und nutze
https://github.com/dschaedl/ioBroker.weatherunderground `
Ok, so hat es funktioniert. 1.0.5 ist installiert. -
Unter den Einstellungen vom Adapter kann ich die Häkchen setzen für "Vorschau als Text für nächsten 4 Tage und Nächte" und die anderen drei Optionen. Aber ich kann dann nicht Speichern, sondern nur Schließen. Entsprechend werden auch keinen neuen Objekte angelegt. Ich sehe auch weiterhin nur 24h… und keine 36h.
-
Jupp, nur ändern der Checkboxen aktiviert die Buttons nicht. Füge in nem textfeld ein leerzeichen ein und lösch es wieder, dann gehts
-
Jupp, nur ändern der Checkboxen aktiviert die Buttons nicht. Füge in nem textfeld ein leerzeichen ein und lösch es wieder, dann gehts `
Ja, verrückt! FunktioniertUnd jetzt weiß ich auch, dass die Checkboxen aktiviert sein müssen, damit weatherunderground überhaupt läuft. Ansonsten habe ich keine Fehler festgestellt bisher.
-
Jupp, nur ändern der Checkboxen aktiviert die Buttons nicht. Füge in nem textfeld ein leerzeichen ein und lösch es wieder, dann gehts `
Das Problem kann ich nachvollziehen und werde es beheben. Im Moment ist o.g. workaround notwendig
-
Da ich ein JavaScript Laie bin benötige ich etwas Hilfestellung für die Generierung der WU Icons.
Mit Hilfe des folgenden Scripts von René kann ich bereits die passenden URLs der Icons für das aktuelle Wetter anhand des fctcode (Zahl) anzeigen.
on("weatherunderground.0.forecast.0h.fctcode", function(obj) { var fctcode = parseInt(obj.newState.val, 10); var temp = 'http://192.168.XXX.XX:8082/vis.0/meinview/wetter/wu/' + fctcode + '.svg'; log (temp); setState('wu.WeatherNow', temp ); });
Möchte ich nun allerdings für die Vorhersage die URLs für die Icons erstellen so benötige ich hierfür den Wert (Text) aus "icon" für z.B. "forecast_day.1d". Den fctcode gibt es hier nicht. Als Beispiel ist dieser Wert "mostlycloudy". Damit funktioniert das Script natürlich nicht mehr da dies nur für INT ausgelegt ist. Wie muss der Code aussehen damit ich den Text aus "icon" in die URL "parse"?
Für Hilfe wäre ich sehr dankbar. Habe bereits viel Zeit damit verbracht die Lösung im Netz zu finden aber komme leider nicht weiter.
-
"obj.newState.val" sollte doch schon den benötigten string liefern.
so in der Art:
on("weatherunderground.0.forecast_day.0d.icon", function(obj) { var icon= obj.newState.val; var temp = 'http://192.168.XXX.XX:8082/vis.0/meinview/wetter/wu/' + icon + '.svg'; log (temp); setState('wu.WeatherNow', temp ); });
Wenn du dann die Icons noch entsprechend nennst, sollte es funktionieren…
-
Vielen Dank. Das funktioniert.
Zumindest sehe ich im Log das die URLs alle korrekt über das Script generiert werden. Allerdings werden nicht alle Datenpunkte korrekt mit den URLs aktualisiert?!
Muss das mal beobachten, da ich im Script keinen Fehler entdecken kann.
-
Hallo,
Ich nutze das Script um die Daten an WU über ioBroker zu senden, das funktioniert perfekt.
Jetzt habe ich auch eine WDC 7000 und möchte gerne den Luftdruck auch übetragen.
Da ich im Skripten nicht der hellste bin möchte ich fragen ob mir wer dabei helfen könnte oder schon jemand die entsprechenden Werte in seinen Script integriert hat.
Anbei noch der Script welcher gerade bei mir in Verwendung ist.
Danke, Thomas
/* Skript zum Beschreiben der Personal Weather Station Autor: pix (30.6.2016), mit Anpassungen durch dtp nach dem Vorbild dieses HM-Skriptes von mape http://homematic-forum.de/forum/viewtopic.php?f=27&t=31045&start=140#p293007 Voraussetzung: Anmeldung einer PWS unter https://www.wunderground.com/personal-weather-station/signup (Hardware: other) */ var pws_id = "??????"; // "Station ID" der PWS var pws_key = "??????"; // "Station Key" der PWS var idtempc = "hm-rpc.0.NEQ0293866.1.TEMPERATURE"; // Tempertur in °C var idhumidity = "hm-rpc.0.NEQ0293866.1.HUMIDITY"; // Luftfeuchtigkeit in % var idwinddir = "hm-rpc.0.NEQ0293866.1.WIND_DIRECTION"; // Windrichtung (0-360°) var idwindspeedkmh = "hm-rpc.0.NEQ0293866.1.WIND_SPEED"; // Windgeschwindigkeit in km/h var iddailyrainmm = "hm-rega.0.1587"; // Regen heute in mm // Ab hier nix mehr anpassen var request = require('request'); function weatherupdate() { var tempc = getState(idtempc).val; var tempf = (tempc * 1.8) + 32; // Umwandlung °C in °F var humidity = getState(idhumidity).val; var winddir = getState(idwinddir).val; var windspeedkmh = getState(idwindspeedkmh).val; var windspeedmph = windspeedkmh * 0.621371; // Umwandlung km/h in mph var dailyrainmm = getState(iddailyrainmm).val; var dailyrainin = dailyrainmm * 0.0393701; // Umwandlung mm in in var weatherURL = 'https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php?ID=' + pws_id + '&PASSWORD=' + pws_key + '&dateutc=now&tempf=' + tempf + '&humidity=' + humidity + '&winddir=' + winddir + '&windspeedmph=' + windspeedmph + '&dailyrainin=' + dailyrainin + '&action=updateraw' + '&realtime=1&rtfreq=2.5'; try { request(weatherURL,function (error, response, body) { if (!error && response.statusCode == 200) { // Update ok log('Wunderground Personal Weather Station successfully updated','debug'); } else { log('Error updating Wunderground PWS (Status Code' + response.statusCode + ')', 'warn'); log(error,'error'); } }); } catch (e) { log('Fehler (try) beim Update der Wunderground Personal Weather Station (PWS): ' + e, 'error'); } } on(idtempc, weatherupdate); // aktualisieren, wenn neuer Temperaturwert von HM-Kombisensor on(idhumidity, weatherupdate); // aktualisieren, wenn neuer Luftfeuchtigkeitswert von HM-Kombisensor on(idwinddir, weatherupdate); // aktualisieren, wenn neuer Windrichtungswert von HM-Kombisensor on(idwindspeedkmh, weatherupdate); // aktualisieren, wenn neuer Windgeschwindigkeitswert von HM-Kombisensor on(iddailyrainmm, weatherupdate); // aktualisieren, wenn neuer Regenwert von HM-Kombisensor korra82 Beiträge: 2 Registriert: 23.08.2016, 16:34 Nach oben