Unwetterzentrale in TabletUi

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

Vorheriges Thema - Nächstes Thema

CoolTux

list UWZ

Das in die fhem Commandline eingeben und Ausgabe hier in Codetags Posten 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

Wasserwerk33

Also habe mir nochmals alles durchgelsen gelöst und neu gemacht. Nun habe ich in meinem Dummy zumindestens schon mal den selben status wie bei meiner Unwetterzentrale.
hier die liste von Unwetterzentrale

Internals:
   CountryCode DE
   DEF        DE 49479 1800
   INTERVAL   1800
   NAME       Unwetterzentrale
   NR         37
   PLZ        49479
   STATE      Warnungen: 2
   TYPE       UWZ
   URL        http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=getWarning&language=de&areaID=UWZDE49479
   VERSION    1.4.2
   Readings:
     2017-01-07 14:42:45   WarnCount       2
     2017-01-07 14:42:45   Warn_0_End      1483812000
     2017-01-07 14:42:45   Warn_0_Hail     0
     2017-01-07 14:42:45   Warn_0_IconURL  http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif
     2017-01-07 14:42:45   Warn_0_LongText Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.
     2017-01-07 14:42:45   Warn_0_Severity 10
     2017-01-07 14:42:45   Warn_0_ShortText Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag
     2017-01-07 14:42:45   Warn_0_Start    1483779600
     2017-01-07 14:42:45   Warn_0_Type     10
     2017-01-07 14:42:45   Warn_0_levelName alert_warn_orange
     2017-01-07 14:42:45   Warn_0_uwzLevel 3
     2017-01-07 14:42:45   Warn_1_End      1483822800
     2017-01-07 14:42:45   Warn_1_Hail     0
     2017-01-07 14:42:45   Warn_1_IconURL  http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif
     2017-01-07 14:42:45   Warn_1_LongText Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.
     2017-01-07 14:42:45   Warn_1_Severity 10
     2017-01-07 14:42:45   Warn_1_ShortText Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag
     2017-01-07 14:42:45   Warn_1_Start    1483779600
     2017-01-07 14:42:45   Warn_1_Type     10
     2017-01-07 14:42:45   Warn_1_levelName alert_warn_orange
     2017-01-07 14:42:45   Warn_1_uwzLevel 3
     2017-01-07 14:42:45   durationFetchReadings 0.00
     2017-01-07 14:42:45   lastConnection  22 values captured in 0.00 s
     2017-01-07 14:42:45   state           Warnungen: 2
   Fhem:
     LOCAL      0
   Helper:
Attributes:
   room       2.0_Wetter

Wasserwerk33

