[Modul] Wunderground Modul - Wetterdaten Down und Upload von Wetterdaten

Hallo Enno,
super, die erste Aktualisierung hat soeben stattgefunden.
Nun kann ich die Daten in einer ips-studio Seite darstellen.
Eine Frage noch:
Gibt es eine Liste für Icon-Variablen (z.B)
Tagesabschnitt 0 (Aktuelle 12h) Icon (aktuell 11)
um das passende Icon darzustellen?
Die restlichen Variablen sind entweder Text oder Integer/ Float, die ich anzeigen kann.
Nochmals Danke für Deine Hilfe.
Grüße von
Ekkehard

Hallo,

vielen Dank für das Modul,
Da hier eine andere Wetterstation im Dorf gute Daten liefert sehr hilfreich.
Es funktioniert Upload sowie Download der Wetterdaten erfolgreich.

Jedoch müllt mir die das Modul mein ansonst sauberes Symcon Log mit folgenden Meldungen voll:

30.08.2020 10:14:21 | 11249 | ERROR   | TimerPool            | WundergroundPWSSync (UpdateTimer): <br />
<b>Warning</b>:  file_get_contents(): php_network_getaddresses: getaddrinfo failed: Temporärer Fehler bei der Namensauflösung in <b>/var/lib/symcon/modules/.store/elueckel.wundergroundpwssync/WundergroundPWSSync/module.php</b> on line <b>1781</b><br />
<br />
<b>Warning</b>:  file_get_contents(https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=TRALALA&PASSWORD=TRALALA&dateutc=now&tempf=55.94&humidity=88): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporärer Fehler bei der Namensauflösung in <b>/var/lib/symcon/modules/.store/elueckel.wundergroundpwssync/WundergroundPWSSync/module.php</b> on line <b>1781</b><br />

Ich habe jedoch definitv kein DNS-Problem, und auch ansonsten keine Probleme mit Internetverbindung.

Eine Idee meinerseits wäre ev. das meine pfsense Firewall „DNS over SSL“ aktiviert hat, und die Funktion „PHP getaddrinfo“ vielleicht ein Problem damit hat ?

Use SSL/TLS for outgoing DNS Queries to Forwarding Servers When set in conjunction with DNS Query Forwarding, queries to all upstream forwarding DNS servers will be sent using SSL/TLS on the default port of 853. Note that ALL configured forwarding servers MUST support SSL/TLS queries on port 853.

Wobei nach Kontrolle auch das unerheblich scheint, da die Symcon VM, korrekt gegen den internen DNS-Server auflöst.

nslookup wunderground.com
Server:         192.168.0.3
Address:        192.168.0.3#53

Non-authoritative answer:
Name:   wunderground.com
Address: 184.27.38.9

Was mir ansonsten noch auffällt ist halt das die wunderground.com Seite ab und an sehr schleppend/langsam ist, und mich noch Frage ob es hier im Modul evenutell zu einem Timeout kommt. Die Logeinträge erscheinen nicht bei jeder Übertragung (im Moment habe ich Up- und Download auf 3 Minuten gestellt.)

Hi Simon,
Leider kann ich dir da nicht helfen - bei mir kommen keine Fehler in der Art. Ob das von der pfsense kommt, kann ich nicht sagen. Die Fehlermeldung „temporärer Fehler bei der Namensauflösung“ ist auch nicht aus dem Modul.

Kannst du das mit der Firewall mal prüfen. Wie gesagt kann ich aktuell keine Probleme feststellen.

Viele Grüße

Enno

Danke trotzdem,
mal schauen ob sich das beruhigt, ich hab hier was umgestellt.

Also, die DNS Timeout Meldungen sind weg,
hatte einen Zusammenhang mit Quad9 und DnsOverTLS, was für diese Aufgabe wohl einfach zu langsam war.

Jedoch habe ich weiterhin dieses Problem:

31.08.2020 16:39:09 | 11249 | ERROR   | TimerPool            | WundergroundPWSSync (UpdateTimer): <br />
<b>Warning</b>:  file_get_contents(https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=TRALALA&PASSWORD=TRALALA&dateutc=now&tempf=62.96&humidity=72): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized
 in <b>/var/lib/symcon/modules/.store/elueckel.wundergroundpwssync/WundergroundPWSSync/module.php</b> on line <b>1781</b><br />

Und das kommt in verschiedenen Abständen, mal 1x in der Stunde, mal 3x in der Stunde.
(Der Upload erfolgt im Minuten Takt).

Ich habe nun den Upload (bei allen vom DNS genannten wunderground-api Systemen) manuell per PHP-Script ausgeführt, was auch meistens fehlerfrei funktioniert, schaffe es aber auch hier den „HTTP/1.1 401 Unauthorized“ zu bekommen.
Ich verstehs nicht :mad:
So richtig problemlos scheint die API aber wohl nicht zu sein, oder mit meinem Useraccount bei Wundertüte stimmt was nicht

root@io ~ > dig A weatherstation.wunderground.com @192.168.0.3

; <<>> DiG 9.11.5-P4-5.1+deb10u2-Debian <<>> A weatherstation.wunderground.com @192.168.0.3
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56389
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;weatherstation.wunderground.com. IN    A

;; ANSWER SECTION:
weatherstation.wunderground.com. 33 IN  CNAME   rtupdate.wunderground.com.
rtupdate.wunderground.com. 26   IN      CNAME   prod-pws-ng-ingest.prod-pws-ng-546567-997b58a668d15d562a6bed58ea7c5f9e-0001.us-south.containers.appdomain.cloud.
prod-pws-ng-ingest.prod-pws-ng-546567-997b58a668d15d562a6bed58ea7c5f9e-0001.us-south.containers.appdomain.cloud. 182 IN CNAME prod-pws-ng-546567-997b58a668d15d562a6bed58ea7c5f9e-0001.us-south.containers.appdomain.cloud.
prod-pws-ng-546567-997b58a668d15d562a6bed58ea7c5f9e-0001.us-south.containers.appdomain.cloud. 29 IN A 169.60.133.174
prod-pws-ng-546567-997b58a668d15d562a6bed58ea7c5f9e-0001.us-south.containers.appdomain.cloud. 29 IN A 169.47.111.60
prod-pws-ng-546567-997b58a668d15d562a6bed58ea7c5f9e-0001.us-south.containers.appdomain.cloud. 29 IN A 52.116.188.162

;; Query time: 36 msec
;; SERVER: 192.168.0.3#53(192.168.0.3)
;; WHEN: Mo Aug 31 16:49:52 CEST 2020
;; MSG SIZE  rcvd: 270

Hi,
beim Upload von Daten musst Du die Station ID, also bei mir IHESSEN22 und den Stationkey vom Account verwenden (nicht den API Key - der kommt oben rein).

Bei mir treten keine Fehler auf. Oft wird aber Station Key und API Key verwechselt.

Hallo,

vielen Dank. Ich habe es jedoch von Anbeginn schon so drin.
Wie gesagt wenn ich es manuell per Script aufrufe:

echo file_get_contents("https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=PIPAPO&PASSWORD=TRALALA&dateutc=now&tempf=59.72&humidity=77");

funktionierts mal, und mal nicht (3 Sekunden später)

Ich sende dir ein PN mit meinen Daten

Hallo Zusammen,

hab ne Anfängerfrage und Suche nach einer kurzen Anleitung.

Die Tagesabschnitte werden geladen auch eine variable Icon ist dabei.
Wie baue ich mir jetzt in IPS Studio z.B. ein Widget bzw, wie kann ich diese Variable darstellen.

Beste Grüße

Vor derselben Aufgabe stehe ich auch gerade :slight_smile:

Habe hier eine „Übersetzungstabelle“ gefunden, welche Icon Nummer zu welchem Icon Bild passt.
Die zugehörigen Icons kannst du von Weather Underground auf deinen PC runterladen.

Du kannst in IPS Studio in deiner View ein Association Image einfügen. Diesem Image weist du die ID deiner Icon-Variable zu.
In den Eigenschaften des Association Image musst du nun die entsprechende Anzahl von Assoziationen erstellen.
In den erstellten Assoziationen weist du den einzelnen Icon Nummern jeweils das passende Bild zu:

Assoziation 1 = Bild 1,
Assoziation 2 = Bild 2,

Assoziation 46 = Bild 46,

Das ist eine ziemliche Fleißaufgabe, aber es funktioniert.

Vermutlich gibt es einfachere Lösungen. Wer eine kennt, bitte melden :slight_smile:

TWC Icon Codes & Icon Images v2.0.pdf (342 KB)

Weather Icons - 200x200_PNGs.zip (188 KB)

Editor Assoziationen.JPG

Habe eine neue Wetter View erstellt. Ein Abschnitt zeigt die Vorhersage für tagsüber und der andere Abschnitt zeigt die Vorhersage für die Nacht.
Dabei ist mir aufgefallen, dass die Vorhersagen der Niederschlagswahrscheinlichkeit für den Tagesabschnitt 0 und den Tagesabschnitt 1 immer identisch sind.
Im heutigen Fall werden z.B. für tagsüber 20% und auch für nachts 20% angezeigt.

In der Variable „JSON Raw Data Forecast“ steht ein Regenrisiko von 50%, was auch plausibler ist und zudem in der WU App auf dem Ipad angezeigt wird.

Ist das bei euch auch so?


{"dayOfWeek":["Freitag","Samstag","Sonntag","Montag","Dienstag","Mittwoch"],"expirationTimeUtc":[1602849589,1602849589,1602849589,1602849589,1602849589,1602849589],"moonPhase":["Neumond","zunehmender Sichelmond","zunehmender Sichelmond","zunehmender Sichelmond","zunehmender Sichelmond","zunehmender Sichelmond"],"moonPhaseCode":["N","WXC","WXC","WXC","WXC","WXC"],"moonPhaseDay":[29,1,2,3,4,5],"moonriseTimeLocal":["2020-10-16T06:49:26+0200","2020-10-17T08:15:09+0200","2020-10-18T09:42:07+0200","2020-10-19T11:07:30+0200","2020-10-20T12:28:12+0200","2020-10-21T13:40:32+0200"],"moonriseTimeUtc":[1602823766,1602915309,1603006927,1603098450,1603189692,1603280432],"moonsetTimeLocal":["2020-10-16T18:46:13+0200","2020-10-17T19:10:40+0200","2020-10-18T19:38:28+0200","2020-10-19T20:11:30+0200","2020-10-20T20:53:11+0200","2020-10-21T21:44:40+0200"],"moonsetTimeUtc":[1602866773,1602954640,1603042708,1603131090,1603219991,1603309480],"narrative":["Leichter Regen. Höchsttemperaturen 9 bis 11C und Tiefsttemperaturen 4 bis 6C.","Bedeckt. Höchsttemperaturen 8 bis 10C und Tiefsttemperaturen 3 bis 5C.","Meistens bedeckt. Höchsttemperaturen 10 bis 12C und Tiefsttemperaturen 3 bis 5C.","Meistens bedeckt. Höchsttemperaturen 12 bis 14C und Tiefsttemperaturen 3 bis 5C.","Bedeckt. Höchsttemperaturen 16 bis 18C und Tiefsttemperaturen 9 bis 11C.","Schauer. Höchsttemperaturen 15 bis 17C und Tiefsttemperaturen 11 bis 13C."],"qpf":[0.17,0.0,0.0,0.0,2.23,4.74],"qpfSnow":[0.0,0.0,0.0,0.0,0.0,0.0],"sunriseTimeLocal":["2020-10-16T07:45:12+0200","2020-10-17T07:46:44+0200","2020-10-18T07:48:16+0200","2020-10-19T07:49:47+0200","2020-10-20T07:51:19+0200","2020-10-21T07:52:51+0200"],"sunriseTimeUtc":[1602827112,1602913604,1603000096,1603086587,1603173079,1603259571],"sunsetTimeLocal":["2020-10-16T18:29:54+0200","2020-10-17T18:27:58+0200","2020-10-18T18:26:02+0200","2020-10-19T18:24:08+0200","2020-10-20T18:22:15+0200","2020-10-21T18:20:23+0200"],"sunsetTimeUtc":[1602865794,1602952078,1603038362,1603124648,1603210935,1603297223],"temperatureMax":[10,9,11,13,17,16],"temperatureMin":[5,4,4,4,10,12],"validTimeLocal":["2020-10-16T07:00:00+0200","2020-10-17T07:00:00+0200","2020-10-18T07:00:00+0200","2020-10-19T07:00:00+0200","2020-10-20T07:00:00+0200","2020-10-21T07:00:00+0200"],"validTimeUtc":[1602824400,1602910800,1602997200,1603083600,1603170000,1603256400],"daypart":[{"cloudCover":[90,78,86,78,77,72,66,73,85,92,88,84],"dayOrNight":["D","N","D","N","D","N","D","N","D","N","D","N"],"daypartName":["Heute","Heute Abend","Morgen","Morgen Abend","Sonntag","Sonntagnacht","Montag","Montagnacht","Dienstag","Dienstagnacht","Mittwoch","Mittwochnacht"],"iconCode":[11,26,26,27,28,27,28,27,26,11,11,11],"iconCodeExtend":[1201,2600,2600,2700,2800,2700,2800,2700,2600,1100,1100,1100],"narrative":["Leichter Regen. Kühl. Höchsttemperatur 10C. Wind aus NNO mit 10 bis 15 km/h. Regenrisiko 60 %.","Bedeckt. Ein paar Regentropfen möglich. Tiefsttemperatur 5C. Wind aus N und wechselhaft.","Bedeckt. Kühl. Höchsttemperatur 9C. Wind aus N und wechselhaft.","Meistens bedeckt. Es entsteht stellenweise Nebel. Tiefsttemperatur 4C. Wind aus SW und wechselhaft.","Früh stellenweise Nebel. Meistens bedeckt. Höchsttemperatur 11C. Wind aus WSW und wechselhaft.","Meistens bedeckt. Tiefsttemperatur 4C. Wind aus S und wechselhaft.","Meistens bedeckt. Höchsttemperatur 13C. Wind aus SO und wechselhaft.","Meistens bedeckt. Tiefsttemperatur 4C. Wind aus SO mit 10 bis 15 km/h.","Bedeckt. Höchsttemperatur 17C. Wind aus SSO und wechselhaft.","Schauer. Tiefsttemperatur 10C. Wind aus SSO und wechselhaft. Regenrisiko 50 %.","Schauer. Höchsttemperatur 16C. Wind aus S mit 10 bis 15 km/h. Regenrisiko 50 %.","Schauer. Tiefsttemperatur 12C. Wind aus SSW mit 10 bis 15 km/h. Regenrisiko 50 %."],"precipChance":[60,20,20,20,10,10,10,10,20,50,50,50],"precipType":["rain","rain","rain","precip","rain","precip","rain","precip","rain","rain","rain","rain"],"qpf":[0.32,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.23,2.1,2.64],"qpfSnow":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"qualifierCode":["Q701","Q5036","Q701","Q903","Q904",null,null,null,null,null,null,null],"qualifierPhrase":["Kühl.","Ein paar Regentropfen möglich.","Kühl.","Es entsteht stellenweise Nebel.","Früh stellenweise Nebel.",null,null,null,null,null,null,null],"relativeHumidity":[85,86,83,91,79,84,69,80,66,76,71,75],"snowRange":["","","","","","","","","","","",""],"temperature":[10,5,9,4,11,4,13,4,17,10,16,12],"temperatureHeatIndex":[10,9,9,8,10,8,12,9,16,13,16,15],"temperatureWindChill":[8,6,6,5,5,4,3,3,2,10,10,12],"thunderCategory":[null,null,null,null,null,null,null,null,null,null,null,null],"thunderIndex":[0,0,0,0,0,0,0,0,0,0,0,0],"uvDescription":["Niedrig","Niedrig","Niedrig","Niedrig","Niedrig","Niedrig","Niedrig","Niedrig","Niedrig","Niedrig","Niedrig","Niedrig"],"uvIndex":[1,0,1,0,2,0,2,0,1,0,1,0],"windDirection":[18,8,4,229,242,179,135,130,156,157,178,201],"windDirectionCardinal":["NNO","N","N","SW","WSW","S","SO","SO","SSO","SSO","S","SSW"],"windPhrase":["Wind aus NNO mit 10 bis 15 km/h.","Wind aus N und wechselhaft.","Wind aus N und wechselhaft.","Wind aus SW und wechselhaft.","Wind aus WSW und wechselhaft.","Wind aus S und wechselhaft.","Wind aus SO und wechselhaft.","Wind aus SO mit 10 bis 15 km/h.","Wind aus SSO und wechselhaft.","Wind aus SSO und wechselhaft.","Wind aus S mit 10 bis 15 km/h.","Wind aus SSW mit 10 bis 15 km/h."],"windSpeed":[12,9,5,5,7,5,7,10,9,9,12,11],"wxPhraseLong":["Leichter Regen","Bedeckt","Bedeckt","Stark bewölkt","Stark bewölkt","Stark bewölkt","Stark bewölkt","Stark bewölkt","Bedeckt","Schauer","Schauer","Schauer"],"wxPhraseShort":["","","","","","","","","","","",""]}]}

Ich habe das Modul WundergroundPWSSync instaliert. Ich nutze es z.Zt. nur um die Vorhersage zu laden. Einen API Key und die Location habe ich eingetragen.

Über den ‚Test Download von Vorhersage‘ Button bekomme ich passende Daten. Die Werte werden aber nicht regelmäßig aktualisiert.

Am Ende der Eingabemaske habe ich eine Update Häufigkeit 60 eingestellt.
Was fehlt noch um regelmäßig die Vorhersage zu bekommen?

Der Wert unten ist für den Upload … schau mal oben - da gibt es einen Forecast Interval - da kannst du mal 6 eintragen - dann wird z.B. alle 6h aktualisiert.

Ich werde das Modul mal auf meine Liste für über Weihnachten setzen … die ist lang :slight_smile:

‚Forecast Interval‘ stand auf 12. Hat sich aber seit gestern nichts geändert. Ich habe ihn jetzt mal auf 2 gestellt. Mal sehen ob was geschieht.

Der Wert ganz unten ist beschrieben mit:
Aktualisierungsrate für Wetterdownload
Also auch was für deine Liste.

Aber schön das sich hier noch was tut. :slight_smile:

Und es geht doch!: Daten kamen alle 2 Stunden. Danke!

Danke für den Hinweis … das mit dem Download wird korrigiert. Ist irgendwie noch keinem aufgefallen :slight_smile:

Generell pflege ich meine Module - schnell wenn es kritisch ist, aber seit Sommer leider etwas mit Verzug was Funktionen angeht. Es kommen aber einige update.

An alle Nutzer des Moduls … ich habe das Wunderground Modul endlich überarbeitet. Es war mein erstes wirkliches Modul und war dem entsprechend eher rudimentär was Konfiguration usw. angeht. Ich habe es jetzt deutlich überarbeitet - vor allem was die Konfiguration angeht (danke der aktuellen Forms geht da ja einiges).

Hier ein paar Screenshots

Aktuell ist die 3.0 noch als BETA im Module Store zu finden. Gerne testen und melden wenn etwas nicht gehen sollte.

Eine Frage wäre, ob jemand Interesse an einer Funktion hat, dass das Modul auch Abends einen Wetterbericht schickt. Ich denke darüber nach :-).

Erster Eindruck ist gut. Update ging fehlerlos. Nun erst mal Daten abwarten.

In dem ersten Screenshot ist ein API Key zu sehen. Hoffentlich nicht deiner. :wink:

Danke für die Rückmeldung - der key ist ein dummy [emoji3]

Gesendet von iPhone mit Tapatalk

Ich habe es jetzt eine Weile beobachtet, aber es fehlen oft einige Daten. Mal mit aktuellem Zeitstempel und leer, mal alter Zeitstempel. Eigentlich sollte die Liste immer mit dem aktuellen Block anfangen. Bei der abendlichen Abfrage schreibt er die schon vergangenen Daten vom Morgen.
Den Screenshot habe ich gegen 21:00 erstellt.

Und noch eine Kleinigkeit. Wenn man auch die Icons haben will, wird immer noch ein zusätzlicher Eintrag erstellt.

Es kann sein, dass es seitens der api mal kein neuer wert kommt warum auch immer. Da ich leere Werte mit Isset abfange kann es in der Tat dazu kommen das ein Wert alt bleibt … also es kein Update vom timestamp gibt.

Das mit den icons schaue ich mir an und auch das andere - wobei ich da nicht so viel Hoffnung habe, da alle Werte mit dem neuen Aufbau gleichförmig gesetzt werden (also entweder alle oder keiner).

Gesendet von iPhone mit Tapatalk

Du hast noch einen größeren Fehler in deinem Modul. Es sind nicht nur fehlende Werte die es nicht füllen kann.
Vormittags stimmen alle Werte.
Tagesabschnitt 0 (Aktuelle 12h) Tag oder Nacht steht auf D >alle weiteren Werte stimmen.
Tagesabschnitt 1 (Nächste 12h) Tag oder Nacht steht auf N >>alle weiteren Werte stimmen.

Nachmittags kommt es mit Tagesabschnitt 0 (Aktuelle 12h) durcheinander. Wohl weil es ja in der Zwischenzeit in der Vergangenheit liegt.
Tagesabschnitt 1 (Nächste 12h) werden dann mit aktuellen, N-Heute Abend, Daten gefüllt.

Wann definiert WU eigentlich die Werte D-Vormittags / N-Heute Abend?
00:00 /12:00 oder 07:00 /19:00 Uhr?