Modul für DWD Open Data

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

Vorheriges Thema - Nächstes Thema

Intruder1956

Zitat von: jensb am 17 Dezember 2018, 19:43:36
Hallo Werner,

das mit den Warnings ist nicht schön.

Die Frage ist aber:
a) Tritt es nur beim Neustart auf oder bei jeder Aktualisierung des Weblinks und
b) hat es überhaupt einen Einfluss auf die Darstellung im Weblink (betroffen wären die Wetterwarnungen)

Habe das bei mir auch schon sporadisch beobachtet, habe aber noch keine wasserdichte Lösung.

Grüße,
Jens

Hallo Jens,
sorry das ich mich erst jetzt melde  :) (Arbeit,Weihnachtsstress)

folgendes habe ich immer nur bei einem Fhem "shutdown restart" und anschl. öffnen der Weboberfläche
2018.12.29 11:44:49 1: PERL WARNING: Use of uninitialized value in subroutine entry at ./FHEM/99_Utils.pm line 21.
2018.12.29 11:44:49 1: PERL WARNING: Use of uninitialized value $fcStart in addition (+) at ./FHEM/99_DWD_OpenData_Weblink.pm line 1070


Bitte ./FHEM/99_Utils.pm line 21. nicht mit 99_myutils verwechseln.

Wenn ich die Weboberfläche von Fhem erneut aktualisiere kommt keine Meldung, also nur bei Neustart.

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

holle75

#451
Hallo Werner, bei mir kommen Fehlermeldungen beim Start (denn da werden die Daten wahrscheinlich geholt) und beim Aufruf des Logproxy immer dann, wenn der korrespondierende Plot aufgerufen wird und da etwas nicht stimmt. Such mal in deiner SVG-Datei nach einem Fehler. Das kann ein nicht vorhandener Wert sein oder ein vergessener Unterstrich, Groß-Kleinschreibung,Komma, Klammer, oder, oder.
... oder fang nochmal temporär mit einem fast leeren Plot an und schau was passiert.


jensb

Hallo Werner,

bitte probier die aktuelle Version des Weblinks 2.014.005 vom 17.12.2018 auf GitHub. Ich hatte einen Bug im Zusammenhang mit $fcStart (Startzeit einer Wetterwarnung) gefunden und eine Anpassung gemacht. Vielleicht ist das auch bei dir die Lösung.

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

jensb

@mumpitzstuff
Werde mich um die Vorabversion in der Wiki kümmern. Bitte nochmal Klarstellung, wofür das FileLog benötigt wird. Ich habe deinen Vorschlag für forecastResolution=3 übernommen, aber das FileLog weggelassen. Das funktioniert bei mir prima.

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

mumpitzstuff

Wie du selbst festgestellt hast, braucht man irgendeins, damit es stabil läuft. Man könnte hier, laut deiner Aussage, ein bereits bestehendes Device verwenden, ich denke aber, das ein separates Device am saubersten ist. Um die Systemlast zu senken,  kann man vielleicht auch das Device auf disable setzen?

yersinia

Hallo,

ich hab das Modul installiert und mir ist dabei ein kleiner Fehler im Wikie aufgefallen. Bei der Weblink Einrichtung verweist der Hyperlink auf eine falsche Datei:
ZitatZur graphischen Darstellung der Vorhersage und der Wetterwarnungen steht das Modul 99_DWD_OpenData_Weblink.pm zur Verfügung.
Der Link verweist hier auf 55_DWD_OpenData.pm.
Müsste der Link nicht auf 99_DWD_OpenData_Weblink.pm verweisen?

Wer kann das anpassen?

Im Übrigen funktioniert das Modul gut. Danke dafür.
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

@yersinia
Danke für die Rückmeldung und den Hinweis auf den Fehler in der Wiki - er ist nun korrigiert.

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

Zwei Fragen zum Weblink-Generator.

1) Kann ich mehrere Weblink-Generatoren für einen Standort definieren? Oder geht nur einer? - Ich versuchte 1 sowie 4 Tage zu machen. Es wird mir aber im Room nur der zweite angezeigt.

2) Kann man das Ergebnis in FTUI darstellen? Wie macht man das?
RPI 4 - Jeelink HomeMatic Z-Wave

Thorsten Pferdekaemper

Zitat von: curt am 09 Januar 2019, 02:56:48
2) Kann man das Ergebnis in FTUI darstellen? Wie macht man das?
Reines FTUI weiß ich nicht, aber für FUIP habe ich gestern mal was gebastelt:
https://forum.fhem.de/index.php/topic,95562.msg884154.html#msg884154
(Ich hatte in Erinnerung, dass Du zumindest mal mit FUIP experimentiert hast.)
Gruß,
   Thorsten
FUIP

jensb

Zitat von: curt am 09 Januar 2019, 02:56:48
1) Kann ich mehrere Weblink-Generatoren für einen Standort definieren? Oder geht nur einer? - Ich versuchte 1 sowie 4 Tage zu machen.
Man kann zumindest theoretisch so viele OpenData-Devices anlegen wie man möchte und für jedes OpenData-Devices noch eine Rudel Weblink-Generatoren. Ausprobiert habe ich das allerdings nicht.
Zitat von: curt am 09 Januar 2019, 02:56:48
Es wird mir aber im Room nur der zweite angezeigt.
Du meinst wahrscheinlich, dass nur ein Weblink pro Webseite sichtbar gerendert wird. Es ist nicht auszuschließen, dass das mein JavaScript-Experiment für die automatische Aktualisierung verhindert. Setze versuchsweise im Weblink-Generator die refreshRate auf 0, dann wird "nur" HTML verwendet.

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: Thorsten Pferdekaemper am 09 Januar 2019, 09:02:36
Zitat2) Kann man das Ergebnis in FTUI darstellen? Wie macht man das?
Reines FTUI weiß ich nicht, aber für FUIP habe ich gestern mal was gebastelt:
https://forum.fhem.de/index.php/topic,95562.msg884154.html#msg884154
(Ich hatte in Erinnerung, dass Du zumindest mal mit FUIP experimentiert hast.)

Nein, nicht wirklich. Nur mal angeklickt. - Ich weiß nicht - ist es sinnvoll, dass Du erzählst, wie Du das gemacht hast? Keine Ahnung.

Das Problem scheint ungelöst, es ist unklar ob das überhaupt geht - also einen FHEM-Weblink durch ein FTUI-Widget darstellen zu lassen. Im Forum wird immer mal wieder gefragt - ohne erschöpfende Antwort.

In https://forum.fhem.de/index.php?topic=80056.0 hat jemand ungetestet folgenden Ansatz:


<div data-type="switch" data-device="rc_samsung" data-fhem-cmd="{fhem("get rc_samsung htmlcode", 1)}" data-icon="fa-power-off" class="cell " ></div>


Wir brauchen also zwei Dinge:
1) Ein Widget mit implementiertem data-fhem-cmd.
2) Eine Idee, wie das durchzuleitende fhem-Kommando auszusehen hat.

Bei Punkt 2) kann vielleicht @jensb am ehesten helfen.

Ich komme nur bis zu dem Punkt, dass er mir den STATE von DWD_Weblink_1 ausgibt. Und der ist halt "initialized".

Ich dachte an Konstruktionen wie


data-fhem-cmd="{fhem("get DWD_OpenData_Weblink::AsHtmlH(\"DWD_Weblink_Generator_1\") htmlcode", 1)}"


innerhalb eines Widgets - aber die Konstruktion ist geraten, ich weiß dafür zu wenig. Sie tut nicht.
RPI 4 - Jeelink HomeMatic Z-Wave

Thorsten Pferdekaemper

Zitat von: curt am 10 Januar 2019, 00:50:09Nein, nicht wirklich. Nur mal angeklickt. - Ich weiß nicht - ist es sinnvoll, dass Du erzählst, wie Du das gemacht hast?
Als FUIP-View ist das erstmal relativ einfach, da die Views sowieso das HTML liefern. Das sieht dann einfach so aus:

sub getHTML($){
my ($self) = @_;
return main::weblink_FwFn(undef,$self->{device},undef,undef);
};

Ob Dir das jetzt was nützt weiß ich nicht.

Zitat

<div data-type="switch" data-device="rc_samsung" data-fhem-cmd="{fhem("get rc_samsung htmlcode", 1)}" data-icon="fa-power-off" class="cell " ></div>

Das holt dann, wenn man den switch betätigt, den HTML-Code und macht dann damit genau nichts, würde ich mal sagen.

Zitat
Wir brauchen also zwei Dinge:
1) Ein Widget mit implementiertem data-fhem-cmd.
2) Eine Idee, wie das durchzuleitende fhem-Kommando auszusehen hat.
Nein, das nützt nichts. Das Widget muss dann auch noch den HTML-Code auf die Seite schreiben oder so.

Man kann das ganze wahrscheinlich komplett in JavaScript umsetzen, indem man per Ajax (oder so) das Kommando aufruft, welches das HTML liefert. Dann muss man das Ergebnis auf die Seite schreiben bzw. an das Widget selbst hängen.
Soooo schwierig dürfte das gar nicht sein.

Gruß,
   Thorsten

FUIP

jensb

Zitat von: curt am 10 Januar 2019, 00:50:09
Das Problem scheint ungelöst, es ist unklar ob das überhaupt geht - also einen FHEM-Weblink durch ein FTUI-Widget darstellen zu lassen.
Vielleicht geht es mit einem iFrame, siehe https://forum.fhem.de/index.php?topic=49032.0. Vermutlich scheitert es aber daran, dass ein iFrame kein FHEM Get Kommando aufrufen kann.

Zitat von: curt am 10 Januar 2019, 00:50:09
2) Eine Idee, wie das durchzuleitende fhem-Kommando auszusehen hat.
Das FHEM-Kommando ist get myWeblink-Generator horizontalForecast und als Perl-Aufruf wäre es DWD_OpenData_Weblink::GetForecastHtmlH($opendataDevName, $days, $useGroundTemperature, $theme) mit $theme 0 oder 1 für hell oder dunkel oder DWD_OpenData_Weblink::AsHtmlH($opendataDevName) mit den Attributen aus dem Weblink-Generator. Den Perl-Aufruf könnte man versuchsweise in das Beispiel von @Thorsten Pferdekaemper einsetzten.

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

Ich habe die Daten bereits nativ in FTUI umgesetzt. Lediglich die Darstellung des Wetter-Icons für die Nacht funktioniert nicht. Dies müsste im "weather_widget" realisiert werden. Leider gibt es hierfür keinen Developer mehr. Ich selbst bin leider auch nicht mächtig  ;)

curt

Hmmm. Das ist aber mal blöd. Die Geschichte geht so:

Ich bekomme einige Parameter nicht korrekt dargestellt, da reden wir noch gar nicht über Optik. Also erinnerte ich mich an @jensb s warnende Sätze "nimm doch meinen Weblink". Ich schaute mit das optisch dreimal an und dachte: Recht hat er. Und ich dachte weiter: Ich werde ihn dann schon noch überzeugen, dass man an die einzelnen Vormittag/Nachmittag-Felder auch einzeln kommt.

Tja, geht nicht.
Schon in FHEM selbst gehen keine zwei Weblinks von Jens (Aber auch in getrennten FHEM-Räumen geht nicht. Nein, habe Deine Tipps noch nicht probiert.)

Ich habe dann folgende Konstruktionen in FTUI unwissend und blind probiert:


<div data-type="switch" data-device="DWD_Weblink_1" data-fhem-cmd="{fhem("get DWD_Weblink_Generator_1 horizontalForecast htmlcode", 1)}" class="cell" ></div>

<div data-type="switch" data-device="DWD_Weblink_1" data-fhem-cmd="{fhem("get DWD_Weblink_Generator_1 horizontalForecast, 1)}" class="cell" ></div>


Ok, ich suchte überall, wo data-fhem-cmd eigentlich gehen könnte. @Thorsten Pferdekaemper hat recht: Diese Option ist zum schalten gemacht, die gibt es nur bei Widgets, die was schalten. Ausgegeben wird da höchstens "initializied".

Die anderen Hinweise kann ich allein leider nicht umsetzen, dafür bin ich zu doof.

Nur mal so ein Gedanke:
Der Weblink wird ja erzeugt. Was wäre denn, wenn das Erzeuge-Script gleich noch einen Screenshot des Ganzen macht? Also noch ein statisches JPG oder PNG erzeugt?
RPI 4 - Jeelink HomeMatic Z-Wave