Niederschlagsvorhersage

Begonnen von LuBeDa, 14 September 2017, 17:24:47

Vorheriges Thema - Nächstes Thema

LuBeDa

Hallo,
ich wollte hier mal ein neues Modul veröffentlichen. Mit dem Modul "59_Buienradar.pm" kann man die Niederschlagsvorhersage eines niederländischen Wetterdienstes nutzten (https://www.buienradar.nl/overbuienradar/gratis-weerdata). Der Dienst stellt eine regionale Vorhersage mit einer 5 Minuten Auflösung zur Verfügung, die Vorhersage geht bis zu 2 Stunden im Voraus. Die Qualität der Daten ist so hoch dass man z.B. die Entscheidung wann man mit seinem Hund spazieren geht darauf basieren lassen kann.

Das Modul Buienradar benötigt die Perl Bibliothek "DateTime", die man mit cpan install DateTime installieren kann. Wenn man im global Device Longitude und Latitude definiert hat kann man mit define BR Buienradar das Device BR mit der lokalen Vorhersage einbinden. Es geht aber auch mit define BR Buienradar <Latitude> <Longitude>. Die Daten werden automatisch alle 5 Minuten nonBlocking abgeholt.

Es gibt auch ein weiteres Modul RainTMC mit einer anderen Datenquelle.

Beide Module haben folgenden Readings:

rainNow: Die vorhergesagte Regenmenge für das aktuelle 5 Min. Intervall in mm/m² pro Stunden
rainAmount: Die Regenmenge die im kommenden Regenschauer herunterkommen soll
rainTotal: Die Regenmenge in den vorliegenden Daten
rainBegin: Die Uhrzeit des kommenden Regenbegins oder "unknown"
rainEnd: Die Uhrzeit des kommenden Regenendes oder "unknown"
rainDataStart:  Begin der aktuellen Regenvorhersage.
rainDataStart:  Ende der aktuellen Regenvorhersage.
rainLaMetric: Die nächsten 12 Regenmengen aufbereitet für ein LaMetric Display

Folgende Werte kann man mit get abfragen:

rainDuration: Die voraussichtliche Dauer des nächsten Schauers in Minuten
startsIn: der Regen beginnt in x Minuten
refresh: Neue Daten werde nonblocking abgefragt

Zur Visualisierung gibt es drei Funktionen (siehe auch Commandref):

{Buienradar_HTML(<DEVICE>,<Pixel>)} also z.B. {Buienradar_HTML("BR",500)} gibt eine reine HTML Liste zurück, der längste Balken hat dann 500 Pixel (nicht so schön ;-))
{Buienradar_SVG(<DEVICE>)} also z.B. {Buienradar_SVG("BR")} gibt eine mit der google Charts API generierte Grafik zurück (siehe Anhang)
{Buienradar_logProxy(<DEVICE>)} also z.B. {Buienradar_logProxy("BR")} kann in Verbindung mit einem Logproxy Device die typischen FHEM und FTUI Charts erstellen.

Die Daten werden erst nach dem ersten Empfang einer Vorhersage aufbereitet!

Ich versuche Fragen hier im Forum zu beantworten, bin aber kein Perl Profi.

Falls euch das Modul gefällt  ;) https://paypal.me/lubeda

Viel Spaß mit diesen Modulen.

Ludger
31.10   19:50 Version aktualisiert
15.09.  13:15  Version aktualisiert
15.09.  09:45  Version aktualisiert
03.10.  14:15 Version aktualisiert
23.04.  16:25 Version aktualisiert

kalle0103


kumue

wollte es mal ausprobieren....
- Device angelegt
- beim Klick in der GUI auf das Device => Verbindung zu fhem verloren...
- per Telnet kam ich nicht mehr auf die console

Nach FHEM Neustart fand ich im Log
Undefined subroutine &main::BuienradarasHTML called at ./FHEM/59_Buienradar.pm line 59

Bartimaus

Moin,

super, nutzen Buienalarm auf den Smartphones seit ca. 2 Jahren und es gibt nichts zuverlässigeres !!!
Modul werde ich mal testen, Danke !
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Fixel2012

Hört sich super an, so etwas hat in Fhem bisher gefehlt!

Werde es bei Gelegenheit testen!
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Bartimaus

Zitat von: LuBeDa am 14 September 2017, 17:24:47
Das Modul benötigt die Perl Bibliothek "DateTime", die man mit cpan install DateTime installieren kann.

Was ist das ? Die Installation dieser Bibliothek auf meinem nicht untermotorisiertem Banana läuft seit über 20min.... ein Ende ist nicht in Sicht
Ganz wohl ist mir dabei nicht....
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Fixel2012

Zitat von: Bartimaus am 15 September 2017, 09:05:03
Was ist das ? Die Installation dieser Bibliothek auf meinem nicht untermotorisiertem Banana läuft seit über 20min.... ein Ende ist nicht in Sicht
Ganz wohl ist mir dabei nicht....

Per apt-get sollte es auch tun.
apt-get install libdatetime-perl
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Bartimaus

Ah, ok danke. Libdatetime-perl wird ja auch bei der FHEM-Installation auf der Wiki-Seite "empfohlen".

LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

tealc

Zitat von: kumue am 15 September 2017, 08:13:51
wollte es mal ausprobieren....
- Device angelegt
- beim Klick in der GUI auf das Device => Verbindung zu fhem verloren...
- per Telnet kam ich nicht mehr auf die console

Nach FHEM Neustart fand ich im Log
Undefined subroutine &main::BuienradarasHTML called at ./FHEM/59_Buienradar.pm line 59

Gleicher Fehler bei mir. libdatetime-perl ist installiert

sku

2017.09.15 10:21:16 3: first timer
Undefined subroutine &main::BuienradarasHTML called at ./FHEM/59_Buienradar.pm line 59.


Gleicher Fehler bei mir, libdatetime-perl ist installiert, OS Debian 8
Wollte das device per define oben in der Zeile in FHEM anlegen, nach drücken von Enter schmiert FHEM ab.

helmut

#10
Die Meldung "Undefined subroutine &main::BuienradarasHTML called at ./FHEM/59_Buienradar.pm line 59." habe ich auch im Log, allerdings laeuft mein fhem weiter und ich bekomme von meinem
nginx/1.6.2 ein "502 Bad Gateway" zurueck.

Udpate: fhem hat sich doch verabschiedet.

Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

LuBeDa

Hallo,

es reicht beim Entwickeln scheinbar nicht nur "reload 59_Buienradar.pm" zu machen um alte Funktionen aus Perl zu löschen. Nach einen  "shutdown restart" hatte ich ebenfalls das Problem mit:
Undefined subroutine &main::BuienradarasHTML called at ./FHEM/59_Buienradar.pm line 59

Der Fehler von Helmut kommt aber wahrscheinlich vom Buienradar-Server.

Wer sicht traut kann die neue Version von dem Modul im ersten Post nochmal herunterladen.

Sorry, das o.g. Verhalten hab ich nicht erwartet.

Ludger


kumue

so, neue Version eingespielt und es sieht schon besser aus..
Und das Gute: nur Nullen die nächsten Stunden  :D

Im Log steht

2017.09.15 13:33:58 1: PERL WARNING: Use of uninitialized value $args[0] in subtraction (-) at ./FHEM/59_Buienradar.pm line 107.
2017.09.15 13:33:51 3: Parse Data
<BR>Niederschlag (<a href=./fhem?detail=Regenradar_G>Regenradar_G</a>)<BR>13:30<div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div><div style="width: 20px;">0.00</div>15:25
</div>
<div class="BRchart">
</style>

}
  color: white;
  margin: 1px;
  padding: 3px;
  text-align: right;
  background-color: steelblue;
  font: 10px sans-serif;
.BRchart div {

2017.09.15 13:32:44 3: <style>
2017.09.15 13:32:31 3: Parse Data
2017.09.15 13:32:30 3: first timer

LuBeDa

Bei

2017.09.15 13:33:58 1: PERL WARNING: Use of uninitialized value $args[0] in subtraction (-) at ./FHEM/59_Buienradar.pm line 107.

muss ich mal sehen, habe da noch keine Idee.

Die anderen Ausgaben liegen am Loglevel, den passe ich an.

Ich warte aber noch bis Sonntag, falls noch weitere Sachen gefunden werden....

Ludger


LuBeDa

#14
Hallo,
das Problem mit dem Loglevel wurde behoben. Bei der Funktion Buienrar_HTML wurde ein zweiter optionaler Parameter angefügt mit dem man die maximale Länge der Balken festlegen kann.

Für die Darstellung in FTUI nehme ich das Highchart Widget (siehe Bild):

<li data-row="2" data-col="4" data-sizey="1" data-sizex="2">
            <div data-type="highchart"
            data-device="BR"
            data-linenames="Vorhersage"
            data-linetypes="area"
            data-maxvaylue="rainMax"
            data-logdevice="Logproxy"
            data-columnspec='Func:Buienradar_logProxy("BR")'
            data-style="ftui l3fill"
            data-nofulldays='true'                       
            data-title= "Regen"
            class="nobuttons fullsize">
       </div>


Die neue Version steht im ersten Beitrag zum Download.

Vielleicht traut sich jemand die neue Version zu testen ;-)

Ludger