[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

Hobi


moonsorrox

ich bekomme ja immer diese Meldungen im Logfile
"UWZ Unwetterzentrale: Run.637 Done fetching data"

Kann ich diese mit verbose wegfiltern, oder bekomme ich dann keine Daten mehr.

Frage nur weil ja einige davon ins Log geschrieben werden und ich muss ja nicht dauernd wissen das die Daten abgerufen wurden...!  ;)

Nochmals übrigens großen Dank für das Modul, dass Teil läuft tadellos...!! :D
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

CoolTux

Versuch mal verbose auf 2 zu setzen beim Device. Dann dürfte es nicht mehr kommen.
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

moonsorrox

OK, ich hatte es jetzt testweise auf "1"  ;) da war auch nichts mehr  :D Danke
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Porsti

Hi,

benutze jetzt seid einigen Tagen erfolgreich das UWZ Modul.

Habe da noch einen kleinen wunsch zum weblink:

Könnte mal das attribut htmlattr mit einbinden?


attr Unwetterzentrale htmlattr width="220" height="330"


Dann könnte ich das Fenster entwas anpassen.

Gruß & Danke
Porsti
____________________________________
fhem 6.2  auf Raspberry 3b
Homematic HM-CC-RT-DN / HM-SEC-SCo
MQTT,Shelly,  KNX (Merten, MDT, Siemens, ABB)
Erneuerbare: SMA + Mennekes

Otto

Hallo CoolTux,

Zitat von: CoolTux am 03 Juni 2016, 22:14:31

Internals:
   CFGFN
   DEF        Unwetterzentrale:WarnCount:.[0-9] { uwzWarn($NAME,$EVTPART1); }
   NAME       notifyUnwetterwarnung
   NOTIFYDEV  Unwetterzentrale
   NR         479
   NTFY_ORDER 50-notifyUnwetterwarnung
   REGEXP     Unwetterzentrale:WarnCount:.[0-9]
   STATE      2016-06-03 01:30:28
   TYPE       notify
   Readings:
     2016-06-02 12:29:59   state           active
Attributes:


Ich mache das so.

Kannst du zum notify auch mal dein script uwzWarn verraten?


Danke.
Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic

CoolTux

Hallo Otto,

Das kann ich gerne heute Abend hier zur Verfügung stellen.


Grüße
Leon
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: Porsti am 13 Juni 2016, 09:19:36
Hi,

benutze jetzt seid einigen Tagen erfolgreich das UWZ Modul.

Habe da noch einen kleinen wunsch zum weblink:

Könnte mal das attribut htmlattr mit einbinden?


attr Unwetterzentrale htmlattr width="220" height="330"


Dann könnte ich das Fenster entwas anpassen.

Gruß & Danke
Porsti

Ich halte das mal so fest. Wird aber nicht heute oder morgen sein.

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: Otto am 15 Juni 2016, 16:13:45
Hallo CoolTux,

Kannst du zum notify auch mal dein script uwzWarn verraten?

Danke.

So wie versprochen meine aktuellen Definitionen und Routinen

Notify

Internals:
   CFGFN
   DEF        Unwetterzentrale:WarnCount:.[0-9] { uwzWarn($NAME,$EVTPART1); }
   NAME       notifyUnwetterwarnung
   NOTIFYDEV  Unwetterzentrale
   NR         478
   NTFY_ORDER 50-notifyUnwetterwarnung
   REGEXP     Unwetterzentrale:WarnCount:.[0-9]
   STATE      2016-06-15 18:47:00
   TYPE       notify
   Readings:
     2016-06-12 08:00:37   state           active
Attributes:


Und hier die entsprechende Sub.
Lest Euch bitte ganz besondern die Kommentare durch. Wer Interesse an den zusätzlichen Routinen hat die noch optional aufgerufen werden einfach melden.

sub uwzWarn($$) {

my ($name,$event) = @_;
my $hash = $defs{$name};               # ermitteln des Hashwertes um später readingsSingleUpdate verwenden zu können


my $countWarn = ReadingsVal($name,"WarnCount","");
        my $wNb = ReadingsVal( $name, "WarnCount", 0 ) - 1;
        my $unwetterText = "<div class=\"top-space-min\">";
        my $warnnumber = "";
        my $warnbild ="";


        ############ Sprachbenachrichtigung über Hausinterne Kommunikation
if( ReadingsVal( $name, "WarnCount", 0 ) > ReadingsVal( $name, "lastWarnCount", 0 ) && ($event) > 0 ) {

my $wType = ReadingsVal( $name, "Warn_${wNb}_Type_Str", 0 );
my $wTextShort = ReadingsVal( $name, "Warn_${wNb}_ShortText", 0 );
                my $wTextLong = ReadingsVal( $name, "Warn_${wNb}_LongText", 0 );
my $wEnd = ReadingsVal( $name, "Warn_${wNb}_End_Date", 0 )." um ".ReadingsVal( $name, "Warn_${wNb}_End_Time", 0 );
oldVolume("Nexus7Wohnzimmer","safe");        # bitte rausnehmen bei Euch, ist eine Routine um die Lautstärke des Ausgabegerätes zwschen zu speichern
oldVolume("DesireHD_Flur","safe");                 # hier das selbe

fhem "set pushmsg msg 'Unwetterwarnung vor $wType' '$wTextLong - Unwetterwarnung endet am $wEnd' '' 1 ''";                  # Versenden der Warnung über Pushover
fhem "set Nexus7Wohnzimmer|DesireHD_Flur notifySndFile Gong.mp3; sleep 1; set Nexus7Wohnzimmer|DesireHD_Flur volume 8; sleep 1; set Nexus7Wohnzimmer|DesireHD_Flur ttsMsg ACHTUNG! Unwetterwarnung vor $wType. $wTextShort. Unwetterwarnung endet am $wEnd" if( ReadingsVal( "AnniKraussStr","residentsAsleep", 1 ) == 0 );


oldVolume("Nexus7Wohnzimmer","restore");           # bitte rausnehmen bei Euch, ist das wiederherstellen der alten Lautstärke
                oldVolume("DesireHD_Flur","restore");
}


    readingsSingleUpdate ( $hash, "lastWarnCount", $wNb, 0 );                # Das hier ist wichtig, hier setze ich einen Counter, welcher oben als Bedingung abgefragt wird.
                                                                                                                   # Dies hat den Sinn das wenn 2 Meldungen sind und eine gelöscht wird ich nicht noch mal die noch übrige
                                                                                                                   # eine Meldung als Nachricht bekomme

        ###### Test zusammen setzen für das Reading zur Darstellung im TabletUI
for(my $i = 0; $i < $countWarn; $i++) {
  $warnnumber = "Warn_".$i."_LongText";
$warnbild = "Warn_".$i."_IconURL";
$unwetterText .= "<div class=\"row\"><div class=\"col-2-1\"><img src=\"";
$unwetterText .= ReadingsVal($name,$warnbild,"");
$unwetterText .= "\" width=\"50\" height=\"50\" alt=\"Unwetterwarnung\" /></div>";
$unwetterText .= "<div class=\"top-space-mid col-3-4\">";
$unwetterText .= ReadingsVal($name,$warnnumber,"");
$unwetterText .= "</div></div><div class=\"newline\">&nbsp </div>";
$warnnumber = "";
$warnbild ="";
}

$unwetterText .= "</div>";

  $unwetterText = "&nbsp; " if($countWarn == 0);

readingsSingleUpdate($hash,"ftuiUwzText",$unwetterText, 1);         # Füllt das Reading für die Darstellung in TabletUI
}


Hoffe das man das soweit gut erkennen kann. Sollten Fragen sein einfach fragen.
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

fruit

I now have this module working for UK alerts and English text with only a few minor modifications and it looks to be easy to add other countries/languages
So far I have only seen thunderstorms in my own area but I think it should work for all others too.

If anyone is interested I can post my modified module or diffs
Feel free to follow up in German if you prefer

CoolTux

I'm interested. Please post your diff.
I'll install it and test.


greetings
Leon
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

fruit

Diff attached. As you willll see it uses [CountryCode] from the definition and I have enabled attr CountryCode for language - either "" or "UK" at present
I'm sure it could be done in other ways but this would seem to allow easy further expansion

As an example, definitions I am using currently aredefine Unwetterzentrale UWZ UK 03931 1800
attr Unwetterzentrale CountryCode UK
attr Unwetterzentrale PLZ 03931
attr Unwetterzentrale URL http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=getWarning&language=en&areaID=UWZUK03931
attr Unwetterzentrale download 1
attr Unwetterzentrale humanreadable 1
attr Unwetterzentrale maps eastofengland unitedkingdom

define UnwetterDetails weblink htmlCode {UWZAsHtml("Unwetterzentrale")}

define UnwetterMapE_UK weblink htmlCode {UWZAsHtmlKarteLand("Unwetterzentrale","eastofengland")}

define UnwetterLite weblink htmlCode {UWZAsHtmlLite("Unwetterzentrale")}
Feel free to follow up in German if you prefer

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

CoolTux

Please can you test the attatched pm file. I have clean the code and write other routine for check country code.
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

fruit

All looks good so far. I will watch for an alert, I am sure it won't be long with the wet and stormy weather we are having here
Thanks
Feel free to follow up in German if you prefer