hier ist das noch von meiner DOIF
Internals:
   DEF        ([Unwetterzentrale:WarnCount]) ({unwetter()})
   NAME       di_UWZ
   NR         39
   NTFY_ORDER 50-di_UWZ
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2017-01-07 14:42:45   Device          Unwetterzentrale
     2017-01-07 14:42:45   cmd             1
     2017-01-07 14:42:45   cmd_event       Unwetterzentrale
     2017-01-07 14:42:45   cmd_nr          1
     2017-01-07 14:42:45   e_Unwetterzentrale_WarnCount 2
     2017-01-07 14:42:45   state           cmd_1
   Condition:
     0          ReadingValDoIf($hash,'Unwetterzentrale','WarnCount')
   Devices:
     0           Unwetterzentrale
     all         Unwetterzentrale
   Do:
     0:
       0          {unwetter()}
   Helper:
     event      Warn_1_IconURL: http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif,Warn_1_LongText: Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.,Warn_1_Type: 10,Warn_1_Hail: 0,Warn_1_levelName: alert_warn_orange,Warn_0_ShortText: Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag,Warn_0_uwzLevel: 3,Warn_0_End: 1483812000,Warn_0_LongText: Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.,Warn_1_End: 1483822800,Warn_0_Type: 10,Warn_0_levelName: alert_warn_orange,durationFetchReadings: 0.00,Warn_1_Severity: 10,Warn_0_Hail: 0,Warn_0_Severity: 10,Warn_1_ShortText: Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag,Warn_0_Start: 1483779600,WarnCount: 2,Warn_1_Start: 1483779600,Warn_0_IconURL: http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif,Warn_1_uwzLevel: 3,Warnungen: 2,lastConnection: 22 values captured in 0.00 s
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Unwetterzentrale
     timerevent Warn_1_IconURL: http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif,Warn_1_LongText: Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.,Warn_1_Type: 10,Warn_1_Hail: 0,Warn_1_levelName: alert_warn_orange,Warn_0_ShortText: Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag,Warn_0_uwzLevel: 3,Warn_0_End: 1483812000,Warn_0_LongText: Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.,Warn_1_End: 1483822800,Warn_0_Type: 10,Warn_0_levelName: alert_warn_orange,durationFetchReadings: 0.00,Warn_1_Severity: 10,Warn_0_Hail: 0,Warn_0_Severity: 10,Warn_1_ShortText: Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag,Warn_0_Start: 1483779600,WarnCount: 2,Warn_1_Start: 1483779600,Warn_0_IconURL: http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif,Warn_1_uwzLevel: 3,Warnungen: 2,lastConnection: 22 values captured in 0.00 s
     triggerDev Unwetterzentrale
     timerevents:
       Warn_1_IconURL: http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif
       Warn_1_LongText: Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.
       Warn_1_Type: 10
       Warn_1_Hail: 0
       Warn_1_levelName: alert_warn_orange
       Warn_0_ShortText: Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag
       Warn_0_uwzLevel: 3
       Warn_0_End: 1483812000
       Warn_0_LongText: Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.
       Warn_1_End: 1483822800
       Warn_0_Type: 10
       Warn_0_levelName: alert_warn_orange
       durationFetchReadings: 0.00
       Warn_1_Severity: 10
       Warn_0_Hail: 0
       Warn_0_Severity: 10
       Warn_1_ShortText: Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag
       Warn_0_Start: 1483779600
       WarnCount: 2
       Warn_1_Start: 1483779600
       Warn_0_IconURL: http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif
       Warn_1_uwzLevel: 3
       Warnungen: 2
       lastConnection: 22 values captured in 0.00 s
     timereventsState:
       Warn_1_IconURL: http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif
       Warn_1_LongText: Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.
       Warn_1_Type: 10
       Warn_1_Hail: 0
       Warn_1_levelName: alert_warn_orange
       Warn_0_ShortText: Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag
       Warn_0_uwzLevel: 3
       Warn_0_End: 1483812000
       Warn_0_LongText: Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.
       Warn_1_End: 1483822800
       Warn_0_Type: 10
       Warn_0_levelName: alert_warn_orange
       durationFetchReadings: 0.00
       Warn_1_Severity: 10
       Warn_0_Hail: 0
       Warn_0_Severity: 10
       Warn_1_ShortText: Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag
       Warn_0_Start: 1483779600
       WarnCount: 2
       Warn_1_Start: 1483779600
       Warn_0_IconURL: http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif
       Warn_1_uwzLevel: 3
       state: Warnungen: 2
       lastConnection: 22 values captured in 0.00 s
     triggerEvents:
       Warn_1_IconURL: http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif
       Warn_1_LongText: Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.
       Warn_1_Type: 10
       Warn_1_Hail: 0
       Warn_1_levelName: alert_warn_orange
       Warn_0_ShortText: Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag
       Warn_0_uwzLevel: 3
       Warn_0_End: 1483812000
       Warn_0_LongText: Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.
       Warn_1_End: 1483822800
       Warn_0_Type: 10
       Warn_0_levelName: alert_warn_orange
       durationFetchReadings: 0.00
       Warn_1_Severity: 10
       Warn_0_Hail: 0
       Warn_0_Severity: 10
       Warn_1_ShortText: Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag
       Warn_0_Start: 1483779600
       WarnCount: 2
       Warn_1_Start: 1483779600
       Warn_0_IconURL: http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif
       Warn_1_uwzLevel: 3
       Warnungen: 2
       lastConnection: 22 values captured in 0.00 s
     triggerEventsState:
       Warn_1_IconURL: http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif
       Warn_1_LongText: Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.
       Warn_1_Type: 10
       Warn_1_Hail: 0
       Warn_1_levelName: alert_warn_orange
       Warn_0_ShortText: Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag
       Warn_0_uwzLevel: 3
       Warn_0_End: 1483812000
       Warn_0_LongText: Mit der Annäherung eines Frontensystems setzt sich am Samstagvormittag in der Höhe etwas mildere Luft durch. Zeitgleich zieht schwacher Schneefall auf, der zunehmend in Regen oder Nieselregen übergeht. Da die Böden verbreitet gefroren sind, kann es gebietsweise zu Glatteisbildung durch gefrierenden Regen kommen. Gegen Abend lässt der Regen nach und es setzt sich auch am Boden etwas mildere Luft durch, so dass die Glättegefahr zurück geht.
       Warn_1_End: 1483822800
       Warn_0_Type: 10
       Warn_0_levelName: alert_warn_orange
       durationFetchReadings: 0.00
       Warn_1_Severity: 10
       Warn_0_Hail: 0
       Warn_0_Severity: 10
       Warn_1_ShortText: Ab Sa-vormittag von Schnee in Glatteisregen übergehender Niederschlag
       Warn_0_Start: 1483779600
       WarnCount: 2
       Warn_1_Start: 1483779600
       Warn_0_IconURL: http://www.unwetterzentrale.de/images/icons/glatteisregen-orange.gif
       Warn_1_uwzLevel: 3
       state: Warnungen: 2
       lastConnection: 22 values captured in 0.00 s
   Internals:
   Itimer:
   Readings:
     0           Unwetterzentrale:WarnCount
     all         Unwetterzentrale:WarnCount
   Regexp:
     0:
     All:
   State:
   Trigger:
Attributes:
   do         always
   room       2.0_Wetter

CoolTux

Wieso willst du unbedingt einen Dummy haben? Die Sub sofern Notify und Sub korrekt sind, schreibt Dir den html Code direkt als Reading in Dein Unwetter Device.

Mache es so wie ich hier geschrieben habe und dann geht das
https://forum.fhem.de/index.php/topic,49707.msg555211.html#msg555211
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

Tutti_Bomovski

Du brauchst doch den Dummy gar nicht.
Wenn du die Sub unwetter in deine 99_myutils einfügst und dann die Notify anlegst dürfte er in deiner Unwetterzentrale = Name Unwetterzentrale ein Reading nsmens ftuiuwztext anlegen. Dort findest du dann die Unwetterwarnung für deinen Ort.
Den Dummy unwettertext brauchst du nicht.
Im Ftui kannst du dann per Label z.b. das reading aus der Unwetterzentrale namens ftui... auslesen und erhälst die Anzeige wie auf meinem Screenshot. Musst natürlich noch data-device etc. Richtig setzen und dann sollte es gehen. Viel Erfolg.

Wasserwerk33

vielleicht habe ich mich auch falsch ausgedrückt oder beschrieben. aber ich bekomme ja unter Unwetterzentrale keinen punkt mit FTUI dazu. :( den dummy muss ich nicht unedingt haben

Tutti_Bomovski

Also noch mal ganz langsam.

1. Die 99_myUtils mit dem Code Sub... anpassen.
2. Ein Notify anlegen.
Wenn dann eime Wetterwarnung vorliegt sollte im Modul der Unwetterzentale ein reading namens ftuiuwztext auftauchen.
Dort steht dann alles drin, was du für die Einbindung per html brauchst.
Kein Dummy oder so anlegen....

Tutti_Bomovski

Hier noch mal ein vollständiger Code für deine 99_myutils.pm


##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.

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

1;


Dann noch das notify wie von Cooltux beschrieben.
Das DOIF und den dummy würde ich mal löschen.
Danach schaust du in dein Modul für die Unwetterzentrale und suchst nach dem Reading ftuiuwztext.
Wenn das angezeigt wird kannst du im Ftui per Widget und Code diesen Wert abfragen und anzeigen lassen.

Viel Erfolg....

Wasserwerk33

Ja ich habe den code kopiert, aber er zeigt mir dieses fehler nur wenn ich die namen ändere.
ich bekomme diese fehler meldung bei meiner sub.
Can't declare constant item in "my" at ./FHEM/99_myUtils.pm line 26, near ") =" Global symbol "$name" requires explicit package name at ./FHEM/99_myUtils.pm line 27.

Habe ich da irgendetwas falsch eingegeben??

und als name gebe ich doch ein wie ich meine UWZ beannt habe oder?? also in meinem fall wäre dieses Unwetterzentrale.


# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line

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

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


   my $countWarn = ReadingsVal("Unwetterzentrale","WarnCount","");
        my $wNb = ReadingsVal( "Unwetterzentrale", "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("Unwetterzentrale",$warnbild,"");
      $unwetterText .= "\" width=\"50\" height=\"50\" alt=\"Unwetterwarnung\" /></div>";
      $unwetterText .= "<div class=\"top-space-mid col-3-4\">";
      $unwetterText .= ReadingsVal("Unwetterzentrale",$warnnumber,"");
      $unwetterText .= "</div></div><div class=\"newline\">&nbsp </div>";
      $warnnumber = "";
      $warnbild ="";
    }

   $unwetterText .= "</div>";

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

    readingsSingleUpdate($hash,"ftuiUwzText",$unwetterText, 1);
}

1;

Tutti_Bomovski

Zitat von: Wasserwerk33 am 07 Januar 2017, 15:44:01
Ja ich habe den code kopiert, aber er zeigt mir dieses fehler nur wenn ich die namen ändere.
ich bekomme diese fehler meldung bei meiner sub.
Can't declare constant item in "my" at ./FHEM/99_myUtils.pm line 26, near ") =" Global symbol "$name" requires explicit package name at ./FHEM/99_myUtils.pm line 27.

Habe ich da irgendetwas falsch eingegeben??

und als name gebe ich doch ein wie ich meine UWZ beannt habe oder?? also in meinem fall wäre dieses Unwetterzentrale.


# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line

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

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


   my $countWarn = ReadingsVal("Unwetterzentrale","WarnCount","");
        my $wNb = ReadingsVal( "Unwetterzentrale", "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("Unwetterzentrale",$warnbild,"");
      $unwetterText .= "\" width=\"50\" height=\"50\" alt=\"Unwetterwarnung\" /></div>";
      $unwetterText .= "<div class=\"top-space-mid col-3-4\">";
      $unwetterText .= ReadingsVal("Unwetterzentrale",$warnnumber,"");
      $unwetterText .= "</div></div><div class=\"newline\">&nbsp </div>";
      $warnnumber = "";
      $warnbild ="";
    }

   $unwetterText .= "</div>";

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

    readingsSingleUpdate($hash,"ftuiUwzText",$unwetterText, 1);
}

1;

Nee die Sub musst du unverändert lassen.
Sonst kommen halt die Fehler.
Also 99_myutils mit dem sub code ergänzen.
Das notify anlegen und dann solltest du im ftuiuwztext was haben.
Bitte denke an den richtigen Namen für notidy und Device beim HTML Code.

Tutti_Bomovski

Notify also so:
Define no_UWZTabletUI notify Unwetterzentrake.WarnCount:.[0-9] { uwzWarn($NAME,$EVTPART1);}

Das Wort Unwetterzentrale ist dann ggfs mit dem richtigen Namen Deines Moduls auszutauschen.

chris1284


davedeluxe

Hi,

kann es sein das es bei dem DOIF
([Unwetterzentrale:WarnCount]) ({unwetter()})
ein Problem gibt wenn sich nur die Meldung ändert?

Bei uns gab es in letzter Zeit einige Meldungen aber immer nur EINE (WarnCount:1)
Die Meldung hat sich zwar verändert, nicht aber der WarnCount wodurch das sub nicht aktiviert wurde.
Wäre das so irgendwie möglich?:
([Unwetterzentrale:WarnCount]|Unwetterzentrale:Warn_0_LongText) ({unwetter()})

P.S. Das gleiche Problem müsste auch bei dem Notify auftreten:
Unwetterzentrale.WarnCount:.[0-9] { uwzWarn($NAME,$EVTPART1); }

Grüße Dave

CoolTux

Beim DOIF weiß ich es nicht. Das Notify geht aber ohne bei mir ersichtliche Probleme.
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

okay, habs umgestellt auf deine Variante und siehe da, es geht ;)
Jetzt habe ich noch ein kleines Problem:
Ich lasse das ganze per Popup auf meinem Tablet anzeigen.
<div data-type="popup"
data-device="Unwetter"
data-get="WarnTablet"
data-get-on="[^0]+"
data-get-off="0"
...

und
...
data-fhem-cmd="setreading Unwetter WarnTablet 0"
onclick="$('.dialog-close').trigger('click');">OK


Er prüft also auf das Attribut "WarnTablet", lautet der Wert "1" wird das Popup geöffnet, lautet der Wert "0" bleibt es geschlossen.
Wird das Popup per "OK"-Button geschlossen, wird der Wert auf 0 gesetzt.

Somit kann ich die Meldung bestätigen und bekomme sie nicht mehr angezeigt.

Das Attibut WarnTablet lasse ich vom sub setzen:
...
readingsSingleUpdate($hash,"ftuiUwzText",$unwetterText, 1);
fhem "setreading Unwetter WarnTablet 1";
}


Leider wird das Attribut nun ständig auf "1" gesetzt, immer dann wenn UWZ aktualisiert wird.