[Unwetterwarnung] 77_UWZ.pm Modul für unwetterzentrale.de und wetteralarm.at

Begonnen von CoolTux, 23 März 2016, 12:06:02

Vorheriges Thema - Nächstes Thema

Timmy.m

Vielen Dank für das tolle Modul.
Ich würde es toll finden, wenn man die Warntypen, die man mit get auslesen kann als Reading hätte.
Beispiel: get <name> rain
Besteht diese Möglichkeit? Andernfalls muss man immer alle Warntypen erfassen, welches an zentraler Stelle in meinen Augen besser wäre.

Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

CoolTux

Hallo Tim,

Meinst Du so ein Reading wie
Warn_0_Type_Str
oder habe ich das falsch verstanden?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Amenophis86

bei mir werden aktuell nur 2 Warnungen angezeigt, obwohl es auf der Homepage 4 gibt und draußen die Welt untergeht :D Hier ein List:

Internals:
   CFGFN
   CountryCode DE
   DEF        DE 61169 3600
   INTERVAL   3600
   INTERVALWARN 0
   NAME       Unwetterzentrale
   NR         270
   PLZ        61169
   STATE      Warnungen: 2
   TYPE       UWZ
   URL        http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=getWarning&language=de&areaID=UWZDE61169
   VERSION    1.6.0
   READINGS:
     2017-07-19 18:17:05   WarnCount       2
     2017-07-19 18:17:05   WarnUWZLevel    1
     2017-07-19 18:17:05   WarnUWZLevel_Color orange
     2017-07-19 18:17:05   WarnUWZLevel_Str Stufe Dunkelgrün (Wetterhinweise)
     2017-07-19 18:17:05   Warn_0_AltitudeMax 400
     2017-07-19 18:17:05   Warn_0_AltitudeMin -10
     2017-07-19 18:17:05   Warn_0_Creation 1500386460
     2017-07-19 18:17:05   Warn_0_Creation_Date 18.07.2017
     2017-07-19 18:17:05   Warn_0_Creation_Time 16:01
     2017-07-19 18:17:05   Warn_0_End      1500494400
     2017-07-19 18:17:05   Warn_0_End_Date 19.07.2017
     2017-07-19 18:17:05   Warn_0_End_Time 22:00
     2017-07-19 18:17:05   Warn_0_EventID  15003858763389.1
     2017-07-19 18:17:05   Warn_0_Hail     0
     2017-07-19 18:17:05   Warn_0_IconURL  http://www.unwetterzentrale.de/images/icons/temperatur-orange.gif
     2017-07-19 18:17:05   Warn_0_LongText Von Mittwochmittag bis -abend ist besonders in Lagen bis 400 m Höhe örtlich mit Höchstwerten von 33 bis 36 Grad zu rechnen. Dabei ist eine moderate bis starke Hitzebelastung zu erwarten. Die laue bis tropische Nacht zum Donnerstag verspricht noch wenig Abkühlung, am Donnerstag selbst wird es dann aber mit maximal 27 bis 30 Grad nicht mehr ganz so heiß. In den darauffolgenden Tagen lässt die Hitzebelastung weiter nach.
     2017-07-19 18:17:05   Warn_0_Severity 5
     2017-07-19 18:17:05   Warn_0_ShortText Bei max. 33 bis 36 Grad ist in Lagen bis 400 m starke Hitzebelastung zu erwarten
     2017-07-19 18:17:05   Warn_0_Start    1500458400
     2017-07-19 18:17:05   Warn_0_Start_Date 19.07.2017
     2017-07-19 18:17:05   Warn_0_Start_Time 12:00
     2017-07-19 18:17:05   Warn_0_Type     9
     2017-07-19 18:17:05   Warn_0_Type_Str Hitze
     2017-07-19 18:17:05   Warn_0_levelName notice_warn_red
     2017-07-19 18:17:05   Warn_0_uwzLevel 1
     2017-07-19 18:17:05   Warn_0_uwzLevel_Str Stufe Dunkelgrün (Wetterhinweise)
     2017-07-19 18:17:05   Warn_1_AltitudeMax 700
     2017-07-19 18:17:05   Warn_1_AltitudeMin 401
     2017-07-19 18:17:05   Warn_1_Creation 1500387000
     2017-07-19 18:17:05   Warn_1_Creation_Date 18.07.2017
     2017-07-19 18:17:05   Warn_1_Creation_Time 16:10
     2017-07-19 18:17:05   Warn_1_End      1500494400
     2017-07-19 18:17:05   Warn_1_End_Date 19.07.2017
     2017-07-19 18:17:05   Warn_1_End_Time 22:00
     2017-07-19 18:17:05   Warn_1_EventID  15003866485855.1
     2017-07-19 18:17:05   Warn_1_Hail     0
     2017-07-19 18:17:05   Warn_1_IconURL  http://www.unwetterzentrale.de/images/icons/temperatur-orange.gif
     2017-07-19 18:17:05   Warn_1_LongText Von Mittwochmittag bis -abend ist besonders in Lagen von 400 bis 700 m Höhe örtlich mit Höchstwerten von 30 bis 33 Grad zu rechnen. Dabei ist eine leichte bis moderate Hitzebelastung zu erwarten. Die laue Nacht zum Donnerstag verspricht noch wenig Abkühlung, am Donnerstag selbst wird es dann aber mit maximal 24 bis 27 Grad nicht mehr ganz so heiß. In den darauffolgenden Tagen lässt die Hitzebelastung weiter nach.
     2017-07-19 18:17:05   Warn_1_Severity 4
     2017-07-19 18:17:05   Warn_1_ShortText Bei max. 30 bis 33 Grad ist zw. 400 und 700 m moderate Hitzebelastung zu erwarten
     2017-07-19 18:17:05   Warn_1_Start    1500458400
     2017-07-19 18:17:05   Warn_1_Start_Date 19.07.2017
     2017-07-19 18:17:05   Warn_1_Start_Time 12:00
     2017-07-19 18:17:05   Warn_1_Type     9
     2017-07-19 18:17:05   Warn_1_Type_Str Hitze
     2017-07-19 18:17:05   Warn_1_levelName notice_warn_orange
     2017-07-19 18:17:05   Warn_1_uwzLevel 1
     2017-07-19 18:17:05   Warn_1_uwzLevel_Str Stufe Dunkelgrün (Wetterhinweise)
     2017-07-19 17:35:04   currentIntervalMode normal
     2017-07-19 18:17:05   durationFetchReadings 0.36
     2017-07-19 18:17:05   lastConnection  49 values captured in 0.36 s
     2017-07-19 18:17:05   state           Warnungen: 2
   fhem:
     LOCAL      0
   helper:
Attributes:
   event-on-change-reading .*
   group      Sicherheit
   humanreadable 1
   room       Z_Terrasse
   verbose    2


und hier die Homepage:
Friedberg (Hessen) (61169)
Unwetterwarnung Stufe Violett vor Gewitter
gültig von: Mittwoch, 19. Juli 2017, 18:00 Uhr
gültig bis: Mittwoch, 19. Juli 2017, 19:30 Uhr
gültig für: alle Höhenstufen

Schwergewitter mit Starkregen, (großer Hagel u. orkanartige Böen möglich)
Diese Warnung wurde am Mittwoch, 19. Juli 2017, 18:00 Uhr zuletzt aktualisiert.


Friedberg (Hessen) (61169)
Vorwarnung vor Gewitter,
Warnstufe Rot möglich
gültig von: Mittwoch, 19. Juli 2017, 15:30 Uhr
gültig bis: Donnerstag, 20. Juli 2017, 16:00 Uhr
gültig für: alle Höhenstufen

MI lokale, am DO dann häufiger Gewitter mit Starkregen, Hagel und Sturmböen möglich
Diese Vorwarnung wurde am Mittwoch, 19. Juli 2017, 14:29 Uhr zuletzt aktualisiert.


Friedberg (Hessen) (61169)
Wetterhinweis wegen Hitze
gültig von: Mittwoch, 19. Juli 2017, 12:00 Uhr
gültig bis: Mittwoch, 19. Juli 2017, 22:00 Uhr
gültig für: Höhen bis 400 m

Bei max. 33 bis 36 Grad ist in Lagen bis 400 m starke Hitzebelastung zu erwarten
Dieser Hinweis wurde am Dienstag, 18. Juli 2017, 16:01 Uhr zuletzt aktualisiert.


Friedberg (Hessen) (61169)
Wetterhinweis wegen Hitze
gültig von: Mittwoch, 19. Juli 2017, 12:00 Uhr
gültig bis: Mittwoch, 19. Juli 2017, 22:00 Uhr
gültig für: Höhen ab 401 m

Bei max. 30 bis 33 Grad ist zw. 400 und 700 m moderate Hitzebelastung zu erwarten
Dieser Hinweis wurde am Dienstag, 18. Juli 2017, 16:10 Uhr zuletzt aktualisiert


Hab ich was falsch eingestellt? Habe erst gestern Abend ein Update von FHEM gemacht
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

Gib mal bitte genau die URL in einem Browser ein welche im Internal URL steht.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Amenophis86

{"results":[{"center":"UWZ","areaID":"UWZDE63875","dtgEnd":1500494400,"areaType":"UWZCODE","dtgStart":1500458400,"payload":{"translationsLongText":{"DE":"Von Mittwochmittag bis -abend ist besonders in Lagen bis 400 m H\u00f6he \u00f6rtlich mit H\u00f6chstwerten von 33 bis 36 Grad zu rechnen. Dabei ist eine moderate bis starke Hitzebelastung zu erwarten. Die laue bis tropische Nacht zum Donnerstag verspricht noch wenig Abk\u00fchlung, am Donnerstag selbst wird es dann aber mit maximal 27 bis 30 Grad nicht mehr ganz so hei\u00df. In den darauffolgenden Tagen l\u00e4sst die Hitzebelastung weiter nach."},"id":"15003858763389.1","creation":1500386460000,"uwzLevel":5,"translationsShortText":{"DE":"Bei max. 33 bis 36 Grad ist in Lagen bis 400 m starke Hitzebelastung zu erwarten"},"fileName":"meteogroup_warn_15003858763389_20170718140119_1500494400_1500386549.xml","levelName":"notice_warn_red","shortText":"Below 400 meters: 33-36 \u00b0C.","longText":"For areas below 400 meters: Heavy heat stress with maximum temperatures between 33 and 36 degrees.","altMin":-10,"altMax":400},"severity":5,"type":9},{"center":"UWZ","areaID":"UWZDE72296","dtgEnd":1500494400,"areaType":"UWZCODE","dtgStart":1500458400,"payload":{"translationsLongText":{"DE":"Von Mittwochmittag bis -abend ist besonders in Lagen von 400 bis 700 m H\u00f6he \u00f6rtlich mit H\u00f6chstwerten von 30 bis 33 Grad zu rechnen. Dabei ist eine leichte bis moderate Hitzebelastung zu erwarten. Die laue Nacht zum Donnerstag verspricht noch wenig Abk\u00fchlung, am Donnerstag selbst wird es dann aber mit maximal 24 bis 27 Grad nicht mehr ganz so hei\u00df. In den darauffolgenden Tagen l\u00e4sst die Hitzebelastung weiter nach."},"id":"15003866485855.1","creation":1500387000000,"uwzLevel":4,"translationsShortText":{"DE":"Bei max. 30 bis 33 Grad ist zw. 400 und 700 m moderate Hitzebelastung zu erwarten"},"fileName":"meteogroup_warn_15003866485855_20170718141023_1500494400_1500387074.xml","levelName":"notice_warn_orange","shortText":"Between 400 and 700 meters: 30-33 \u00b0C.","longText":"For areas between 400 and 700 meters: Weak to moderate heat stress with maximum temperatures between 30 and 33 degrees.","altMin":401,"altMax":700},"severity":4,"type":9}],"cached":1}
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

Es stehen genau 2 Meldungen im String. Also alles korrekt. Das Modul verarbeitet die Meldungen welche geliefert werden.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Amenophis86

Ne, wenn ich es richtig sehe, dann stimmt die PLZ nicht. Im String kommt UWZDE63875 an, es sollte aber UWZDE61169 sein, wenn 61169 meine eingegeben PLZ ist, oder?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

areaID ist nicht gleich PLZ. Müsstest Mal bitte schauen was Deine PLZ für eine areaID aus spuckt.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Amenophis86

Mmmmh ok, danke. Dann frage ich mich, wieso im String nicht alle Daten der Homepage ankommen. Liegt dann wohl irgendwo an der Homepage. Dank dir.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Timmy.m

Zitat von: CoolTux am 19 Juli 2017, 16:47:35
Hallo Tim,

Meinst Du so ein Reading wie
Warn_0_Type_Str
oder habe ich das falsch verstanden?

Hallo CoolTux,

hoffe dir geht es gut.

Ja, ich habe mir vorgestellt, dass es je ein Reading für Regen, Hagel, Sturm, ... gibt und dieses je nach Wetterlage von inactive auf active umgestellt wird bzw. wieder zurück. Dann kann man diese Werte besser per DOIF auslesen, statt die ganzen Readings Warn_0_Type_Str, Warn_1_Type_Str, Warn_2_Type_Str, .... abzufragen

Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

CoolTux

Oder an der App Schnittstelle. Kann ja auch sein.
Was mir aufgefallen ist, ist das bei den fehlenden Warnungen Höhenangaben mit dabei waren. Also Warnungen für bestimmte Höhenlagen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zitat von: Timmy.m am 19 Juli 2017, 20:06:44
Hallo CoolTux,

hoffe dir geht es gut.

Ja, ich habe mir vorgestellt, dass es je ein Reading für Regen, Hagel, Sturm, ... gibt und dieses je nach Wetterlage von inactive auf active umgestellt wird bzw. wieder zurück. Dann kann man diese Werte besser per DOIF auslesen, statt die ganzen Readings Warn_0_Type_Str, Warn_1_Type_Str, Warn_2_Type_Str, .... abzufragen

Grüße Tim


my $countWarn = ReadingsVal("Unwetterzentrale", "WarnCount", "");

    for(my $i = 0; $i < $countWarn; $i++) {
        fhem("setreading Unwetterzentrale Hagel activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Type_Str", "Weltuntergang" ) eq "Hagel");
                        fhem("setreading Unwetterzentrale Hitze activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Type_Str", "Weltuntergang" ) eq "Hitze");
    }


Achtung diehnt nur der Anschauung. Keine Gültigkeit für Funktion

Nicht die WarnCounts einzeln Abfragen sondern eine Schleife machen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Timmy.m

Zitat von: CoolTux am 19 Juli 2017, 20:17:27
Nicht die WarnCounts einzeln Abfragen sondern eine Schleife machen.

Super, habe nun den folgenden Code in 99_myUtils.pm gespeichert und triggere ihn, wenn sich Unwetterzentrale ändert

sub
UnwetterWarnung
{
fhem("setreading Unwetterzentrale Sturm inactiv");
fhem("setreading Unwetterzentrale Schnee inactiv");
fhem("setreading Unwetterzentrale Regen inactiv");
fhem("setreading Unwetterzentrale Frost inactiv");
fhem("setreading Unwetterzentrale Waldbrand inactiv");
fhem("setreading Unwetterzentrale Gewitter inactiv");
fhem("setreading Unwetterzentrale Glätte inactiv");
fhem("setreading Unwetterzentrale Hitze inactiv");
fhem("setreading Unwetterzentrale Eisregen inactiv");
fhem("setreading Unwetterzentrale Bodenfrost inactiv");
fhem("setreading Unwetterzentrale Hagel inactiv");

my $countWarn = ReadingsVal("Unwetterzentrale", "WarnCount", "");

    for(my $i = 0; $i < $countWarn; $i++) {
fhem("setreading Unwetterzentrale Sturm activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Type", "Weltuntergang" ) eq "2");
fhem("setreading Unwetterzentrale Schnee activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Type", "Weltuntergang" ) eq "3");
fhem("setreading Unwetterzentrale Regen activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Type", "Weltuntergang" ) eq "4");
fhem("setreading Unwetterzentrale Frost activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Type", "Weltuntergang" ) eq "5");
fhem("setreading Unwetterzentrale Waldbrand activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Type", "Weltuntergang" ) eq "6");
fhem("setreading Unwetterzentrale Gewitter activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Type", "Weltuntergang" ) eq "7");
fhem("setreading Unwetterzentrale Glätte activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Type", "Weltuntergang" ) eq "8");
fhem("setreading Unwetterzentrale Hitze activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Type", "Weltuntergang" ) eq "9");
fhem("setreading Unwetterzentrale Eisregen activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Type", "Weltuntergang" ) eq "10");
fhem("setreading Unwetterzentrale Bodenfrost activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Type", "Weltuntergang" ) eq "11");
fhem("setreading Unwetterzentrale Hagel activ") if( ReadingsVal( "Unwetterzentrale" ,"Warn_${i}_Hail", "Weltuntergang" ) eq "1");
    }
}

Danke.
Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

frank

Zitat von: Amenophis86 am 19 Juli 2017, 20:02:49
Mmmmh ok, danke. Dann frage ich mich, wieso im String nicht alle Daten der Homepage ankommen. Liegt dann wohl irgendwo an der Homepage. Dank dir.
ich habe auch schon länger den verdacht, dass der feed von "praktikannten" betreut wird, oder von niemandem.
vielleicht müsste/sollte man mal einen hinweis an die unwetterzentrale senden.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

FrankieSOC

Hey Leon,

ich bin noch bei Fhem und mal wieder über ein Modul gestolpert, wo du aktiv bist.
Klappt alles gut, vielen Dank!

Die Niederschlags Movies finde ich aber nichts so toll.
Kann man auch die Seite von Kachelmann Wetter einbauen? https://kachelmannwetter.com/de/regenradar/mayen-koblenz#play

Viele Grüße
Frank