Unwetterzentrale in TabletUi

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

Vorheriges Thema - Nächstes Thema

olli84

Hallo,

hab alles geändert - kann es aber gerade nicht testen, da eine Unwetterwarnung bis morgen früh vorliegt.  ::)

Ich melde mich sobald ich was neues habe!  8)

olli84

So, endlich mal kein Unwetter mehr - Status unverändert, es wird immer noch die letzte Warnung angezeigt...

CoolTux

Erweiterte mal das Script bitte um die hier letzte Zeile mit dem printf
Sollte dann Teilweise am Ende so aussehen.


  $unwetterText .= "</div>";

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

  fhem "set unwetterText ".$unwetterText;

  printf "\nWarnCount gleich: $countWarn\n";


Und dann bitte mal die Sub starten und danach nach dem Satz WarnCount gleich: zuchen im Logfile
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

doesel

Gibt es schon einen Lösungsansatz? Habe genau das gleiche Problem, dass die letzte Unwetterwarnung stehen bleibt, alles wie vorgeschlagen geändert.
Komischerweise gibt es keine "Bodenfrost" Meldung, obwohl wir in Berlin stellenweise -8 Grad hatten.
Doesel
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi

CoolTux

Ich weiß ja noch nicht mal was Du bis jetzt hast oder gemacht hast. Bisschen mehr Info wäre da schon nicht schlecht.
Schau mal ob Berlin unter www.unwetterzentrale.de überhaupt was meldet. Ich wohne gleich nebenan und bei mir gibt es keine Meldungen über Bodenfrost.
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

doesel

Hallo cooltux,
habe alles wie in den vorherigen Posts (bis 7. Juni) konfiguriert, lief auch alles problemlos. Nachdem ich heute noch eine Unwettermeldung vom 2.11. - Sturmwarnung- vorfand, habe ich deine Tips weiter verfolgt und die Sub entsprechend geändert. Ergebnis: Warnung bleibt, keine Fehlermeldung im Log.
Doesel
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi

CoolTux

Das ist ja wirklich alles ganz nett und schön, aber ich kann damit dennoch nichts anfangen mein Lieber.
Bitte sei so nett und poste hier in code Tages Deine Sub und ein list von Deinem UWZ Device.

Danke
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

doesel

Mein list:
Internals:
   CountryCode DE
   DEF        DE 13589 3600
   INTERVAL   3600
   NAME       Unwetterzentrale
   NR         171
   PLZ        13589
   STATE      Warnungen: 0
   TYPE       UWZ
   URL        http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=getWarning&language=de&areaID=UWZDE13589
   VERSION    1.4.2
   Readings:
     2016-11-13 15:33:51   WarnCount       0
     2016-11-13 15:33:51   durationFetchReadings 1.00
     2016-11-13 15:33:51   lastConnection  2 values captured in 1.00 s
     2016-11-13 15:33:51   state           Warnungen: 0
   Fhem:
     LOCAL      0
   Helper:
Attributes:
   download   1
   humanreadable 1
   maps       Berlin
   room       Umwelt
   savepath   /opt/fhem/www/images/uwz/
   verbose    2

...und die sub:
sub unwetter() {
  my $countWarn = ReadingsVal("Unwetterzentrale","WarnCount",0);
  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("Unwetterzentrale",$warnbild,"");
      $unwetterText .= "\" width=\"50\" height=\"50\" alt=\"unwetter\" /></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 );

  fhem "set unwetterText ".$unwetterText;
  printf "\nWarnCount gleich: $countWarn\n";
}

Übrigens schönen Dank für die prompte Reaktion,
Doesel
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi

CoolTux

Ok das sieht erstmal ganz gut aus. Gib mal bitte noch ein list vom Notify welches die Sub auf ruft.
Kann sein das ein WarnCount 0 kein Event aus löst.
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

doesel

Habe hier ein DOIF:
Internals:
   DEF        ([Unwetterzentrale:WarnCount]) ({unwetter()})
   NAME       di_UWZ
   NR         266
   NTFY_ORDER 50-di_UWZ
   STATE      initialize
   TYPE       DOIF
   Readings:
     2016-11-13 15:33:51   Device          Unwetterzentrale
     2016-11-02 11:45:30   cmd             1
     2016-11-13 15:33:51   e_Unwetterzentrale_WarnCount 0
     2016-11-13 15:32:37   state           initialize
   Condition:
     0          ReadingValDoIf($hash,'Unwetterzentrale','WarnCount','','',AttrVal($hash->{NAME},'notexist',undef))
   Devices:
     0           Unwetterzentrale
     all         Unwetterzentrale
   Do:
     0:
       0          {unwetter()}
     1:
   Helper:
     event      durationFetchReadings: 1.00,WarnCount: 0,Warnungen: 0,lastConnection: 2 values captured in 1.00 s
     globalinit 1
     last_timer 0
     sleeptimer -1
     triggerDev Unwetterzentrale
     triggerEvents:
       durationFetchReadings: 1.00
       WarnCount: 0
       Warnungen: 0
       lastConnection: 2 values captured in 1.00 s
     triggerEventsState:
       durationFetchReadings: 1.00
       WarnCount: 0
       state: Warnungen: 0
       lastConnection: 2 values captured in 1.00 s
   Internals:
   Itimer:
   Readings:
     0           Unwetterzentrale:WarnCount
     all         Unwetterzentrale:WarnCount
   Regexp:
     0:
     All:
   State:
   Trigger:
Attributes:
   do         always
   room       Umwelt
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi

CoolTux

Das passt alles soweit. Auch die Auslösezeiten und so.
Suche mal bitte im fhem log nach dieser Zeile

WarnCount gleich:
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

doesel

Taucht im Log auch nach einem shutdown restart nicht auf. Mir fällt noch ein, dass ich mit anderen Modulen ein paar (inzwischen gelöste) Probleme hatte, weil hier perl 5.24 läuft...
Allerdings liefen diese Module garnicht.
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi

CoolTux

Nein nein das müsste schon da sein im Log. Und zwar an dem Tag und der Uhrzeit wo das DoIF das letzte Mal ausgelöst hat. 13.11 15:33:51
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

doesel

Tut mir leid, definitiv kein Eintrag  :(
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi

CoolTux

Schreibst du die Meldungen in ein Dummy namens unwetterText rein?
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