[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

CoolTux

Zitat von: Hanjo am 05 August 2017, 16:15:30
Hi Leon,

ich habe den Use-Case, dass ich mir die aktuellste Warnung auf's Handy schicken lasse. Dazu muss ich aber wissen, welches die aktuellste Warnung ist. Für diesen Fall ist es praktisch, wenn man die Warnungen nach "Creation" sortiert hat, so dass die neuste Warnung immer die Nummer 0 hat.

Ich habe dazu einen Patch geschrieben, vielleicht magst du dir das ja mal anschauen und bei Gefallen einchecken :-)

Danke & Gruß
Hanjo

--- /home/pi/77_UWZ.pm 2017-08-05 15:22:14.452046147 +0200
+++ /opt/fhem/FHEM/77_UWZ.pm 2017-08-05 16:08:12.015607496 +0200
@@ -277,7 +277,7 @@
                         "htmltitleclass ".
                         "htmlsequence:ascending,descending ".
                         "lang ".
-                        "sort_readings_by:severity,start ".
+                        "sort_readings_by:severity,start,creation ".
                         "localiconbase ".
                         $readingFnAttributes;
   
@@ -709,7 +709,10 @@
     UWZ_Log $hash, 4, "There are ".$uwz_warncount." warnings active";
     my $sortby = AttrVal( $name, 'sort_readings_by',"" );
     my @sorted;
-    if ( $sortby ne "severity" ) {
+    if ( $sortby eq "creation" ) {
+        UWZ_Log $hash, 4, "Sorting by creation";
+        @sorted =  sort { $b->{payload}{creation} <=> $a->{payload}{creation} } @{ $uwz_warnings->{'results'} };
+    } elsif ( $sortby ne "severity" ) {
         UWZ_Log $hash, 4, "Sorting by dtgStart";
         @sorted =  sort { $a->{dtgStart} <=> $b->{dtgStart} } @{ $uwz_warnings->{'results'} };
     } else {
@@ -1593,7 +1596,7 @@
       </li>
       <li><code>sort_readings_by</code>
          <br>
-         define how readings will be sortet (start|severity).
+         define how readings will be sortet (start|severity|creation).
          <br>
       </li>
       <li><code>htmlsequence</code>
@@ -1980,7 +1983,7 @@
       </li>
       <li><code>sort_readings_by</code>
          <br>
-         Sortierreihenfolge der Warnmeldungen. (start|severity).
+         Sortierreihenfolge der Warnmeldungen. (start|severity|creation).
          <br>
       </li>
       <li><code>htmlsequence</code>


Dein Patch war leider nicht ganz sauber. Du scheinst da eine ältere Version genommen zu haben. Nur zur Info falls Du mal mehr patches für FHEM machen möchtest. Bitte immer die neuste Version verwenden.
Ich habe das alles (so viel war es ja nicht) nun eingearbeitet. Vielen Dank noch mal für Deine Arbeit.

Hier gibt es die Version mit Deinem Wunsch zum testen.
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

Noch mal kleine Anmerkung. Alle die mir einen Patch schreiben den ich einarbeite steht eine Erwähnung in der Moduldatei bei. Findet Ihr Euch nicht darin bitte sagt es einfach. Manchmal bin ich etwas Kopflos.
@Hanjo
In meiner localen Datei bist Du eingetragen, hatte ich nur in der aktuellen Gitversion verpennt.




Grüße
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: holle75 am 15 August 2017, 15:40:48
Gerade mit UWZ gespielt. Auf Anhieb funktional. Danke!

Könntet ihr die Maps für Italien noch mit aufnehmen?

:



my $uwz_it_url = "http://allarmi.meteo-allerta.it/images/map/";

## IT
    $lmap->{'italia'}=$uwz_it_url.'italia_index.png';
    $lmap->{'valledaosta'}=$uwz_it_url.'valledaosta_index.png';
    $lmap->{'piemonte'}=$uwz_it_url.'piemonte_index.png';
    $lmap->{'lombardia'}=$uwz_it_url.'lombardia_index.png';
    $lmap->{'trentinoaltoadige'}=$uwz_it_url.'trentinoaltoadige_index.png';
    $lmap->{'friuliveneziagiulia'}=$uwz_it_url.'friuliveneziagiulia_index.png';
    $lmap->{'veneto'}=$uwz_it_url.'veneto_index.png';
    $lmap->{'liguria'}=$uwz_it_url.'liguria_index.png';
    $lmap->{'emiliaromagna'}=$uwz_it_url.'emiliaromagna_index.png';
    $lmap->{'toscana'}=$uwz_it_url.'toscana_index.png';
    $lmap->{'marche'}=$uwz_it_url.'marche_index.png';
    $lmap->{'umbria'}=$uwz_it_url.'umbria_index.png';
    $lmap->{'lazio'}=$uwz_it_url.'lazio_index.png';
    $lmap->{'molise'}=$uwz_it_url.'molise_index.png';
    $lmap->{'abruzzo'}=$uwz_it_url.'abruzzo_index.png';
    $lmap->{'campania'}=$uwz_it_url.'campania_index.png';
    $lmap->{'puglia'}=$uwz_it_url.'puglia_index.png';
    $lmap->{'basilicata'}=$uwz_it_url.'basilicata_index.png';
    $lmap->{'calabria'}=$uwz_it_url.'calabria_index.png';
    $lmap->{'sicilia'}=$uwz_it_url.'sicilia_index.png';
    $lmap->{'sardegna'}=$uwz_it_url.'sardegna_index.png';


Filme:


## IT
    $lmap->{'niederschlag-wolken-it'}=$uwz_movie_url.'UWZ_EUROPE_ITALY_COMPLETE_niwofi.mp4';
    $lmap->{'stroemung-it'}=$uwz_movie_url.'UWZ_EUROPE_ITALY_COMPLETE_stfi.mp4';


.... wenn ich mich jetzt nicht irgendwo vertippt habe ...

Danke und Gruß

H.


Mir fällt gerade auf das dies kein Patch ist. Wenn Du Deine Probleme mit DEINEM UWZ Modul gelöst hast, wäre es schon wenn Du ein Patch, ausgehend von der aktuellsten Version, mir zukommen lassen kannst.
Auch Dir vielen Dank für Deine Mühe.



Grüße
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

Spiff

Oh, da hast du ganz offensichtlich etwas in den falschen Hals bekommen.

Gruß

CoolTux

Durchaus möglich.
Da Du bis jetzt der erste und einzige seit fast 1,5 Jahren bist, sehe ich keinen "allgemeinen Bedarf" für mich Dein Anliegen aktiv zu verfolgen.
Daher, wenn Du es haben möchtest schreibe ein Patch welcher Dein Anliegen mit so wenig Codeänderung oder Anpassung wie möglich erfüllt.



Grüße
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

holle75

Hallo CoolTux, werde mich mal schlau machen, wie man einen Patch generiert :)

Das von mir beschriebene Problem hat glaubs nichts mit meiner Veränderung zu tun, sondern mit irgend einem "pattern match" error im Feed. Da ich kein Perl kann, interpretiere ich das als irgend einen "Ersetzungsfehler" ? Also das im feed (der ja allgemein für alle Länder gleich sein sollte?) irgend ein Zeichen vorkommt welches nicht ersetzt werden kann? Ich stocher hier im Blauen, sorry, ...... egal wie ist die Frage, ob es ein Bug ist (der jetzt zufällig bei mir auftritt), oder was mit IT zu tun hat. Da bist du wesentlich besser informiert ;) ... kannst du mir auf die Sprünge helfen?


