Neues Modul: 77_UWZ.pm

Begonnen von tdoe, 08 Februar 2015, 22:09:06

Vorheriges Thema - Nächstes Thema

AndiL

Hallo tdoe,

ich wollte die super praktische Updatefunktion mit dem Link

update 77_UWZ.pm https://raw.githubusercontent.com/tobias-d-oe/fhem-uwz/master/control-uwz.txt

direkt aus FHEM nutzen.

Leider bricht es mit Fehler ab

UPD 77_UWZ.pm
Got 34290 bytes for 77_UWZ.pm, not 34297 as expected,
aborting.


Liegt es an mir, oder wo sind die paar bytes verloren gegangen?

Gruß
Andi
FHEM 5.8 auf RasPi 3
***********************************
FB 7390, FS20, HM mit USB-CFG, 1-wire (DS1820 und DS2408), Buderus KM200 mit GB 152, Phillips HUE und Bastelkram....

tdoe

Hi Andi,

Zitat von: AndiL am 08 Juni 2015, 19:23:31
Leider bricht es mit Fehler ab

UPD 77_UWZ.pm
Got 34290 bytes for 77_UWZ.pm, not 34297 as expected,
aborting.


Liegt es an mir, oder wo sind die paar bytes verloren gegangen?

mist.... vergessen das controlfile anzupassen. Jetzt funzt es:

UPD 77_UWZ.pm

New entries in the CHANGED file:
- SVN
  - feature: Unwettertyp 9 = Hitzewarnung
  - bugfix:  Bugfixing "Warn_?_Hail"
  - bugfix:  Löschen der Readings beim Update nun "geziehlter" (^(Warn_[0-9]_|WarnCount))
  - feature: Readings Warn_?_Start_Date, Warn_?_Start_Time, Warn_?_End_Date,
             Warn_?_End_Time per default aus. Werden mit attribut "humanreadable" aktiviert.
             Leere Warnmeldungen entfernt.
             Neues Reading Warn_?_Hail, zur Anzeige der Hagelgefahr.
  - feature: Neue Readings hinzugefügt Warn_?_Start_Date, Warn_?_Start_Time, Warn_?_End_Date,
             Warn_?_End_Time auf Wunsch von björnbo und Michael.
  - feature: Unwettertyp 11 = Bodenfrost hinzugefügt.
  - feature: Unwettertyp 6 = Gewitter; Unwettertyp 7 = Waldbrand hinzugefügt.
  - feature: Karten integriert: europa, isobaren1, isobaren2
  - feature: Unwetterkarten um Österreich erweitert.
  - feature: Erweiterungswunsch zum download der Unwetterkarten integriert
  - feature: Änderungsvorschlag von hexenmeister eingebaut. (UWZAsHtmlKarteLand)
  - feature: Unwettertyp 10 = Glatteisregen implementiert

update finished, "shutdown restart" is needed to activate the changes.

Jewo

Zitat von: tdoe am 08 Juni 2015, 17:59:38
Hallo Jens,

Prinzipiell ist dies schon möglich, nur stellt sich mir die Frage ob eine Sortierung nach Severity hier Sinn macht.
Als Sinnvolle Sortierung könnte ich mir eher den Timestamp vorstellen, so dass das nächste Unwetter gleich als erstes angezeigt wird.

Könnte mir hier aber auch einen Schalter vorstellen, welcher die Art der Sortierung steuert, ob nach Timestamp oder Severity.
Als default würde ich jedoch auf jeden Fall dann eher Timestamp sehen.

Gruß tdoe

Hallo tdoe,

ok, so wäre es natürlich auch gut.
Ich hätte da noch einen Wunsch. :)

Konntest du noch ein Reading in der Art "Gewitterwarnung aktiv 1|0" einbauen ?
Zum Hintergrund, warum ich es gebrauchen könnte:

Ich habe den Gewitterwarner von ELV laufen: http://www.elv.de/elv-gewitterwarner-gw1-komplettbausatz.html
Dieser funktioniert auch sehr gut. Allerdings haben wir im Haus noch ein paar Schalter der etwas älteren Generation,
die auch ab und zu mal eine Warnung auslösen.

Das macht dann keinen Spaß, wenn jemand um 2-3 Uhr das Licht ausschaltet, und mein Handy mich aus dem Schlaf reißt. :D

Mit dem extra Reading könnte ich das Notify so um bauen, das die Warnung nur versendet wird, wenn auch tatsächlich eine
Gewitter(vor)Warnung existiert.

Gruß
Jens

marvin78

@Jewo: Ich glaube nicht, dass solche speziellen Wünsche in ein Modul gehören. Allerdings ist es kein Problem, so etwas mit einem userReading umzusetzen.

Jewo

Zitat von: marvin78 am 09 Juni 2015, 10:03:02
@Jewo: Ich glaube nicht, dass solche speziellen Wünsche in ein Modul gehören. Allerdings ist es kein Problem, so etwas mit einem userReading umzusetzen.

Stimmt, das ginge natürlich auch.
Da FHEM noch recht neu ist für mich, fällt mir so was nicht immer sofort ein. :)

tdoe

Moin Moin Jens,

Zitat von: Jewo am 09 Juni 2015, 09:54:20
Ich hätte da noch einen Wunsch. :)

Konntest du noch ein Reading in der Art "Gewitterwarnung aktiv 1|0" einbauen ?

Du kannst folgendes machen:

Die folgende Sub in deine myUtils.pm kopieren:

sub IstGewitter($)
{
  my $dev = @_;
  my $curTimestamp=time();
  if (  (ReadingsVal($dev,"Warn_0_Start","") le $curTimestamp) &&  (ReadingsVal($dev,"Warn_0_End","") ge $curTimestamp) && (ReadingsVal($dev,"Warn_0_Type","") eq 7)  ) {
    return on;
  } else {
    return off;
  }
}


und deinem UWZ-Device das folgende UserReading hinzufügen:

attr uwz2 userReadings Gewittertest { IstGewitter("uwz2");; }


Dann hast das gewünschte Ergebniss.

Gruß tdoe

Gernott

#66
Zitat von: tdoe am 09 Juni 2015, 11:11:09
Die folgende Sub in deine myUtils.pm kopieren:
....


Hallo tdoe

Habe das gerade mal nachgebaut, erhalte aber folgende Fehlermeldung:

Bareword "on" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 130, <$fh> line 8.
Bareword "off" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 132, <$fh> line 8.


Das beißt sich offenbar mit dem "use strict;" im Header des Moduls?

Dann hast Du nur Warnung 0 abgefragt. Dort müßte man eine Schleife einbauen, um durch alle vorhandenen Warnungen zu suchen. Nach einiger Testerei geht das jetzt so:

sub IstGewitter($)
{
  my $dev = @_;
  my $out;
  my $curTimestamp=time();
  for(my $i= 0;$i < ReadingsVal("Unwetterzentrale","WarnCount", 0);$i++){
  if (  (ReadingsVal("Unwetterzentrale","Warn_".$i."_Start","") le $curTimestamp) &&  (ReadingsVal("Unwetterzentrale","Warn_".$i."_End","") ge $curTimestamp) && (ReadingsVal("Unwetterzentrale","Warn_".$i."_Type","") eq 7)  ) {
        $out= "on";
        last;
        } else {
            $out= "off";
          }
  };
  return $out;
}


Irgendwie hatte u.a. die Übergabe von $dev bei ReadingsVal($dev, "....","") nicht funktioniert.

Viele Grüße
G.

kvo1

Danke für das modul, bin per Zufall drauf gestoßen... muss ich mal testen.

kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

LuckyDay

Hat irgendjemand eine Idee warum es nicht mehr läuft?
bist zum 2015-06-29 14:49:38 hat es getan und :(
ich hab mal das list und ein Verbose 5 angehängt, Daten werden geholt aber dann bricht es ab
Update von github mit dem Link hab ich auch gemacht.
update 77_UWZ.pm https://raw.githubusercontent.com/tobias-d-oe/fhem-uwz/master/control-uwz.txt

Läuft auf einen Cubietruck

Internals:
   CountryCode DE
   DEF        DE 74321 3600
   INTERVAL   3600
   NAME       Unwetterzentrale
   NR         431
   PLZ        74321
   STATE      Initializing
   TYPE       UWZ
   URL        http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=getWarning&language=de&areaID=UWZDE74321
   Readings:
     2015-06-29 14:49:38   WarnCount       0
     2015-06-29 14:49:38   durationFetchReadings 0.31
     2015-06-29 14:49:38   lastConnection  2 values captured in 0.31 s
     2015-06-29 14:49:38   state           Warnungen: 0
   Fhem:
     LOCAL      0
     modulVersion $Date: 2015-05-10 01:41:33 +0100 (Sun 10 Mai 2015) $
   Helper:
     Running_pid:
       abortFn    UWZ_Aborted
       finishFn   UWZ_Done
       fn         UWZ_Run
       pid        2234
       Abortarg:
Attributes:
   event-on-change-reading .*
   group      a_test
   humanreadable 1


Usage: Encode::XS::decode(obj, src, check_sv = &PL_sv_no) at ./FHEM/77_UWZ.pm line 496.
2015.07.10 13:29:20.432 3: UWZ Unwetterzentrale: Run.492 Warn_0_IconURL: http://www.unwetterzentrale.de/images/icons/waldbrand-4.gif
2015.07.10 13:29:20.431 3: UWZ Unwetterzentrale: Run.489 Warn_0_ShortText: Nach nur �rtl. Schauern/Gewittern anhaltend trocken, erh�hte Waldbrandgefahr
2015.07.10 13:29:20.430 3: UWZ Unwetterzentrale: Run.487 Warn_0_LongText: Nach nur �rtlichen oder regionalen Schauern und Gewittern in den letzten Tagen bleibt es bis zum Wochenende mit wieder steigendem Hochdruckeinfluss anhaltend trocken. Dabei str�mt bis Samstag auch wieder vor�bergehend hei�e Luft ins Land. Damit bleibt die Waldbrandgefahr verbreitet erh�ht, gebietsweise auch hoch. Ab Sonntag k�nnte sich die Lage mit sinkenden Temperaturen leicht entspannen, verbreitete Niederschl�ge sind aber nach derzeitigem Stand nicht in Sicht.
2015.07.10 13:29:20.431 1: PERL WARNING: Wide character in print at fhem.pl line 812.
2015.07.10 13:29:20.430 3: UWZ Unwetterzentrale: Run.485 Warn_0_levelName: notice_warn_orange
2015.07.10 13:29:20.429 3: UWZ Unwetterzentrale: Run.478 Warn_0_End_Time: 20:00
2015.07.10 13:29:20.429 3: UWZ Unwetterzentrale: Run.476 Warn_0_End_Date: 12.07.2015
2015.07.10 13:29:20.429 3: UWZ Unwetterzentrale: Run.474 Warn_0_Start_Time: 11:01
2015.07.10 13:29:20.428 3: UWZ Unwetterzentrale: Run.472 Warn_0_Start_Date: 08.07.2015
2015.07.10 13:29:20.428 3: UWZ Unwetterzentrale: Run.467 Warn_0_End: 1436724000
2015.07.10 13:29:20.428 3: UWZ Unwetterzentrale: Run.465 Warn_0_Start: 1436346060
2015.07.10 13:29:20.427 3: UWZ Unwetterzentrale: Run.463 Warn_0_Severity: 4
2015.07.10 13:29:20.427 3: UWZ Unwetterzentrale: Run.460 Warn_0_uwzLevel: 4
2015.07.10 13:29:20.427 3: UWZ Unwetterzentrale: Run.458 Warn_0_Type: 6
2015.07.10 13:29:20.426 3: UWZ Unwetterzentrale: Run.427 There are 1 warnings active
2015.07.10 13:29:20.422 5: UWZ Unwetterzentrale: Run.421 1294 characters captured
2015.07.10 13:29:20.421 4: UWZ Unwetterzentrale: JSONAcquire.219 1294 characters captured
2015.07.10 13:29:20.155 4: UWZ Unwetterzentrale: JSONAcquire.203 Start capturing of http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=getWarning&language=de&areaID=UWZDE74321
2015.07.10 13:29:20.124 3: UWZ Unwetterzentrale: Set.182 set command: update

LuckyDay

Hat mir jetzt doch keine Ruhe gelassen

bei mir funktioniert das update über github nicht obwohl in fhem es in ordnung aussieht


2015.07.10 13:24:31.742 1: Calling /usr/bin/perl ./contrib/commandref_join.pl, this may take a while
2015.07.10 13:24:31.741 1:   - feature: Unwettertyp 10 = Glatteisregen implementiert
2015.07.10 13:24:31.741 1:   - feature: Änderungsvorschlag von hexenmeister eingebaut. (UWZAsHtmlKarteLand)
2015.07.10 13:24:31.741 1:   - feature: Erweiterungswunsch zum download der Unwetterkarten integriert
2015.07.10 13:24:31.740 1:   - feature: Unwetterkarten um Österreich erweitert.
2015.07.10 13:24:31.740 1:   - feature: Karten integriert: europa, isobaren1, isobaren2
2015.07.10 13:24:31.739 1:   - feature: Unwettertyp 6 = Gewitter; Unwettertyp 7 = Waldbrand hinzugefügt.
2015.07.10 13:24:31.739 1:   - feature: Unwettertyp 11 = Bodenfrost hinzugefügt.
2015.07.10 13:24:31.739 1:              Warn_?_End_Time auf Wunsch von björnbo und Michael.
2015.07.10 13:24:31.738 1:   - feature: Neue Readings hinzugefügt Warn_?_Start_Date, Warn_?_Start_Time, Warn_?_End_Date,
2015.07.10 13:24:31.738 1:              Neues Reading Warn_?_Hail, zur Anzeige der Hagelgefahr.
2015.07.10 13:24:31.738 1:              Leere Warnmeldungen entfernt.
2015.07.10 13:24:31.737 1:              Warn_?_End_Time per default aus. Werden mit attribut "humanreadable" aktiviert.
2015.07.10 13:24:31.737 1:   - feature: Readings Warn_?_Start_Date, Warn_?_Start_Time, Warn_?_End_Date,
2015.07.10 13:24:31.736 1:   - bugfix:  Löschen der Readings beim Update nun "geziehlter" (^(Warn_[0-9]_|WarnCount))
2015.07.10 13:24:31.736 1:   - bugfix:  Bugfixing "Warn_?_Hail"
2015.07.10 13:24:31.736 1:   - feature: Unwettertyp 9 = Hitzewarnung
2015.07.10 13:24:31.735 1: - SVN
2015.07.10 13:24:31.734 1: New entries in the CHANGED file:
2015.07.10 13:24:31.734 1:
2015.07.10 13:24:31.728 1: PERL WARNING: Use of uninitialized value $dir in split at ./FHEM/98_update.pm line 331.
2015.07.10 13:24:31.728 1: PERL WARNING: Use of uninitialized value $dir in hash element at ./FHEM/98_update.pm line 330.
2015.07.10 13:24:31.727 1: PERL WARNING: Use of uninitialized value $dir in hash element at ./FHEM/98_update.pm line 329.
2015.07.10 13:24:31.273 1: UPD 77_UWZ.pm
2015.07.10 13:24:30.862 1: RMDIR: ./restoreDir/2015-02-09


hab die Datei dann aus dem ersten Beitrag kopiert, dann geht es wieder :)

kvo1

#70
Hallo tdoe,

ich habe nach dem Start von fhem folgende meldung im logfile...

given is experimental at ./FHEM/77_UWZ.pm line 174, <$fh> line 98.
when is experimental at ./FHEM/77_UWZ.pm line 176, <$fh> line 98.
when is experimental at ./FHEM/77_UWZ.pm line 180, <$fh> line 98.


hast Du ne Idee / Erklärung ?

//edit//
Das hast Du Dir wohl vom 59_PROPLANTA.pm  eingefangen !? ;)

Danke und Gruss
kvo1

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

DJ_SAMMY190

Mal ne Frage, bekomme nun im FHEM log dauernd die Notizen. kann man das abstellen?


...
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Run.488 Warn_1_LongText: Lagen unterhalb von 700 Meter: Aus dem Mittelmeerraum flie�en in den kommenden Tagen hei�e Luftmassen ein. Dabei erreicht die Temperatur am Donnerstag 30 bis �rtlich 34 Grad, am Freitag 32 bis 35 Grad. Am Samstag wird es mit H�chstwerten zwischen 28 und 31 Grad weniger hei�, aber schw�l. Die Hitzebelastung ist m��ig, am Freitag und Samstag stark. Die Temperaturen k�hlen nachts meist auf unter 20 Grad ab. Am Sonntag ist es vor�bergehend angenehm warm.
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Run.490 Warn_1_ShortText: Bis 700 Metern: M�ssige bis starke Hitze Do bis 34, Fr bis 35 Grad, Samstag schw�l
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Run.493 Warn_1_IconURL: http://www.unwetterzentrale.de/images/icons/temperatur-5.gif
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Run.502 Warn_1_Hail: 0
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Run.511 Done fetching data
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Run.512 Will return : Unwetterzentrale|Warn_0_Type|6|Warn_0_uwzLevel|4|Warn_0_Severity|4|Warn_0_Start|1436968800|Warn_0_End|1437249600|Warn_0_levelName|notice_warn_orange|Warn_0_LongText|Mit anhaltender Trockenheit und zunehmend heißen Temperaturen ist die Waldbrandgefahr wieder deutlich erhöht. Erst am Samstagabend können Schauer oder Gewitter die Gefahr senken. Am Sonntag ist es vorübergehend kühler. In der neuen Woche scheint es dann aber wieder trocken und heiß zu werden. Bitte Achten Sie auf Aktualisierungen.|Warn_0_ShortText|Weiterhin verbreitet hohe, örtlich sehr hohe Waldbrandgefahr|Warn_0_IconURL|http://www.unwetterzentrale.de/images/icons/waldbrand-orange.gif|Warn_0_Hail|0|Warn_1_Type|9|Warn_1_uwzLevel|5|Warn_1_Severity|5|Warn_1_Start|1437037200|Warn_1_End|1437249600|Warn_1_levelName|notice_warn_red|Warn_1_LongText|Lagen unterhalb von 700 Meter: Aus dem Mittelmeerraum fließen in den kommenden Tagen heiße Luftmassen ein. Dabei erreicht die Temperatur am Donnerstag 30 bis örtlich 34 Grad, am Freitag 32 bis 35 Grad. Am Samstag wird es mit Höchstwerten zwischen 28 und 31 Grad weniger heiß, aber schwül. Die Hitzebelastung ist mäßig, am Freitag und Samstag stark. Die Temperaturen kühlen nachts meist auf unter 20 Grad ab. Am Sonntag ist es vorübergehend angenehm warm.|Warn_1_ShortText|Bis 700 Metern: Mässige bis starke Hitze Do bis 34, Fr bis 35 Grad, Samstag schwül|Warn_1_IconURL|http://www.unwetterzentrale.de/images/icons/temperatur-unknown.gif|Warn_1_Hail|0|durationFetchReadings|0.15|WarnCount|2
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Done.282 Delete Reading:WarnCount
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Done.282 Delete Reading:Warn_0_End
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Done.282 Delete Reading:Warn_0_Hail
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Done.282 Delete Reading:Warn_0_IconURL
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Done.282 Delete Reading:Warn_0_LongText
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Done.282 Delete Reading:Warn_0_Severity
2015.07.16 18:44:55 3: UWZ Unwetterzentrale: Done.282 Delete Reading:Warn_0_ShortText
...
FHEM auf Raspberry Pi 2 b mit Homematic Komponenten

kvo1

Hallo Zusammen,
steh grade etwas auf dem Schlausch!
Wie stellt Ihr den eine Umwetterwarnung auf dem Floorplan dar ?
Hab die erste Warnung (Typ 9)  ;)

Danke
kvo1

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

JoWiemann

Zitat von: DJ_SAMMY190 am 16 Juli 2015, 18:52:16
Mal ne Frage, bekomme nun im FHEM log dauernd die Notizen. kann man das abstellen?

Das Attribut verbose im Device auf 2 setzen.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

tdoe

#74
Moin Moin,

Zitat von: kvo1 am 12 Juli 2015, 00:00:14

given is experimental at ./FHEM/77_UWZ.pm line 174, <$fh> line 98.
when is experimental at ./FHEM/77_UWZ.pm line 176, <$fh> line 98.
when is experimental at ./FHEM/77_UWZ.pm line 180, <$fh> line 98.


//edit//
Das hast Du Dir wohl vom 59_PROPLANTA.pm  eingefangen !? ;)

Jipp, hab ich mich bei Proplanta "angesteckt" ;-)

Werd da bei Gelegenheit mal den Code ändern um die "experimentellen" Funktionen gegen "abgehangene" zu ersetzen.

Zitat von: kvo1 am 16 Juli 2015, 22:30:48
Hallo Zusammen,
steh grade etwas auf dem Schlausch!
Wie stellt Ihr den eine Umwetterwarnung auf dem Floorplan dar ?
Hab die erste Warnung (Typ 9)  ;)

Danke
kvo1

schau mal im aller ersten Post in diesem Thread  ;)

Das sind zwei "tabelarische Ansichten":

define UnwetterDetailiert weblink htmlCode {UWZAsHtml("Unwetterzentrale")}
define UnwetterLite weblink htmlCode {UWZAsHtmlLite("Unwetterzentrale")}


Damit hast nur ein Warnicon, oder keins wenn keine Warnung vorhanden:

define UnwetterFloorplan weblink htmlCode {UWZAsHtmlFP("Unwetterzentrale")}


Und damit kannst du (Un)Wetter-Karten einbinden, welche Karten alle verfügbar sind ist im ersten Post und der Commandref aufgelistet,

define UnwetterKarteBY weblink htmlCode {UWZAsHtmlKarteLand("Unwetterzentrale","Bayern")}


Gruss tdoe