FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: tupol am 10 November 2014, 20:35:42

Titel: Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: tupol am 10 November 2014, 20:35:42
Hallo FHEM-Gemeinde,

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

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

Gruß

tupol
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: betateilchen am 10 November 2014, 21:02:43
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.
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: tupol am 10 November 2014, 21:37:28
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.
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: betateilchen am 10 November 2014, 21:40:54
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...
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: FHEMbeta am 12 November 2014, 16:45:39
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.
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: tupol am 12 November 2014, 18:16:27
Leider nicht, zumindest nicht über die API. Für was benötigst Du die?
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: FHEMbeta am 12 November 2014, 19:22:00
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.
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: tupol am 12 November 2014, 22:41:29
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
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: TecCheck am 13 November 2014, 20:41:41
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

Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: tupol am 13 November 2014, 23:25:19
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.
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: TecCheck am 14 November 2014, 16:51:16
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
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: cerberus am 14 November 2014, 22:54:39
Hallo, wie visualisiere ich jetzt die Wetterdaten? Mache ich das mit ReadingsGroup oder Weblink?

Grüße
cerberus
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: dan1180 am 19 November 2014, 20:43:51
Hallo,

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


Danke
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: tupol am 19 November 2014, 22:30:29
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

Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: dan1180 am 20 November 2014, 11:01:54
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
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: tupol am 20 November 2014, 14:21:45
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.

Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: dan1180 am 21 November 2014, 23:06:48
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: tupol am 23 November 2014, 00:02:36
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.
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: dan1180 am 25 November 2014, 10:40:36
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
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: oracess am 04 Dezember 2014, 03:41:42
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 !
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: tupol am 05 Dezember 2014, 09:16:12
bug fixed
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: oracess am 08 Dezember 2014, 10:20:09
Herzlichen Dank - funkt jetzt ohne Fehlermeldung im Log !!
:) :) :)
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: dan1180 am 04 Januar 2015, 23:59:53
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
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: tupol am 05 Januar 2015, 07:25:21
Gute Sache.  Auf Wetter.vom gibt es auch Icons für jeden Wetterzustand.
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: thunder1902 am 05 Januar 2015, 10:09:59
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
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: tupol am 05 Januar 2015, 13:02:32
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.
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: thunder1902 am 05 Januar 2015, 13:39:36
@tupol:

Danke! Gerade entdeckt! :-)
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: dan1180 am 05 Januar 2015, 15:43:16
Kleine Ergänzung noch:

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

Gruß
Dan
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: Andy89 am 13 Januar 2015, 17:25:37
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
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: Andy89 am 16 Januar 2015, 20:24:11
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
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: MaJu am 16 Januar 2015, 22:50:36
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.
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: MaJu am 20 Januar 2015, 23:08:37
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.
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: Andy89 am 21 Januar 2015, 06:50:24
bei mir aktualisiert sich das ganz normal in dem Intervall wie auch alle anderen Daten.
Also musst du wohl irgendwie einen Fehler drin haben
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: MaJu am 23 Januar 2015, 13:17:12
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.
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: cerberus am 30 August 2015, 21:18:12
Hallo MaJu, würdest du bitte den ganzen Code der ReadingsGroupe veröffentlichen?

Danke dir
cerberus
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: Tutti_Bomovski am 27 Oktober 2015, 13:18:44
MyWeather is not a OPENWEATHER instance

define MyForecast weblink htmlCode { OPENWEATHER_Html("MyWeather") }
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: Intruder1956 am 27 Oktober 2015, 18:13:50
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)

Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: Intruder1956 am 25 Dezember 2015, 10:20:39
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
Titel: Antw:Wettervorhersage über die openweather-API von www.wetter.com
Beitrag von: MaJu am 25 Dezember 2015, 12:23:00
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.