CoolTux

Dazu muß ich mir das geanze etwas genauer anschauen. Ich versuche das die Tage mal zu 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

holle75

Puh, also so ein Patch .... größeres Unterfangen für so ein paar Zeilen ;)

--- C:/temp/entpack/77_UWZ.pm Fri Aug 18 21:12:30 2017
+++ //RASP3FHEM/opt/fhem/FHEM/77_UWZ.pm Fri Aug 18 15:20:15 2017
@@ -146,0 +147,4 @@
+ ## IT
+    $lmap->{'niederschlag-wolken-it'}=$uwz_movie_url.'UWZ_EUROPE_ITALY_COMPLETE_niwofi.mp4';
+    $lmap->{'stroemung-it'}=$uwz_movie_url.'UWZ_EUROPE_ITALY_COMPLETE_stfi.mp4';
+
@@ -167,0 +172,2 @@
+ my $uwz_it_url = "http://allarmi.meteo-allerta.it/images/map/";
+
@@ -267,0 +274,23 @@
+ ## IT
+    $lmap->{'italia'}=$uwz_it_url.'italia_index.png';
+    $lmap->{'valledaosta'}=$uwz_it_url.'valledaosta_index.png';
+    $lmap->{'piemonte'}=$uwz_it_url.'piemonte_index.png';
+    $lmap->{'lombardia'}=$uwz_it_url.'lombardia_index.png';
+    $lmap->{'trentinoaltoadige'}=$uwz_it_url.'trentinoaltoadige_index.png';
+    $lmap->{'friuliveneziagiulia'}=$uwz_it_url.'friuliveneziagiulia_index.png';
+    $lmap->{'veneto'}=$uwz_it_url.'veneto_index.png';
+    $lmap->{'liguria'}=$uwz_it_url.'liguria_index.png';
+    $lmap->{'emiliaromagna'}=$uwz_it_url.'emiliaromagna_index.png';
+    $lmap->{'toscana'}=$uwz_it_url.'toscana_index.png';
+    $lmap->{'marche'}=$uwz_it_url.'marche_index.png';
+    $lmap->{'umbria'}=$uwz_it_url.'umbria_index.png';
+    $lmap->{'lazio'}=$uwz_it_url.'lazio_index.png';
+    $lmap->{'molise'}=$uwz_it_url.'molise_index.png';
+    $lmap->{'abruzzo'}=$uwz_it_url.'abruzzo_index.png';
+    $lmap->{'campania'}=$uwz_it_url.'campania_index.png';
+    $lmap->{'puglia'}=$uwz_it_url.'puglia_index.png';
+    $lmap->{'basilicata'}=$uwz_it_url.'basilicata_index.png';
+    $lmap->{'calabria'}=$uwz_it_url.'calabria_index.png';
+    $lmap->{'sicilia'}=$uwz_it_url.'sicilia_index.png';
+    $lmap->{'sardegna'}=$uwz_it_url.'sardegna_index.png';
+





CoolTux

Zitat von: CoolTux am 18 August 2017, 13:05:26
Dein Patch war leider nicht ganz sauber. Du scheinst da eine ältere Version genommen zu haben. Nur zur Info falls Du mal mehr patches für FHEM machen möchtest. Bitte immer die neuste Version verwenden.
Ich habe das alles (so viel war es ja nicht) nun eingearbeitet. Vielen Dank noch mal für Deine Arbeit.

Hier gibt es die Version mit Deinem Wunsch zum testen.

Hallo Hanjo,

Hattest Du schon die Möglichkeit zum testen?


Grüße
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: holle75 am 18 August 2017, 21:09:53
Puh, also so ein Patch .... größeres Unterfangen für so ein paar Zeilen ;)

--- C:/temp/entpack/77_UWZ.pm Fri Aug 18 21:12:30 2017
+++ //RASP3FHEM/opt/fhem/FHEM/77_UWZ.pm Fri Aug 18 15:20:15 2017
@@ -146,0 +147,4 @@
+ ## IT
+    $lmap->{'niederschlag-wolken-it'}=$uwz_movie_url.'UWZ_EUROPE_ITALY_COMPLETE_niwofi.mp4';
+    $lmap->{'stroemung-it'}=$uwz_movie_url.'UWZ_EUROPE_ITALY_COMPLETE_stfi.mp4';
+
@@ -167,0 +172,2 @@
+ my $uwz_it_url = "http://allarmi.meteo-allerta.it/images/map/";
+
@@ -267,0 +274,23 @@
+ ## IT
+    $lmap->{'italia'}=$uwz_it_url.'italia_index.png';
+    $lmap->{'valledaosta'}=$uwz_it_url.'valledaosta_index.png';
+    $lmap->{'piemonte'}=$uwz_it_url.'piemonte_index.png';
+    $lmap->{'lombardia'}=$uwz_it_url.'lombardia_index.png';
+    $lmap->{'trentinoaltoadige'}=$uwz_it_url.'trentinoaltoadige_index.png';
+    $lmap->{'friuliveneziagiulia'}=$uwz_it_url.'friuliveneziagiulia_index.png';
+    $lmap->{'veneto'}=$uwz_it_url.'veneto_index.png';
+    $lmap->{'liguria'}=$uwz_it_url.'liguria_index.png';
+    $lmap->{'emiliaromagna'}=$uwz_it_url.'emiliaromagna_index.png';
+    $lmap->{'toscana'}=$uwz_it_url.'toscana_index.png';
+    $lmap->{'marche'}=$uwz_it_url.'marche_index.png';
+    $lmap->{'umbria'}=$uwz_it_url.'umbria_index.png';
+    $lmap->{'lazio'}=$uwz_it_url.'lazio_index.png';
+    $lmap->{'molise'}=$uwz_it_url.'molise_index.png';
+    $lmap->{'abruzzo'}=$uwz_it_url.'abruzzo_index.png';
+    $lmap->{'campania'}=$uwz_it_url.'campania_index.png';
+    $lmap->{'puglia'}=$uwz_it_url.'puglia_index.png';
+    $lmap->{'basilicata'}=$uwz_it_url.'basilicata_index.png';
+    $lmap->{'calabria'}=$uwz_it_url.'calabria_index.png';
+    $lmap->{'sicilia'}=$uwz_it_url.'sicilia_index.png';
+    $lmap->{'sardegna'}=$uwz_it_url.'sardegna_index.png';
+


Ist in der aktuellen Testversion drin
https://github.com/LeonGaultier/fhem-uwz/archive/new-features.zip
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

holle75

Prima. Dankeschön .... wird also demnächst bei einem update mitverteilt?

CoolTux

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

holle75

Es gibt zwar aktuell keine Warnungen, aber "der Rest" funktioniert.

holle75

... jetzt mit Warnung hat es wieder den kleinen Ausrutscher im Log:

PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/77_UWZ.pm line 985.

dies aber nur, wenn

attr lang de

gesetzt ist.

CoolTux

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