Modul für DWD Open Data

Begonnen von jensb, 21 Januar 2018, 14:38:48

Vorheriges Thema - Nächstes Thema

jensb

Hallo Claus, hallo Andreas,

anbei eine Testversion. Bitte Info, ob sie das Problem bei euch löst.

Grüße,
Jens
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

somansch

#766
Zitat von: jensb am 10 Januar 2021, 15:08:57
Hallo Claus, hallo Andreas,

anbei eine Testversion. Bitte Info, ob sie das Problem bei euch löst.

Grüße,
Jens

Modul wird leider gar nicht mehr geladen  :(

2021.01.10 16:31:27 1: reload: Error:Modul 55_DWD_OpenData deactivated:
Bareword "pi2" not allowed while "strict subs" in use at ./FHEM/55_DWD_OpenData.pm line 201, <$fh> line 887.
BEGIN not safe after errors--compilation aborted at ./FHEM/55_DWD_OpenData.pm line 596, <$fh> line 887.

2021.01.10 16:31:27 0: Bareword "pi2" not allowed while "strict subs" in use at ./FHEM/55_DWD_OpenData.pm line 201, <$fh> line 887.
BEGIN not safe after errors--compilation aborted at ./FHEM/55_DWD_OpenData.pm line 596, <$fh> line 887.

2021.01.10 16:31:27 1: PERL WARNING: Subroutine EpochToJulianDate redefined at ./FHEM/55_DWD_OpenData.pm line 89, <$fh> line 906.
2021.01.10 16:31:27 1: PERL WARNING: Subroutine EpochToGreenwichMeanSideralDate redefined at ./FHEM/55_DWD_OpenData.pm line 115, <$fh> line 906.
2021.01.10 16:31:27 1: PERL WARNING: Subroutine JulianDateToEpoch redefined at ./FHEM/55_DWD_OpenData.pm line 143, <$fh> line 906.
2021.01.10 16:31:27 1: PERL WARNING: Subroutine CelestialPosition redefined at ./FHEM/55_DWD_OpenData.pm line 181, <$fh> line 906.
2021.01.10 16:31:27 1: reload: Error:Modul 55_DWD_OpenData deactivated:
Bareword "pi2" not allowed while "strict subs" in use at ./FHEM/55_DWD_OpenData.pm line 201, <$fh> line 906.
BEGIN not safe after errors--compilation aborted at ./FHEM/55_DWD_OpenData.pm line 596, <$fh> line 906.

2021.01.10 16:31:27 0: Bareword "pi2" not allowed while "strict subs" in use at ./FHEM/55_DWD_OpenData.pm line 201, <$fh> line 906.
BEGIN not safe after errors--compilation aborted at ./FHEM/55_DWD_OpenData.pm line 596, <$fh> line 906.

jensb

Hallo Andreas,

sieht so aus, als ob bei dir die Hälfte der trigonometrischen Funktionen eine Einladung brauchen, während es bei mir einfach funktioniert. Anbei die nächste Testversion. Vielleicht habe ich nun alle Funktionen gefunden, die erwähnt werden wollen.

Grüße,
Jens
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

ClausL

Hallo, Jens

das 2. Modul läuft. Zumindes bei mir.

Vielen Dank, für die schnelle Lösung, Claus

somansch

Zitat von: jensb am 10 Januar 2021, 17:59:19
Hallo Andreas,

sieht so aus, als ob bei dir die Hälfte der trigonometrischen Funktionen eine Einladung brauchen, während es bei mir einfach funktioniert. Anbei die nächste Testversion. Vielleicht habe ich nun alle Funktionen gefunden, die erwähnt werden wollen.

Grüße,
Jens

Diese Version läuft auch bei mir  :D

Vielen Dank für deine schnelle Unterstützung,
Andreas

jensb

Hallo Claus, hallo Andreas,

danke für eure schnellen Rückmeldungen.

Die erfolgreich getestete Version von 17:59 habe ich gerade eingecheckt. Es wird sie ab dem 11.01.2021 per FHEM Update geben.

Grüße,
Jens
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

LotharRappsilber

FB 7590, FHEM, 1xCCU2, 6xDECT200, 1xDECT201, 1xHMIP-SWO-PL, 1xHMIP-PS, 1xDECT301,  2xHM-LC-Sw1-PL

yersinia

viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

jensb

Seit dem 22.02.2021 ist für das Modul DWD Open Data ein Update auf Version 1.016003 verfügbar, mit dem das Modul wieder mit älteren Perl-Versionen genutzt werden kann.

Grüße,
Jens
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

juba3006

#774
Moin moin alle mit einander!

ich konnte meine Probleme selbst beheben. Trotzdem vielen Dank!


Mfg
Julian


PS: Weblink funktioniert nun. Da habe ich einen Fehler bei der ID der Station gehabt.

curt

Zitat von: jensb am 04 August 2020, 21:00:53
@Joesky

Die Möglichkeiten des TelegramBots kenne ich selbst nicht, aber in der FHEM Wiki finden sich viele Hinweise. Je nach Wunsch könntest du z.B. mit notify oder at arbeiten. Ein Problem wird aber sein, dass das Modul DWD_OpenData_Weblink keine Readings hat, die man auslesen und dann versenden könnte. Die Daten selbst aus dem DWD_OpenData Modul zu gewinnen ist aber vergleichsweise aufwendig.

Falls es auch bunt sein darf, besteht noch die Möglichkeit, den Weblink von einem Browser rendern zu lassen, davon einen Screenshot zu ziehen und den dann zu versenden. Das geht wahrscheinlich auch ohne Display am Raspi, indem man ein Framebuffer-Device verwendet. Mal eben ist das aber sicher auch nicht gemacht.

Falls doch die Werte allein genügen würden, bleibt das Problem mit den fehlenden Readings beim DWD_OpenData_Weblink. Der Wunsch kam schon einmal vor einiger Zeit. Ich könnte mir das noch mal ansehen, um herausfinden, wie viel Aufwand es wäre, die Readings zu generieren.

Grüße,
Jens

Hallo @jensb
ich zitiere das mal komplett, da es schon älter ist: Ich stehe gerade vor dem gleichen Problem.

Eine jepg-Datei on the fly erzeugen - das kann ich nicht. Ich persönlich würde es schon finden, wenn es die Readings gäbe; das würde mir reichen.
RPI 4 - Jeelink HomeMatic Z-Wave

jensb

Eine JPEG-Datei zu erstellen wäre wohl die "schöne" Lösung, aber das ist nicht mal eben und auch nicht mein Lieblingsthema.

Bleiben also die Readings. Das, was im Weblink pro Icon an Daten dargestellt wird, entspricht ja einer Tabellenspalte. Die Namen der neuen Readings könnte man also aus dem Attributnamen vom DWD und dem Spaltenindex aufbauen.

Um das "vernünftig" zu machen, sollte auch doppelter Code vermieden werden. Das bedeutet, dass das Modul DWD_OpenData_Weblink komplett überarbeitet werden muss im Sinne von: Trennung der Daten (aktuell RAM, zukünftig Readings) von der Darstellung (HTML). Die Darstellung wird dadurch zur Option und schon passt der Modulname nicht mehr so richtig.

Da auch das nicht mal eben gemacht ist, würde ich mir das vornehmen, wenn sich noch ein paar mehr User melden, gern auch über die Buttons unten rechts.

Grüße,
Jens
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

curt

Zitat von: jensb am 13 April 2021, 18:05:43
Eine JPEG-Datei zu erstellen wäre wohl die "schöne" Lösung

Ähmmm - nein.

Du hast das telegram-Gedöhns ja nicht, erlaube mir bitte eine kurze Schilderung.
Ich habe da einen Chatpartner, der ist (m)ein Bot. Einerseits schreibt der mir täglich, ob irgendwo Batterien den Geist aufgaben. Andererseits kann ich dem Bot schreiben und der antwortet mir. Ich schreibe aus Timbuktu also "Fenster" und er antwortet "close" - alle Fenster des Hauses geschlossen.

Ab und an kommt mir im Urlaub (hach, das gab es ja auch mal) die Idee, die Wetterstation auf meinem Grundstück abzufragen: Der Bot sagt mir dann die Temperatur, Luftfeuchte, ob die Sonne scheint, ob es regnet - alles in Textform.

Der angedachte use case
ist also: Der Bot sagt mir die Wettervorhersage für - also haargenau wie DWD_Weblink_Generator mit forecastDays=1 - bezogen auf den Abfragezeitpunkt.

Zitat von: jensb am 13 April 2021, 18:05:43
Bleiben also die Readings.

Deine Begeisterung hält sich ja leider in Grenzen: Im Grunde würde es schon reichen, wenn Du sagst, welche konkreten DWD-Parameter/Readings Du Dir dafür greifst, so viele sind das für forecastDays=1ja nicht. Ich kann das aus Deinem Sript nicht lesen, ich bin ja schon zu doof dafür, Dein Script auf meinem System zu finden.

Wenn wir das so machen (und ich das hinkriege) veröffentliche ich den Code, den telegram braucht - und Du hast Ruhe, auch vor allen anderen...  ;)
RPI 4 - Jeelink HomeMatic Z-Wave

jensb

Mit "schön" habe ich er den visuellen Anteil gemeint. Funktionell bin ich beim ChatBot nicht im Thema, deshalb danke für die Erklärung.

Zitat... würde es schon reichen, wenn Du sagst, welche konkreten DWD-Parameter/Readings Du Dir dafür greifst ...
Genau darin steckt die Hauptfunktion des Weblink-Moduls. Für die beiden Angaben des 1. Tags erfolgt die Auswahl der Readings vom DWD-Modul uhrzeitabhängig. Einige Readings werden auch gesucht (z.B. nächstes gültiges vor/nach ...), da ja vom DWD nicht für jede Stunde und jedes Reading ein Wert geliefert wird.

Es gibt also keinen statischen Zusammenhang und diese Logic steckt im Weblink-Code. Da es Perl ist, könnte man den Code natürlich auch in leicht modifizierter Form z.B. in einem Notify verwenden. Das ist aber nicht jedermanns Ding, das ist mir klar. Aber auch ich brauche dafür mehrere handvoll Stunden um die Änderungen zu machen, zu testen und so zu dokumentieren, dass auch jemand anderes damit etwas anfangen kann. Deshalb habe ich den Wunsch, dass sich das möglichst mehr als 2 User wünschen.

Grüße,
Jens
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

enno

Zitat von: jensb am 14 April 2021, 19:47:33dass auch jemand anderes damit etwas anfangen kann. Deshalb habe ich den Wunsch, dass sich das möglichst mehr als 2 User wünschen.

Moin Jens,

ich würde mir den Wetterbericht gerne mit Signalbot schicken. Ich hebe also mal meine Hand. 8) Dann sind es schon zwei.... Wie können wir helfen?

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC