Unwetterzentrale in TabletUi

Begonnen von Frank13, 21 Februar 2016, 20:43:49

Vorheriges Thema - Nächstes Thema

CoolTux

Gib mal bitte Deine ganze 99_myUtils Sub hier mit an. Eigentlich sollte das so nicht passieren.
Und nur zum Verständnis falls Du Dich mal mit anderen schreibst. Das was Du meinst ist ein Reading, kein Attribut. Ich sage das nur weil es ja auch Attribute in FHEM gibt und es so bei anderen für Verwirrung sorgen kann  ;)


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

davedeluxe

Hey,
danke für den Hinweis, ist mir bekannt - Ich sollte aufhören zwischen Tür und Angel schnell noch nen Post abzusenden ;)

Hier das Gesamte Sub:
sub uwzWarn($$) {

my ($name,$event) = @_;
my $hash = $defs{$name};


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

for(my $i = 0; $i < $countWarn; $i++) {
  $warnnumber = "Warn_".$i."_ShortText";
$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);
fhem "setreading Unwetter WarnTablet 1";
}



Hier noch das notify zur sicherheit:
Unwetter.WarnCount:.[0-9] { uwzWarn($NAME,$EVTPART1); }
Grüße Dave

CoolTux


for(my $i = 0; $i < $countWarn; $i++) {
  $warnnumber = "Warn_".$i."_ShortText";
$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 ="";
                readingsSingleUpdate($hash,'WarnTablet','1', 1);
}


Mach das mal in die Schleife rein. Dann geht es auch. So wie ich es hier gemacht habe.
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

davedeluxe

Hi Leon,

wiedermal vielen Dank für deine Hilfe aber ich habe es mittlerweile wieder umgebaut und benötige "readingsSingleUpdate($hash,'WarnTablet','1', 1);" nicht mehr.
Ich habe mir nen Button in mein Tablet-UI gebaut welcher nur aktiv ist wenn eine Meldung besteht und diese dann als Popup öffnet.

Grüße Dave

CoolTux

Hallo Dave,

Auch schön. Es gibt auch ein Widget zu UWZ mittlerweile.


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

davedeluxe

Ja habe ich gesehen aber funktioniert so auch perfekt und ausreichend ;)

So und was bastle ich jetzt ???

CoolTux

Glaube mir, mit FHEM geht das basteln nie zu Ende wenn Du es nicht willst   ;D
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

davedeluxe

Seit November 2015 mache ich nichts anderes mehr ;)

CoolTux

Kenne ich. Und seit dem ich die Liebe zum Modulentwickeln entdeckt habe ist es noch schlimmer geworden  ;D
Und schon was neues in Aussicht?
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

redlav

Zitat von: davedeluxe am 16 Januar 2017, 12:22:43
Seit November 2015 mache ich nichts anderes mehr ;)

Wie bei der Modelleisenbahn früher. Da gab es auch immer was anzupassen/erweitern/verschönern..... :)

marcus5020

Hallo !

Es tut mir leid, bei mir gibt´s einen Fehler beim Notify:

Habe eingegeben:
define notifyUWZTabletUI notify Unwetterzentrale.WarnCount:.[0-9] { uwzWarn($NAME,$EVTPART1); }

Und bekomme folgenden Fehler:
Missing right curly or square bracket at (eval 109260) line 1, at end of line
syntax error at (eval 109260) line 1, at EOF

Unknown command }, try help.


Könnte mir bitte jemand weiterhelfen - die 99_myutils sieht so aus:

#####################################################
#############     Unwetterwarnungen     #############
#####################################################
sub uwzWarn($$) {

   my ($name,$event) = @_;
   my $hash = $defs{$name};


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

   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);
}


Vielen Dank und liebe Grüße

Marcus

CoolTux

define notifyUWZTabletUI notify Unwetterzentrale.WarnCount:.[0-9] { uwzWarn($NAME,$EVTPART1); }

Ohne Semikolon bitte
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

marcus5020

Vielen Dank für die Hilfe - funktioniert super ohne ;

Lg
Marcus

Kusselin

Hi CoolTux, ich melde mich auch mal bzgl. der UWZ. Ich möchte die Warnungen auch geren im tablet UI anzeigen lassen...gestern hatten wir Sturm und es gab 3 meldungen. Diese wurden auch in TabletUI angezeigt....heute habe ich in der UWZ Modul 0 Meldungen aber die Meldungen von gestern sind in TabletUI immer noch zu sehen...irgendwas wird nicht aktualisiert. Könntest du da mal drüberschauen bitte....Hier die lists:

UWZ:
Internals:
   CountryCode DE
   DEF        DE 69493 1200
   FUUID      5f0f317b-f33f-7d29-5f87-4f178d731f80f015
   FVERSION   77_UWZ.pm:v3.0.1-s21828/2020-05-01
   INTERVAL   1200
   INTERVALWARN 0
   NAME       Unwetterzentrale
   NOTIFYDEV  global,Unwetterzentrale
   NR         134
   NTFY_ORDER 50-Unwetterzentrale
   PLZ        69493
   STATE      Warnungen: 0
   TYPE       UWZ
   URL        http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=getWarning&language=de&areaID=UWZDE69493
   VERSION    v3.0.1
   READINGS:
     2020-08-27 13:12:18   WarnCount       0
     2020-08-27 13:12:18   WarnUWZLevel    0
     2020-08-27 13:12:18   WarnUWZLevel_Color gruen
     2020-08-27 13:12:18   WarnUWZLevel_Str Stufe Grün (keine Warnung)
     2020-08-27 13:12:18   currentIntervalMode normal
     2020-08-27 13:12:18   durationFetchReadings 0.00
     2020-08-27 13:12:18   lastConnection  5 values captured in 0.00 s
     2020-08-27 13:12:18   state           Warnungen: 0
   fhem:
     LOCAL      0
   helper:
Attributes:
   devStateStyle style="text-align:right"
   download   1
   event-on-change-reading .*
   group      Wetterdaten
   humanreadable 1
   maps       deutschland europa baden-wuerttemberg
   room       WETTER
   savepath   /tmp/


notify:
Internals:
   DEF        Unwetterzentrale.WarnCount:.[0-9] { uwzWarn($NAME,$EVTPART1) }
   FUUID      5f466955-f33f-7d29-c9b2-79c47c05ae744a92
   NAME       notifyUWZTabletUI
   NR         163
   NTFY_ORDER 50-notifyUWZTabletUI
   REGEXP     Unwetterzentrale.WarnCount:.[0-9]
   STATE      active
   TYPE       notify
   READINGS:
     2020-08-27 13:05:27   state           active
Attributes:


unwetterText:

Internals:
   FUUID      5f466145-f33f-7d29-298c-75f097ebe5d760ac
   NAME       unwetterText
   NR         161
   STATE      <div class="top-space-min"><div class="row"><div class="col-2-1"><img src="http://www.unwetterzentrale.de/images/icons/sturm-orange.gif" width="50" height="50" alt="unwetter" /></div><div class="top-space-mid col-3-4">Starker SW- bis W-Wind, in Böen 75 bis 95 km/h, vereinzelt mehr</div></div><div class="newline">&nbsp </div><div class="row"><div class="col-2-1"><img src="http://www.unwetterzentrale.de/images/icons/sturm-gelb.gif" width="50" height="50" alt="unwetter" /></div><div class="top-space-mid col-3-4">Starker SW- bis W-Wind, in Böen 75 bis 95 km/h, vereinzelt mehr möglich</div></div><div class="newline">&nbsp </div><div class="row"><div class="col-2-1"><img src="http://www.unwetterzentrale.de/images/icons/waldbrand-orange.gif" width="50" height="50" alt="unwetter" /></div><div class="top-space-mid col-3-4">Erhöhte Waldbrandgefahr durch anhaltende Trockenheit und steigende Verdunstungsrate</div></div><div class="newline">&nbsp </div></div>
   TYPE       dummy
   READINGS:
     2020-08-26 15:47:05   state           <div class="top-space-min"><div class="row"><div class="col-2-1"><img src="http://www.unwetterzentrale.de/images/icons/sturm-orange.gif" width="50" height="50" alt="unwetter" /></div><div class="top-space-mid col-3-4">Starker SW- bis W-Wind, in Böen 75 bis 95 km/h, vereinzelt mehr</div></div><div class="newline">&nbsp </div><div class="row"><div class="col-2-1"><img src="http://www.unwetterzentrale.de/images/icons/sturm-gelb.gif" width="50" height="50" alt="unwetter" /></div><div class="top-space-mid col-3-4">Starker SW- bis W-Wind, in Böen 75 bis 95 km/h, vereinzelt mehr möglich</div></div><div class="newline">&nbsp </div><div class="row"><div class="col-2-1"><img src="http://www.unwetterzentrale.de/images/icons/waldbrand-orange.gif" width="50" height="50" alt="unwetter" /></div><div class="top-space-mid col-3-4">Erhöhte Waldbrandgefahr durch anhaltende Trockenheit und steigende Verdunstungsrate</div></div><div class="newline">&nbsp </div></div>
Attributes:
   room       WETTER


Sub

#####################################################
#############     Unwetterwarnungen     #############
#####################################################
sub uwzWarn($$) {

   my ($name,$event) = @_;
   my $hash = $defs{$name};


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

   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);
}


also es ist der UnwetterText der sich nicht aktualisiert....wie bekomme ich das hin das dieser sich aktualisiert?

Gruss
Markus

yersinia

@Kusselin: die gezeigten Lists haben erstmal nichts mit TabletUI zu tun - das sieht eher nach FHEMWEB aus. Für UWZ existiert ein eigenes FTUI-Widget ->  [widget_uwz] widget für UWZ Unwetterzentrale.

Für UWZ-FHEMWEB Themen ist der Thread [Unwetterwarnung] 77_UWZ.pm Modul für unwetterzentrale.de und wetteralarm.at besser.
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl