Wettervorhersage über die openweather-API von www.wetter.com

Begonnen von tupol, 10 November 2014, 20:35:42

Vorheriges Thema - Nächstes Thema

tupol

Hallo FHEM-Gemeinde,

da nach meiner Erfahrung für meine Region www.wetter.com die genauste Wetter-Prognose liefert, habe ich mir mal ein Modul 59_OPENWEATHER.pm gestrickt, das die openweather-API der Website nutzt.

Es erfordert aber eine Registrierung als Benutzer und eines Projektes auf der Website. Näheres (morgen) in der commandref.

Gruß

tupol

betateilchen

Hättest Du das nicht in das bereits für wetter.com bestehende Modul 55_weco integrieren können? Zwei Module für den gleichen Onlinedienst finde ich nicht besonders zielführend und könnte einige Verwirrung stiften.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

tupol

#2
Hatte ich kurz überlegt, aber weco schreibt und openweather liest mit völlig unterschiedlichen Parametern. Es ist wenig zielführend und auch verwirrend solche völlig unterschiedlichen Funktionen in einem Modul zu integrieren, bloß weil es die selbe Website ist. Die Benutzer installieren die Module eher, weil sie eine gewünschte Funktion brauchen, nicht weil sie alle Onlinedienste einer Webseite nutzen wollen. Und die Einstellungen der Module muss dann einfach und schnell gehen.

betateilchen

Die SET und GET Funktionen von weco sind alle unbenutzt.

Und das Modul sendet nur, wenn es attributgesteuert entsprechend konfiguriert ist. Man könnte also senden ODER lesen ODER beides - je nach Anwenderwunsch.

Ich meine ja nur...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

FHEMbeta

Ich habe das Modul gerade getestet und es funktioniert. Vielen Dank!

Gibt es eine Möglichkeit, die Werte der Wettervorhersage für die nächsten 14 Tage zu integrieren? Diese sind auf wetter.com in einem Diagramm dargestellt. Hinweise, wie diese über die API zu extrahieren sind, konnte ich nicht finden.

tupol

Leider nicht, zumindest nicht über die API. Für was benötigst Du die?

FHEMbeta

Wir haben hier einige Pflanzen, welche im Winter einen aufwändigen Schutz brauchen (samt Heizung, Umbau usw.).

Es wäre schön, wenn ich via FHEM gewarnt werden könnte, sobald die Wetterprognose eine bestimmte Temperatur unterschreitet.

tupol

#7
Versuch mal PROPLANTA. Wenn Du z.B. direkt die URL des 12-14 Tage-Wetters eingibst, erhälst Du unter fc0-fc2 entsprechende Werte für Tag 12-14.
Passende URL wäre z.B.
http://www.proplanta.de/Wetter/profi-wetter.php?SITEID=60&PLZ=Hannover&STADT=Hannover&WETTERaufrufen=stadt&Wtp=&SUCHE=Wetter&wT=11

Allerdings ist PROPLANTA für meine Region für die Min/Max-Temperaturen und die Regenwahrscheinlichkeit zu ungenau. Deshalb nutze ich dafür OPENWEATHER.

Edit: PROPLANTA zeigt jetzt die kompletten Daten der Website, also der nächsten 14 Tage, an.

Gruß

tupol

TecCheck

Hallo tupol,

Vielen Dank für das neue Modul. Es funktioniert einwandfrei!

Ich finde auch, das Wetter.com die genauesten Daten liefert.
Hatte bisher yahoo-Wetter benutzt und mir den Wetterbericht via fhem ansagen lassen, aber die Genauigkeit lässt mitunter sehr zu wünschen übrig.

Wäre es möglich in den Readings den Tag oder Wochentag einzubauen (zB. fc0_day oder fc0_weekday)?

Grüße
TecCheck

Intel NUC mit Ubuntu als FHEM-Server,
CUL  868, RFXTRX 433, Jeelink-PCA,ZWDongle, HMLan
Aktivlautsprecher über LineIn und Display per HDMI am NUC,
diverse FS20 und Intertechno - Komponenten, Oregon Temp-Hum-Sensoren, HomeMatic, PCA301, KS300,Sonos, ZWave, Alexa,Echo's

tupol

Zitat von: TecCheck am 13 November 2014, 20:41:41
Wäre es möglich in den Readings den Tag oder Wochentag einzubauen (zB. fc0_day oder fc0_weekday)?

Erledigt. fc0_wday.

TecCheck

Zitat von: tupol am 13 November 2014, 23:25:19
Erledigt. fc0_wday.
Super und Danke!
Jetzt wird bei mir genaues Wetter angesagt.  ;D

TecCheck
Intel NUC mit Ubuntu als FHEM-Server,
CUL  868, RFXTRX 433, Jeelink-PCA,ZWDongle, HMLan
Aktivlautsprecher über LineIn und Display per HDMI am NUC,
diverse FS20 und Intertechno - Komponenten, Oregon Temp-Hum-Sensoren, HomeMatic, PCA301, KS300,Sonos, ZWave, Alexa,Echo's

cerberus

Hallo, wie visualisiere ich jetzt die Wetterdaten? Mache ich das mit ReadingsGroup oder Weblink?

Grüße
cerberus
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

dan1180

Hallo,

ich habe mir das Modul mal eingerichtet, bin aber auf 2 "Probleme" gestoßen:


  • Bei mir werden in den Readings weder Windstärke/-richtung noch Niederschlagswahrscheinlichkeit angezeigt
  • Kann ich im weblink mit DevStateIcon arbeiten? State steht bei mir die ganze Zeit auf "initialized"
  • Kann man den Text "powered by..." auch irgendwie verstecken oder ist das ne copyright-Geschichte?

Danke
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

tupol

Zitat von: dan1180 am 19 November 2014, 20:43:51

  • Bei mir werden in den Readings weder Windstärke/-richtung noch Niederschlagswahrscheinlichkeit angezeigt
  • Kann ich im weblink mit DevStateIcon arbeiten? State steht bei mir die ganze Zeit auf "initialized"
  • Kann man den Text "powered by..." auch irgendwie verstecken oder ist das ne copyright-Geschichte?
1 Was bekommst Du im "get ... apiResponse"?
2 Versteh ich nicht.
3 ja copyright


dan1180

Hallo tupol,

1.
Response of http://api.wetter.com/forecast/weather/city/DE0006528009/project/fhemdoebler/cs/a0807f56dac8e0f34ef2488388a95d6c
Runtime: 0.35 s
_________________

<?xml version="1.0" encoding="UTF-8"?>
<city>
  <city_code>DE0006528009</city_code>
  <name>Münsingen</name>
  <url>deutschland/muensingen/dottingen/DE0006528009.html</url>
  <post_code>72525</post_code>
  <credit>
    <!--In order to use the free weather data from wetter.com you HAVE TO display at least two out of three of the following possibilities: text, link, logo-->
    <text>Powered by wetter.com</text>
    <link>http://www.wetter.com</link>
    <logo>Download at http://www.wetter.com/api/downloads/#logos</logo>
  </credit>
  <forecast>
    <date value="2014-11-20">
      <w>45</w>
      <tx>5</tx>
      <time value="06:00">
        <w>3</w>
        <tx>3</tx>
        <tn>1</tn>
        <p>5</p>
        <d>1416463200</d>
        <w_txt>bedeckt</w_txt>
      </time>
      <time value="11:00">
        <w>3</w>
        <tx>4</tx>
        <tn>3</tn>
        <p>6</p>
        <d>1416481200</d>
        <w_txt>bedeckt</w_txt>
      </time>
      <time value="17:00">
        <w>45</w>
        <tx>5</tx>
        <tn>2</tn>
        <p>6</p>
        <d>1416502800</d>
        <w_txt>Nebel</w_txt>
      </time>
      <time value="23:00">
        <w>45</w>
        <tx>2</tx>
        <tn>1</tn>
        <p>6</p>
        <d>1416524400</d>
        <w_txt>Nebel</w_txt>
      </time>
      <d>1416463200</d>
      <tn>1</tn>
      <p>24</p>
      <w_txt>Nebel</w_txt>
    </date>
    <date value="2014-11-21">
      <w>45</w>
      <tx>7</tx>
      <time value="06:00">
        <w>45</w>
        <tx>4</tx>
        <tn>1</tn>
        <p>5</p>
        <d>1416549600</d>
        <w_txt>Nebel</w_txt>
      </time>
      <time value="11:00">
        <w>3</w>
        <tx>6</tx>
        <tn>4</tn>
        <p>6</p>
        <d>1416567600</d>
        <w_txt>bedeckt</w_txt>
      </time>
      <time value="17:00">
        <w>45</w>
        <tx>7</tx>
        <tn>3</tn>
        <p>6</p>
        <d>1416589200</d>
        <w_txt>Nebel</w_txt>
      </time>
      <time value="23:00">
        <w>2</w>
        <tx>4</tx>
        <tn>4</tn>
        <p>6</p>
        <d>1416610800</d>
        <w_txt>wolkig</w_txt>
      </time>
      <d>1416549600</d>
      <tn>1</tn>
      <p>24</p>
      <w_txt>Nebel</w_txt>
    </date>
    <date value="2014-11-22">
      <w>1</w>
      <tx>13</tx>
      <time value="06:00">
        <w>2</w>
        <tx>9</tx>
        <tn>2</tn>
        <p>5</p>
        <d>1416636000</d>
        <w_txt>wolkig</w_txt>
      </time>
      <time value="11:00">
        <w>2</w>
        <tx>11</tx>
        <tn>9</tn>
        <p>6</p>
        <d>1416654000</d>
        <w_txt>wolkig</w_txt>
      </time>
      <time value="17:00">
        <w>1</w>
        <tx>13</tx>
        <tn>5</tn>
        <p>6</p>
        <d>1416675600</d>
        <w_txt>leicht bewölkt</w_txt>
      </time>
      <time value="23:00">
        <w>1</w>
        <tx>5</tx>
        <tn>4</tn>
        <p>6</p>
        <d>1416697200</d>
        <w_txt>leicht bewölkt</w_txt>
      </time>
      <d>1416636000</d>
      <tn>2</tn>
      <p>24</p>
      <w_txt>leicht bewölkt</w_txt>
    </date>
  </forecast>
</city>


2.
Ich möchte gerne entsprechend der Vorhersage (Nebel, bewölkt, ...) ein Icon anzeigen lassen. Kann ich das irgendwie direkt über devStateIcon oder muss ich da mit was virtuellem und Notify ran?

3.
Dachte ich mir...

Gruß Dan
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

tupol

zu 1. Bitte commandref lesen und Projekt auf wetter.com passend einstellen.

zu 2. Das sagt mir alles nichts. Ein Icon könnte man sich selber aus dem weathercode basteln.


dan1180


  • Danke. Commandref hat mir da nicht weiter geholfen aber ein erneuter Blick auf Wetter.com. Hatte mir nur die Wettervorhersage angeschaut und dort die gewünschten Werte gefunden, nicht aber kapiert warum die nicht übermittelt werden. Für alle mit den selben Problemen: wetter.com -> Projektverwaltung -> Projekt wählen -> Vorhersageeinstellungen (rechte Seite wird übermittelt)
  • Bei der Wettervorhersage von Yahoo wird wenn es regnet eine Regenwolke darkestellt. Wenn die Sonne scheint eine Sonne und wenn es bewölkt ist... Bei OPENWEATHER werden keine Bilder angezeigt. Wenn ich eine Lampe einschalte kann ich über devStateIcon ein anderes Bild anzeigen lassen als wenn ich diese Lampe aus schalte. Nun meine Frage: Kann ich solche Bilder/Icons über devStateIcon anzeigen lassen (wenn ja wie) oder muss ich mir ein Notify schreiben welches bei einer Wetteränderung den Status wechselt?
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

tupol

#17
1. Stimmt. Zitat commandref: Wichtig! Die Vorhersagewerte (in Klammern) müssen zuerst in den Vorhersageeinstellungen des Projektes auf wetter.com ausgewählt werden.
2. Kann man nicht.

dan1180

Ok, das hab ich dann ca 126x überlesen  ::) Dank dir.

Zu 2. werd ich das glaub mal für meinen Floorplan mit nem virtuellen device und nem Notify versuchen...

Gruß
Dan
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

oracess

Hallo,

Ich bekomme im Log folgende Meldung:

"PERL WARNING: Invalid conversion in sprintf: "%<" at ./FHEM/59_OPENWEATHER.pm line 489."

Ich komme nicht weiter, da ich glaube alles richtig gemacht zu haben (lt. Anleitung). Im Ergebnis ist auch nichts Sonderbares zu erkennen - es wird die Dreitagesvorschau korrekt dargestellt.

Vorhersage Petronell
heute   bedeckt
min. 3 °C max. 5 °C
Nieders.risiko: 90 %
Wind: 16 km/h aus O
Do   bedeckt
min. 5 °C max. 6 °C
Nieders.risiko: 30 %
Wind: 20 km/h aus O
Fr   bedeckt
min. 5 °C max. 5 °C
Nieders.risiko: 75 %
Wind: 10 km/h aus O

#Start wetter.com
define Wetter OPENWEATHER raspifhem ATAT10016001 xxxxxxxxxxxxxx
attr Wetter room Plots
define MyForecast weblink htmlCode { OPENWEATHER_Html("Wetter") }
attr MyForecast fp_Aussen 150,350,1,WETTER.COM
#Ende wetter.com

Danke für einen Hinweis !

tupol


oracess

Herzlichen Dank - funkt jetzt ohne Fehlermeldung im Log !!
:) :) :)

dan1180

Hallo zusammen und frohes neues Jahr!

Ich habe mich mal daran gemacht diese Wettervorhersage mit schönen Bildern zu versehen (siehe Anhang). Gelöst habe ich mein Vorhaben mittels dummys und notifys. Hier mein Vorgehen:

Zuerst habe ich mir die Übersetzung der WetterCodes auf der wetter.com Seite gesucht.
http://www.wetter.com/apps_und_mehr/website/api/dokumentation/#  -> Wetterzustände
Ich finde das einfacher als über die Text-Zustände zu gehen, da hier u.U. Leerzeichen, Sonderzeichen, etc. auftauchen. Außerdem finde ich das unten stehende Notify übersichtlicher.

Dann habe ich mir drei dummys definiert (heute, morgen, übermorgen). Diese heißen bei mir WI0, WI1 und WI2 (WeatherIcon#). Diesen habe ich verschiedene StateIcons gegeben.
attr WI# devStateIcon 0:icn_sunny_S 1:icn_partlycloudy_S 2:icn_cloudy_S 3:icn_cloudy_S 4:icn_foggy_S 5:icn_rainy_S 6:icn_rainy_S 7:icn_snow_S 8:icn_rainy_S 9:icn_thunder_S
Mir reichen hier die 10 Hauptzustände aus. Es kann natürlich auch für jeden der 46? WetterCodes ein eigenes Icon definiert werden. Die Icons habe ich mir im Internet gesucht. Bitte darauf achten, dass sie "Freeware" sind.

Last but not least braucht man jetzt noch die notifys zur Statusänderung. Miene heißen nt_WC# (notify_WeatherCode), meine Vorhersage heißt Forecast. Also:
define nt_WC# notify Forecast:fc#_weatherCode:.* {CODE}

Mit folgendem code am Beispiel fc0 (Wetter heute):
if (ReadingsVal("Forecast","fc0_weatherCode",999) eq 0) {fhem("set WI0 0")}

elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 1) {fhem("set WI0 1")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 10) {fhem("set WI0 1")}

elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 2) {fhem("set WI0 2")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 20) {fhem("set WI0 2")}

elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 3) {fhem("set WI0 3")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 30) {fhem("set WI0 3")}

elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 4) {fhem("set WI0 4")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 40) {fhem("set WI0 4")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 45) {fhem("set WI0 4")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 48) {fhem("set WI0 4")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 49) {fhem("set WI0 4")}

elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 5) {fhem("set WI0 5")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 50) {fhem("set WI0 5")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 51) {fhem("set WI0 5")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 53) {fhem("set WI0 5")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 55) {fhem("set WI0 5")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 56) {fhem("set WI0 5")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 57) {fhem("set WI0 5")}

elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 6) {fhem("set WI0 6")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 60) {fhem("set WI0 6")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 61) {fhem("set WI0 6")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 63) {fhem("set WI0 6")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 65) {fhem("set WI0 6")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 66) {fhem("set WI0 6")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 67) {fhem("set WI0 6")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 68) {fhem("set WI0 6")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 69) {fhem("set WI0 6")}

elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 7) {fhem("set WI0 7")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 70) {fhem("set WI0 7")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 71) {fhem("set WI0 7")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 73) {fhem("set WI0 7")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 75) {fhem("set WI0 7")}

elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 8) {fhem("set WI0 8")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 80) {fhem("set WI0 8")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 81) {fhem("set WI0 8")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 82) {fhem("set WI0 8")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 83) {fhem("set WI0 8")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 84) {fhem("set WI0 8")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 85) {fhem("set WI0 8")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 86) {fhem("set WI0 8")}

elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 9) {fhem("set WI0 9")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 90) {fhem("set WI0 9")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 95) {fhem("set WI0 9")}
elsif (ReadingsVal("Forecast","fc0_weatherCode",999) eq 96) {fhem("set WI0 9")}

else {fhem("set WI0 999")}

Hier reduziere ich die Zwischenstufen auf die für mich ausreichenden 10 Haupt-Zustände. Ich habe versucht das etwas einfacher zu machen, leider aber bisher (heute) nicht geschafft. Da fehlt mir einfach Programmierkenntnis/-erfahrung.

Bei Fragen oder Anregungen (vor Allem zur Vereinfachung der Notifys) keine Zurückhaltung  ;)

Grüße
Dan
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

tupol

Gute Sache.  Auf Wetter.vom gibt es auch Icons für jeden Wetterzustand.

thunder1902

Hallo!

2 Fragen:

1. Bei mir werden die Vorhersagen für die nächsten beiden Tage nicht übermittelt. Auf der Projektverwaltung habe ich alle Werte zur Übermittlung "freigegeben". Es werden aber nur Werte des laufenden Tages angezeigt.
Zitatheute   wolkig
min. -3 °C max. 4 °C
Nieders.risiko: 30 %
Wind: 7 km/h aus W

min. °C max. °C
Nieders.risiko: %
Wind: km/h aus

min. °C max. °C
Nieders.risiko: %
Wind: km/h aus
powered by wetter.com

2. Was macht folgende Zeile?
attr MyForecast fp_Aussen 150,350,1,WETTER.COM

tupol

Zitat
1. Bei mir werden die Vorhersagen für die nächsten beiden Tage nicht übermittelt. Auf der Projektverwaltung habe ich alle Werte zur Übermittlung "freigegeben". Es werden aber nur Werte des laufenden Tages angezeigt.
Vermutlich hast Du nur einen Tag ausgewählt.

thunder1902


dan1180

Kleine Ergänzung noch:

Die Icons sind nicht in der Vorhersage integriert. Es wurden lediglich die Dummies auf dem Floorplan entsprechend positioniert.

Gruß
Dan
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

Andy89

Servus,
irgendwie bekomme ich die Icons immer noch nicht hin. Vielleicht kann ja mal jemand schauen, was der Fehler dafür ist.
#Wetter.com
define Forecast OPENWEATHER wettercomfhem DE000**** *********************
attr Forecast room Wetter
define myForecast weblink htmlCode { OPENWEATHER_Html("Forecast") }
attr myForecast fp_Grundriss 501,50,0,
attr myForecast room Wetter

define WI0 dummy
attr WI0 room Wetter
#attr WI0 devStateIcon 0:wettercom_icons/d_0_M 1:wettercom_icons/d_1_M 10:wettercom_icons/d_10_M 2:wettercom_icons/d_2_M 3:wettercom_icons/d_3_M 4:wettercom_icons/d_4_M 5:wettercom_icons/d_5_M 6:wettercom_icons/d_6_M 7:wettercom_icons/d_7_M 8:wettercom_icons/d_8_M 9:wettercom_icons/d_9_M
#attr WI0 setList 0 1 10 2 3 4 5 6 7 8 9

define nt_WC0 notify Forecast:fc0_weatherCode: .* {if (ReadingsVal("Forecast","fc0_weatherCode",999) eq 0) {fhem("set WI0 0")}\
\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 1) {fhem("set WI0 1")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 10) {fhem("set WI0 1")}\
\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 2) {fhem("set WI0 2")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 20) {fhem("set WI0 2")}\
\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 3) {fhem("set WI0 3")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 30) {fhem("set WI0 3")}\
\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 4) {fhem("set WI0 4")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 40) {fhem("set WI0 4")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 45) {fhem("set WI0 4")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 48) {fhem("set WI0 4")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 49) {fhem("set WI0 4")}\
\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 5) {fhem("set WI0 5")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 50) {fhem("set WI0 5")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 51) {fhem("set WI0 5")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 53) {fhem("set WI0 5")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 55) {fhem("set WI0 5")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 56) {fhem("set WI0 5")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 57) {fhem("set WI0 5")}\
\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 6) {fhem("set WI0 6")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 60) {fhem("set WI0 6")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 61) {fhem("set WI0 6")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 63) {fhem("set WI0 6")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 65) {fhem("set WI0 6")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 66) {fhem("set WI0 6")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 67) {fhem("set WI0 6")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 68) {fhem("set WI0 6")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 69) {fhem("set WI0 6")}\
\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 7) {fhem("set WI0 7")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 70) {fhem("set WI0 7")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 71) {fhem("set WI0 7")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 73) {fhem("set WI0 7")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 75) {fhem("set WI0 7")}\
\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 8) {fhem("set WI0 8")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 80) {fhem("set WI0 8")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 81) {fhem("set WI0 8")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 82) {fhem("set WI0 8")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 83) {fhem("set WI0 8")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 84) {fhem("set WI0 8")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 85) {fhem("set WI0 8")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 86) {fhem("set WI0 8")}\
\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 9) {fhem("set WI0 9")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 90) {fhem("set WI0 9")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 95) {fhem("set WI0 9")}\
elsif(ReadingsVal("Forecast","fc0_weatherCode",999) eq 96) {fhem("set WI0 9")}\
\
else {fhem("set WI0 999")}}
attr nt_WC0 room Wetter


Ich vermute es hat irgendwas mit dem dummy zu tun. Denn der folgende Code ändert den Status von WI0 auch nicht. Das notify test2 funktioniert ohne Probleme. Und das ändern in der Befehlszeile geht auch ohne Probleme.
define test2 notify WZ_Balkontür: .* {fhem("set WZ_Wanthermostat_Climate desired-temp 12.0")}
define test notify WZ_Balkontür: .* {fhem("set WI0 0")}
attr test room Wetter


Ich hoffe ihr könnt mir helfen.

Beste Grüße
Andy
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

Andy89

ich habe heute herausgefunden, wie man einen Code direkt in den notifys editieren kann.
Mit dieser neu-erlangten Macht funktionieren die Icons nun auch bei mir....

so einfach kann es gehen, wenn man den Code nicht direkt in die fhem.cfg schreibt ;D ;D ;D
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

MaJu

Folgende Erfolgsmeldung zu den Icons in einer ReadingsGroup:

Ich habe die Icons von http://www.wetter.com/apps_und_mehr/website/api/downloads/ runtergeladen.
Dort sind jeweils Bilddateien beginnend mit "d_" für die Tag-Icons und "n_" für die Nachticons, gefolgt vom Wetter-Code und hintendran "_S|M|L" für die Bildgröße.

Diese habe ich umbenannt, mit Hilfe des Windows-Programms "Joe".
Die Dateien heißen bei mir nun zum Beispiel weather_Tag_33.png oder weather_Nacht_5.png. Die Zahlen habe ich also gelassen, nur das davor angepasst und das dahinter gelöscht.

Zur Vereinfachung sind bei mir die Zeiten ab 6 Uhr, ab 11 Uhr und ab 17 Uhr mit "Tag"-Icons versehen. Nur ab 23 Uhr ist bei mir "Nacht".

Und nun das kurze Spiel, mit dem alle 90 Icons richtig auf diese 4 Zeitverteilungen bei allen Tagen verteilt werden:

attr rg_openweather valueIcon {return "weather_Tag_%VALUE" if( $READING =~ m/Code06/ ); return "weather_Tag_%VALUE" if( $READING =~ m/Code11/ ); return "weather_Tag_%VALUE" if( $READING =~ m/Code17/ ); return "weather_Nacht_%VALUE" if( $READING =~ m/Code23/ )}


Und wer einmal dabei ist, nachfolgendes setzt bei allen Temperaturen dahinter " °C", bei der Windgeschwindigkeit " km/h" und bei der Regenwahrscheinlichkeit " %":
attr rg_openweather valueFormat {return "%i&nbsp;°C" if( $READING =~ m/temp/ ); return "%i&nbsp;%%" if( $READING =~ m/chOfRain/ ); return "%i&nbsp;km/h" if( $READING =~ m/wind/ ) }

_______________________
DANKE für dieses Modul!
Eine kurze Rückfrage: Beim aktuellen Tag gibt "fc0_wday" den Wochentag aus. Leider gibt es aber fc1_wday und fc2_wday nicht. Wird das aber mit übermittelt und kann mit eingebunden werden?

Warum? Ich möchte gern wissen, ab wann der Folgetag angezeigt wird. Ohne die Wochentagsangabe geht das aber leider nicht, da ich es anhand der Werte nicht unterscheiden kann.
Erlebnisreiche Grüße aus Leipzig!

MaJu

Mir fällt gerade auf, dass "fc0_wday" nicht aktualisiert wird. Es ist immer noch der 16.01.2015 mit "Fr". Ich glaube, da hatte ich es installiert.
Habe ich einen Fehler, oder ist das bei euch auch so?

Mir fehlt einfach eine Info nach Mitternacht, ob noch die Daten des vergangenen Tages angezeigt werden, oder schon die vom neuen Tag.
Erlebnisreiche Grüße aus Leipzig!

Andy89

bei mir aktualisiert sich das ganz normal in dem Intervall wie auch alle anderen Daten.
Also musst du wohl irgendwie einen Fehler drin haben
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

MaJu

Danke, ich hatte bei wetter.com die UTC-Zeitangaben rausgenommen da ich dachte ich brauche sie nicht. Nun habe ich sie drin und die Wochentage werden alle 3 immer aktuell mit angezeigt.
Erlebnisreiche Grüße aus Leipzig!

cerberus

Hallo MaJu, würdest du bitte den ganzen Code der ReadingsGroupe veröffentlichen?

Danke dir
cerberus
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

Tutti_Bomovski

MyWeather is not a OPENWEATHER instance

define MyForecast weblink htmlCode { OPENWEATHER_Html("MyWeather") }

Intruder1956

Hallo,

ich habe gerade eben das Modul OPENWEATHER installiert und es funktioniert. Toll gemacht  ;)
Habe auch die 3 Tagesansicht inkl. Regen und Wind
Ich hab auch die Bilddateien runtergeladen.

Frage an @MaJu, wo kommen die Bilder hin ??  /www/Images/default ?
Das attr valueIcon kommt ins Weblink oder in das OPENWEAHTER  ???

Danke für die Antwort
und weiter so  ;D

Gruss Werner aus dem Westerwald (wo andere Urlaub machen )  8) 8) 8)

Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

Intruder1956

frohe Weihnachten,
wäre schon cool gewesen wenn MaJu uns den Code der ReadingsGroupe geliefert hätte.  :D :D
Habe noch keine Bildchen

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

MaJu

