59_Buienradar

Begonnen von Christoph Morrison, 23 Juli 2019, 21:37:15

Vorheriges Thema - Nächstes Thema

Jamo

#90
Hallo Christoph,
anbei ein Patch, wo ich folgendes mal geändert habe. Spart Dir evtl. Arbeit.
- rainNow ist auf das erste Intervall gesetzt
- rainAmount ist die Regen Menge in der erste Stunde, also l/qm
- rainEnd ist korrigiert, falls es mehrer RegenIntervalle gibt (also zwischendurch mal kein Regen). Für den Fall das es am Ende auch noch regnet, ist rainEnd auf das letzte Interval gesetzt
- Rainduration wird berechnet, einmal als HH:MM und auch in Minuten
- Ich hatte gesehen das die Intervalle manchmal vor der jetzigen Zeit anfangen, updates also nur für Zeiträume > TimeNow()
- Formatierung auf %.1f geändert (alle Webseiten geben auch nur Regen in mm auf 1 Stelle genau aus)
- Versionsnummer nur zur Unterscheidung auf 2.2.4 geändert

Hab versucht das als private e-mail zu schicken, aber da kann ich keinen Anhang machen. Viell kanbst Du es gebrauchen.

Danke für das Modul, das ist echt klasse!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

mahowi

Ich habe für inomas Version mal einen Pull Request auf Github gemacht.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

eurofinder

Gibt es eine Möglichkeit sich die Werte chartData in einer Grafik so anzeigen zu lassen, dass die X-Achse die Zeitachse und die Y-Achse die Regenmenge als Säulen darstellt, die dann nach der Intervall-Zeit aktualisiert wird?

Bin da leider noch nicht so bewandert, was SVG-Plots angeht.

Gruß und danke für das Modul
eurofinder
RPI3+; Raspbian Buster Lite; RPI-RF-MOD; piVCCU3, HMIP-eTRV-2, HmIP-SWDO, HmIP-SRH, HmIP-STHO, HmIP-SLO

Jamo

#93
Hallo Christoph,
ich habe nochmal ein bischen gebastelt:
Anbei ein weiterer Patch, wo ich folgendes mal geändert habe.
- Doku angepasst sowohl in Deutsch als auch Englisch
- Support für HTML "BAR" Chart, wie auch bei RainTMC, aufruf mit { FHEM::Buienradar::BAR("Name des Buienradar device")}
- Readings 'Start' und 'Ende' -> 'Begin' und 'End'
- zusätzliches Interval 600
- disable 0/1 wählbar
- Einige kleine Änderungen/Anpassungen
- Versionsnummer nur zur Unterscheidung auf 2.2.5 geändert

Bitte nicht falsch verstehen, ich möchte einfach nur beitragen, anstatt einfach immer nur nach Änderungen zu fragen.

Für das "BAR" Chart, verwendet das RainTMC modul $a->{ColorAsRGB}, ich habe damit aber immer eine Fehlermeldung bekommen. Wel das nicht funktioniert hat, habe ich jetzt stattdessen eine Sub raus gemacht, also in Zeile 752 und 757 eine Sub myPrecip2RGB($a) eingebaut. Die Sub ist im modul. Wenn Du Dir das mal angucken magst?

Danke und Beste Grüsse
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

mahowi

Hallo inoma,

ich hab mit Deiner Version noch einen Fehler:
2019.08.09 10:05:08.248 1: PERL WARNING: Argument "unknown" isn't numeric in localtime at ./FHEM/59_Buienradar.pm line 811.
2019.08.09 10:05:08.248 1: stacktrace:
2019.08.09 10:05:08.249 1:     main::__ANON__                      called by ./FHEM/59_Buienradar.pm (811)
2019.08.09 10:05:08.249 1:     FHEM::Buienradar::ParseHttpResponse called by FHEM/HttpUtils.pm (609)
2019.08.09 10:05:08.249 1:     main::__ANON__                      called by fhem.pl (745)

Dadurch wurden mir Räume mit Buienradar-Device nicht mehr angezeigt.  ???
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Jamo

#95
Bitte diese hier angehängte Version nehmen, oben in der Version im Post #93 war doch noch ein Fehler drin. Sag kurz Bescheid ob es geht.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

mahowi

#96
Danke. Jetzt funktioniert wieder alles ohne Fehlermeldungen.

[Edit]In der letzten Version ist noch eine Klammer zuviel in Zeile 811:
syntax error at ./FHEM/59_Buienradar.pm line 811, near "))"

Nachdem ich das korrigiert habe, funktioniert es wieder.

Pull request: https://github.com/fhem/mod-Buienradar/pull/6
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Jamo

#97
In der tat, sorry, habs korrigiert, neue Version anbei.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Christoph Morrison

Vielen Dank für den PR. Ich schau ihn mir an sobald ich Zeit habe und merge ihn sobald ich alle Änderungen nachvollzogen habe.

Jamo

#99
Meinen Dank an Dich und User mahowi!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

somansch

Ich habe heute auf die letzte Version (2.2.5) aktualisiert. Dabei ist mir aufgefallen, dass das Reading "chartData" nicht mehr aktualisiert wird.

Dies hat mich auf meine ursprüngliche Anforderung bezüglich Darstellung der Daten in einem SVG bzw. FTUI Chart gebracht. Der LogProxy bringt im Moment leider nichts, da dort ja nur ein Wert zurückgegeben wird. Ich habe das mal mit der LogProxy-Lösung für ProPlanta verglichen. Dort ist es auch so, jedoch werden über eine Funktion in der "myUtils" aus den Vorhersage-Readings des ProPlanta die Daten für ein Chart übersetzt. Im Buienradar gibt es jedoch keine einzelnen Vorhersage-Readings.

Gibt es eine Möglichkiet, die aktuellen Daten in ein logFile zu schreiben und die dortigen Daten jedesmal zu überschreiben? Sinnvoll wäre die Bereitstellung pro Zeile im Format (laut Wiki: https://wiki.fhem.de/wiki/Plots_erzeugen:

JJJJ-MM-TT_SS:mm:ss Regenmenge

Somit könnten dann Plots und Charts je nach Geschmack und Bedarf erzeugt werden  ;).

Ich bin kein Entwickler, aber vielleicht könnten ihr ja so eine Logfunktion einbauen?

Viele Grüße
Andreas

Christoph Morrison

Zitat von: somansch am 10 August 2019, 14:41:38
Ich habe heute auf die letzte Version (2.2.5) aktualisiert. Dabei ist mir aufgefallen, dass das Reading "chartData" nicht mehr aktualisiert wird.

Richtig, denn die Daten stehen nun - so wie es sein sollte - in einem Internal, gespeichert als Storable. Das chartData-Reading kannst du löschen.

Zitat von: somansch am 10 August 2019, 14:41:38
Dies hat mich auf meine ursprüngliche Anforderung bezüglich Darstellung der Daten in einem SVG bzw. FTUI Chart gebracht. Der LogProxy bringt im Moment leider nichts, da dort ja nur ein Wert zurückgegeben wird. Ich habe das mal mit der LogProxy-Lösung für ProPlanta verglichen. Dort ist es auch so, jedoch werden über eine Funktion in der "myUtils" aus den Vorhersage-Readings des ProPlanta die Daten für ein Chart übersetzt. Im Buienradar gibt es jedoch keine einzelnen Vorhersage-Readings.

Das hab ich auch gedacht, aber ich hatte mich geirrt: LogProxy liefert, wenn man die Funktion einfach nur in der Kommandozeile aufruft, nur einen Wert zurück, richtig. Aber wenn es als Logproxy-Device benutzt wird, liefert es deutlich mehr. Ruf FHEM::Buienradar::Logproxy mal mit Data::Dumper auf, dann siehst du den Unterschied:

{ use Data::Dumper;; Dumper(FHEM::Buienradar::LogProxy("name deines Buienradar-Devices"));; }

Zitat von: somansch am 10 August 2019, 14:41:38
JJJJ-MM-TT_SS:mm:ss Regenmenge

Genau das liefert FHEM::Buienradar::LogProxy im Listenkontext auch zurück.

Jamo

Hallo Christoph,
ich habe noch eine kleine Verbesserung, um den rainAmount 'richtiger' zu berechnen, also für den jetzt aktuellen Zeitraum von einer Stunde (weil Buienradar ja manchmal den Zeitraum von 10 oder 15 Minuten vor der aktuellen Zeit anzeigt). Dann folgende Zeile
my $rainAmount      = List::Util::sum @precip[0..11]; durch my $rainAmount      = 0; ersetzen, und dann über der Zeile 1181, also bevor count erhöht wird (über $count++;) folgendes einfügen if ($count < 12) { $rainAmount = $rainAmount + $precip;}
Damit wird dann der rainAmount aus den aktuellen 12 Intervallen ab 'TimeNow()' berechnet.

Grüsse!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

somansch

Zitat von: Christoph Morrison am 10 August 2019, 15:22:55
...Aber wenn es als Logproxy-Device benutzt wird, liefert es deutlich mehr. Ruf FHEM::Buienradar::Logproxy mal mit Data::Dumper auf, dann siehst du den Unterschied:

{ use Data::Dumper;; Dumper(FHEM::Buienradar::LogProxy("name deines Buienradar-Devices"));; }

Genau das liefert FHEM::Buienradar::LogProxy im Listenkontext auch zurück.

Ich habe heute mal versucht per LogProxy die Daten in einen SVG Plot in FHEM zu bekommen, jedoch erschliesst sich mir nicht, an welcher Stelle "FHEM::Buienradar::LogProxy" einzutragen ist. Hat jemand eine funktionierende gplot-Datei?

Jamo

Hallo Christoph,
kurze Rückmeldung:
1) Das Buienradar funktioniert südlich in Deutschland bis kurz vor Garmisch Partenkirchen, weiter südlich kommen keine Daten mehr.

2) Wenn man ein "deleteattr Buienradar disabled" eingibt (oder im Webinterface das attribut disabled löscht), kommt folgende Fehlermeldung:
is no valid value for disabled. Only 'on', '1', '0' or 'off' are allowed!

Ich weiss allerdings nicht, wie man das beheben kann....

Beste Grüsse
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack