Modul für Weather Underground / Wunderground

Begonnen von Loredo, 26 Oktober 2016, 01:31:36

Vorheriges Thema - Nächstes Thema

paul79

ich habe mal einen Workaround reingeschrieben. Ist nicht das beste aber besser als nix.

Sollte auch das Problem von Benni lösen.

Gruß Paul
FHEM5.7 auf Pi3
Busware CUL433 (IT), JeeLink Lacrosse, HM-MOD-RPI-PCB, HM, TabletUI

Shadow3561

Hallo,
Mit ist gerade aufgefallen, dass ich seit dem 08.02. keine Readings mehr von dem Modul bekomme.

Kann das jemand bestätigen?
Mfg

rabehd

Auch funktionierende Lösungen kann man hinterfragen.

choetzu

Hallo,

ich hatte bislang erfolgreich Wunderground am Laufen. Nun musst ich mein FHEM neu aufsetzen und bei der Neuinstallation von Wunderground werden die Daten meiner Wetterstation nicht mehr übertragen.

ich habe mit define Wunderground_Home Wunderground xyKEYxy MeineWetterstation_PWS eingerichtet.. Jetzt werden nur gerade 2 Readings geliefert..  Und dabei eines mit "querynotfound". Komisch, denn auf der Wunderground_Webseite geht es..

hier mein Listing:

Weiss jemand rat? Danke für Hilfe..

Internals:
   API_KEY    xyKEYxy
   DEF        xyKeyxy MeineWetterstation_PWS
   INTERVAL   300
   LANG       DL
   NAME       Wunderground_Home
   NR         297
   QUERY      MeineWetterstation_PWS
   STATE      temp_c humidity
   TYPE       Wunderground
   Readings:
     2017-02-24 17:30:34   lastQueryResult querynotfound
     2017-02-24 17:42:29   state           temp_c humidity
Attributes:
   room       Klima
   stateReadings temp_c humidity
   stateReadingsFormat 1
   wu_features astronomy,conditions,forecast
   wu_lang    de

Raspi3, EnOcean, Zwave, Homematic

Loredo

Sofern die ID deiner PWS dem Regex ^[A-Z]{3,}\d{2,}$ entspricht, wird diesem Präfix "pws:" vorangestellt. Da du es anonymisiert hast, kann ich das nicht nachprüfen.
Ansonsten musst du den Präfix "pws:" selbst davor setzen. Im INTERNAL "QUERY" kannst du überprüfen, was abgefragt wird.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

choetzu

Das wars!! Mit pws:MeineWetterstation hats geklappt! Herzlichen Dank!
Raspi3, EnOcean, Zwave, Homematic

fl_Indigo

bei mir hats da immer noch was...
das query sieht so aus (und liefert auch daten im JSON format zurück):

2017.02.28 07:40:36 5: Wunderground WU_STROHEIM: GET https://api.wunderground.com/api/xyzKEYzyx/astronomy/conditions/forecast/lang:DL/q/pws:ISTROHEI2.json


die fehlermeldung direkt drunter:

2017.02.28 07:40:36 5: Wunderground WU_STROHEIM: RES ERROR - unable to parse malformed JSON: JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at (eval 5683) line 1.

Phiolin

Durch ein Problem bei der Sonos Sprachausgabe ist mir beim Zusammenstellen der Forecast Texte etwas aufgefallen:

Zeile 835ff:
my $symbol_c =
Encode::encode_utf8( chr(0x202F) . chr(0x00B0) . 'C' );
my $symbol_f =
Encode::encode_utf8( chr(0x202F) . chr(0x00B0) . 'F' );


Wozu genau benötigen wir hier den character 0x202F (glaube ist ein narrow-no-break-space)? Im Display macht der bei mir praktisch keinen Unterschied, er verhindert aber bei mir die Sonos Sprachausgabe für die Forecast Werte (siehe Diskussion hier). Wenn ich den Character entferne, ist bei mir die Darstellung praktisch unverändert - und die Sonos Sprachausgabe funktioniert.

my $symbol_c =
Encode::encode_utf8( chr(0x00B0) . 'C' );
my $symbol_f =
Encode::encode_utf8( chr(0x00B0) . 'F' );

Phiolin

Ein weiteres Problem mit Umlauten habe ich, wenn ich mir Wunderground Wettermeldungen wie z.B. aus fc0_text per pushover schicke (egal ob direkt mit dem pushover device, oder über den Umweg via MSG).

Die Umlaute und ähnliche Sonderzeichen kommen auf dem Handy dann als ??? an.

msg push @rr_Andreas |Wetter| [wunderground:fc0_text]
fc0_text: Bedeckt. Höchsttemperatur 11°C. Wind aus NW mit 15 bis 30 km/h.
Pushmessage Ergebnis: Bedeckt. H??sttemperatur 11??C. Wind aus NW mit 15 bis 30? km/h.

An anderen Stellen habe ich mit Umlauten in Push Meldungen keine Probleme. Daher habe ich auch hier den Verdacht, irgendwas im Encoding des Wunderground Textes liegt hier schief. Habe aber bisher noch keinen konkreten Verdacht, wo wohl das Problem liegen könnte... Jemand eine Idee?

Loredo

Zitat von: Benni am 06 Februar 2017, 13:31:42
Du erzeugst diese multiplen Events für die fc_-Readings tatsächlich selbst.

Das ganze passiert in Wunderground_Hash2Readings dort werden für simpleforecast und textforecast jedes mal alle dazugehörigen Readings direkt aus dem Ergebnis-Hash geholt und direkt per readingsBulkUpdate erzeugt, obwohl in der Schleife jeder einzelne Key aber sowieso kommt ($k), d.h. für jeden Key der zu simpleforecast, bzw. txt_forecast gehört, werden jedes mal alle simpleforecast-Readings, bzw. txt_forecast-Readings erzeugt.


Ich habe dafür jetzt gerade einen Patch eingecheckt, der die Events entsprechend begrenzt.


Zitat von: fl_Indigo am 28 Februar 2017, 07:48:42
das query sieht so aus (und liefert auch daten im JSON format zurück):

2017.02.28 07:40:36 5: Wunderground WU_STROHEIM: GET https://api.wunderground.com/api/xyzKEYzyx/astronomy/conditions/forecast/lang:DL/q/pws:ISTROHEI2.json


die fehlermeldung direkt drunter:

2017.02.28 07:40:36 5: Wunderground WU_STROHEIM: RES ERROR - unable to parse malformed JSON: JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at (eval 5683) line 1.



Das konnte ich hier nicht mehr nachvollziehen.


Zitat von: Phiolin am 19 April 2017, 13:28:11
Wozu genau benötigen wir hier den character 0x202F (glaube ist ein narrow-no-break-space)


Das kurze Leerzeichen ist Teil der korrekten Einheitsangabe ° (Grad) und sorgt für eine korrekte typografische Darstellung. Außerdem wird ein Zeilenumbruch verhindert, damit Einheit und Zahlenwert nicht auseinandergerissen werden.


Zitat von: Phiolin am 22 April 2017, 14:07:15
Ein weiteres Problem mit Umlauten habe ich, wenn ich mir Wunderground Wettermeldungen wie z.B. aus fc0_text per pushover schicke (egal ob direkt mit dem pushover device, oder über den Umweg via MSG).

Die Umlaute und ähnliche Sonderzeichen kommen auf dem Handy dann als ??? an.

msg push @rr_Andreas |Wetter| [wunderground:fc0_text]
fc0_text: Bedeckt. Höchsttemperatur 11°C. Wind aus NW mit 15 bis 30 km/h.
Pushmessage Ergebnis: Bedeckt. H??sttemperatur 11??C. Wind aus NW mit 15 bis 30? km/h.

An anderen Stellen habe ich mit Umlauten in Push Meldungen keine Probleme. Daher habe ich auch hier den Verdacht, irgendwas im Encoding des Wunderground Textes liegt hier schief. Habe aber bisher noch keinen konkreten Verdacht, wo wohl das Problem liegen könnte... Jemand eine Idee?


Ich habe jetzt vorläufig das ersetzen des normalen Leerzeichens vor den Einheiten km/h und mph auskommentiert. Ich konnte nicht herausfinden, weshalb ein ersetzen durch 0x00A0 hier nicht funktioniert. Jedenfalls ist es so, dass schon eine fehlerhafte Darstellung dazu führt, dass auch andere byte-codierte Zeichen nicht mehr korrekt angezeigt werden; dort ist es dann quasi ein Folgefehler.
Nach meinen Tests jetzt funktioniert der Rest wie gewünscht.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

emilio_35

Hallo
ich wollte für meine Gartenbewässerung Wetterdaten in Fhem einbinden . Wetter.com funktioniert ja aktuell nicht.
Ich wollte nun das Wunderground modul verwenden.

Woher erhalte ich den <api-key> ?

Was mir noch aufgefallen ist. In meiner Region hat es gestern stark geregnet. Wetter.com 47.9l/m² Wunderground 12.5mm = 12l/m².  Habe in Wunderground mehrere Stationen abgefragt und immer so um die 10 - 15 mm. ????? 

Die 47.9l/m² von Wetter.com simmten aber ungefähr .
Fhem Raspberry Pi, SPS, S7 315PN,VU+


emilio_35

Hallo
muss man sich da registrieren und kostet das was ?
Fhem Raspberry Pi, SPS, S7 315PN,VU+

Benni

Zitat von: emilio_35 am 04 Juni 2017, 14:13:14
Hallo
muss man sich da registrieren und kostet das was ?

Eigenrecherche ist nicht so deine Stärke?

Wenn du auf den Link klickst wirst du feststellen, dass man sich registrieren muss, um das API zu verwenden. Wenn du dort auf Pricing klickst, wirst du sehen, dass ein Developer-Account der nichts kostet, 500 abrufe pro Tag zulässt. Das sollte für den Hausgebrauch mehr als ausreichend sein.

emilio_35

Hallo
gibt es eine Erklärung der einzelnen Readings ?
Ich möchte gerne wissen wann es regnet mit der Aktuellen Niederschlagsmenge und die gefallene Niederschlagsmenge heute.
Wenn ich die Readings mit der Wetterstation vergleiche habe ich unterschiedliche Werte.

Fhem Raspberry Pi, SPS, S7 315PN,VU+