Weil heute Weihnachten ist ;-)
Sorry, durch Ende meines Arbeitsvertrages und parallelen Neuaufbau einer eigenen Existenz fehlt mir vorn und hinten die Zeit. Deshalb bin ich dem Forum die letzten Monate fern geblieben, das wird leider auch noch ein paar Wochen andauern :-(

Ich nutze für das Wetter openweather.
Das ist meine Readingsgroup:
<6-11 Uhr>,<11-17 Uhr>,<17-23 Uhr>,<23-6 Uhr>
<>
<>
openweather:fc0_weatherCode06,fc0_weatherCode11,fc0_weatherCode17,fc0_weatherCode23

d_Temp_1_1:state,state@d_Temp_1_2,state@d_Temp_1_3,state@d_Temp_1_4

openweather:fc0_wind06,fc0_wind11,fc0_wind17,fc0_wind23

openweather:fc0_chOfRain06,fc0_chOfRain11,fc0_chOfRain17,fc0_chOfRain23
<>
<>
<>
<>
<>
openweather:fc1_weatherCode06,fc1_weatherCode11,fc1_weatherCode17,fc1_weatherCode23

d_Temp_2_1:state,state@d_Temp_2_2,state@d_Temp_2_3,state@d_Temp_2_4

openweather:fc1_wind06,fc1_wind11,fc1_wind17,fc1_wind23

openweather:fc1_chOfRain06,fc1_chOfRain11,fc1_chOfRain17,fc1_chOfRain23
<>
<>
<>
<>
<>
openweather:fc2_weatherCode06,fc2_weatherCode11,fc2_weatherCode17,fc2_weatherCode23

d_Temp_3_1:state,state@d_Temp_3_2,state@d_Temp_3_3,state@d_Temp_3_4

openweather:fc2_wind06,fc2_wind11,fc2_wind17,fc2_wind23

openweather:fc2_chOfRain06,fc2_chOfRain11,fc2_chOfRain17,fc2_chOfRain23


Das mit "d_" davor sind dummys, denn ich möchte Min- und Max-Temperatur als EIN Element haben. Erzeugt werden sie mit einem DOIF:
([openweather:?Leipzig]) (set d_Temp_1_1 [openweather:fc0_tempMin06]°C | [openweather:fc0_tempMax06]°C, set d_Temp_1_2 [openweather:fc0_tempMin11]°C | [openweather:fc0_tempMax11]°C, set d_Temp_1_3 [openweather:fc0_tempMin17]°C | [openweather:fc0_tempMax17]°C, set d_Temp_1_4 [openweather:fc0_tempMin23]°C | [openweather:fc0_tempMax23]°C, set d_Temp_2_1 [openweather:fc1_tempMin06]°C | [openweather:fc1_tempMax06]°C, set d_Temp_2_2 [openweather:fc1_tempMin11]°C | [openweather:fc1_tempMax11]°C, set d_Temp_2_3 [openweather:fc1_tempMin17]°C | [openweather:fc1_tempMax17]°C, set d_Temp_2_4 [openweather:fc1_tempMin23]°C | [openweather:fc1_tempMax23]°C, set d_Temp_3_1 [openweather:fc2_tempMin06]°C | [openweather:fc2_tempMax06]°C, set d_Temp_3_2 [openweather:fc2_tempMin11]°C | [openweather:fc2_tempMax11]°C, set d_Temp_3_3 [openweather:fc2_tempMin17]°C | [openweather:fc2_tempMax17]°C, set d_Temp_3_4 [openweather:fc2_tempMin23]°C | [openweather:fc2_tempMax23]°C)

Ich hoffe, damit erstmal geholfen zu haben. Die Bilder habe ich im Standard-Ordner, komme da aber im Moment nicht ran weil ich irgendwas versaut habe.

In Kürze erstelle ich eine neue FHEM-Konfiguration, die hauptsächlich Wetter, Kalender und HUE-Steuerung enthält, da ich das dann in meinem Laden (www.stadtstromer.com - Erlebe Leipzig auf dem Segway!) benötige. Das werde ich hier dann ausführlich gleich von Beginn an vorstellen.
Erlebnisreiche Grüße aus Leipzig!