Plugin: Weather4Lox (ehemals Wunderground4Loxone)
Einklappen
X
-
Prof.Mobilux
nochmal kurz ich, das Plugin sagt, es sei UpToDate, wo stelle ich das dann ein, damit die Daten an den Broker gehen? Ich habe mal im MGTT Finder geschaut, aber da sehe ich nichts von Wetterdaten.oder Weather4Loxone.
-
Meinst du ein spezielles LOG File?
Jene des WU Grabber hab ich ja oben bereits angehängt. Einmal eines einer funktionierenden Abfrage (OK) und einmal wo es scheinbar mit den Umlauten Probleme gibt (NOTOK). -
Mit der neuesten Version gehen die Daten auch an den MQTT Broker. Von dort kannst du per Telegraf die Dateien nach Influx schreiben. Oder halt per Stats4Lox. -
Das Problem kommt schon aus dem Grabber des Wetterdienstes. Kannst du mir bitte das Logfile auch noch einmal zusenden? -
Hi, wie könnte man denn die Daten des Plugins direkt in eine influxdb schreiben? Oder geht das irgendwie jetzt schon z.B. über oder mit Lox4Stats?
Ich kann mir gut vorstellen, dass man die Daten auch für die PV nutzen könnte, also zum darstellen und zur Berechnung, es gibt ja z.B. in Grafana das sunandmoon Datasource, das zeigt so einige Daten auf einen Standort bezogen, damit könnte man bestimmt dann auch gut was machen.
Grüße Markus
Einen Kommentar schreiben:
-
Dürfte mit Umlauten wie "Österreich" oder "Süd-Westen" zusammen hängen.
Warum die mal richtig "erkannt" und verarbeitet werden können und mal nicht, ist mir aber ein Rätsel.
Einen Kommentar schreiben:
-
Irgendein UTF8 Problem. Logging auf Debug stellen und dann das gesamte Logfile hier anhängen.Einen Kommentar schreiben:
-
Ich habe vor kurzem meinen Loxberry auf neue Hardware migriert (mittels neuem DietPi Image von Grund auf neu installiert). Nun habe ich ebenfalls das Plugin Weather4Loxone in Betrieb genommen. Dieses funktioniert soweit auch sehr gut. Allerdings dürfte der Wunderground Grabber manchmal in Probleme laufen, die ich anhand der LOG-Einträge so nicht ganz deuten kann.
Hier ist zu sehen, dass der Fehler nicht immer aber sehr häufig auftritt:
Und hier der Inhalt eines "CRITICAL"-LOG-Eintrags:
Hat hier jemand eine Idee woran das liegen könnte?Einen Kommentar schreiben:
-
Eben geprüft: die Sprachdatei ist UTF-8 codiert, wie auch die current.dat.
Mit Encode::decode("UTF-8", xxx) statt Encode::decode("latin1", xxx) läuft er auch durch, wenn das zusätzlichen decode nach dem if-Block auskommentiert bleibt, stellt aber die Zeichen in der Logdatei und auf der Kommandozeile nicht korrekt dar.
In der Shell steht bei mir $LANG auf en_GB.UTF-8. Ob im Perl-Interpreter andere Einstellungen gemacht sind, kann ich nicht sagen.
Vielleicht hilft dir die Info zur Erkenntnis irgendwie weiter. -
Schaue ich mir an - hatte ich so bei mir nicht. Komisch. Hattest Du probiert die Sprachdatei in UTF8 zu wandeln? -
Hallo Prof.Mobilux.
Ich habe das aktuelle PRE.Release 4.12.0.1 installiert, die Grabber für WU und FOSHK sind aber beim Schreiben in die Datei current.dat.tmp mit einem wide character-Fehler gescheitert.
20240313_213052_625_grabber_wu.log:<CRITICAL> Could not write /opt/loxberry/log/plugins/weather4lox/current.dat.tmp: Wide character at ./grabber_wu.pl line 225.
Das ursprüngliche Problem scheint zu sein, dass die Sprachdatei (für DE) nicht in UTF-8 sondern latin1 codiert ist, und das Encode::decode mit UTF-8 die Umlaute in den Windrichtungen nicht korrekt auflösen kann.
Daher habe ich den decode auf latin1 umgestellt, und das doppelte Dekodieren nach den if() ausgeblendet.
Damit laufen die beiden Grabber bei mir wieder durch, und ich bekomme die aktualisierten Werte meiner lokalen Wetterstation in der Webseite korrekt angezeigt. Evtl. kannst du diesen Quick-Hack im nächsten (Pre-) Release sauberer lösen.Code:if ($wu_response{cur_w_dir} ne "null") { if ( $wdir >= 0 && $wdir <= 22 ) { $wdirdes = Encode::decode("latin1", $L{'GRABBER.LABEL_N'}) }; # North if ( $wdir > 22 && $wdir <= 68 ) { $wdirdes = Encode::decode("latin1", $L{'GRABBER.LABEL_NE'}) }; # NorthEast if ( $wdir > 68 && $wdir <= 112 ) { $wdirdes = Encode::decode("latin1", $L{'GRABBER.LABEL_E'}) }; # East if ( $wdir > 112 && $wdir <= 158 ) { $wdirdes = Encode::decode("latin1", $L{'GRABBER.LABEL_SE'}) }; # SouthEast if ( $wdir > 158 && $wdir <= 202 ) { $wdirdes = Encode::decode("latin1", $L{'GRABBER.LABEL_S'}) }; # South if ( $wdir > 202 && $wdir <= 248 ) { $wdirdes = Encode::decode("latin1", $L{'GRABBER.LABEL_SW'}) }; # SouthWest if ( $wdir > 248 && $wdir <= 292 ) { $wdirdes = Encode::decode("latin1", $L{'GRABBER.LABEL_W'}) }; # West if ( $wdir > 292 && $wdir <= 338 ) { $wdirdes = Encode::decode("latin1", $L{'GRABBER.LABEL_NW'}) }; # NorthWest if ( $wdir > 338 && $wdir <= 360 ) { $wdirdes = Encode::decode("latin1", $L{'GRABBER.LABEL_N'}) }; # North #$wdirdes = Encode::decode("UTF-8", $wdirdes); $wu_response{cur_w_dirdes} = $wdirdes; }
Gruss
EotBaseEinen Kommentar schreiben:
-
Mercy, Ich hab die Variante 2 gewählt und das Theme neu gespeichert im PlugIn, das funktioniert so tadellos. Danke!Einen Kommentar schreiben:
-
Die App ruft nur den Browser auf - Du musst das Caching hier deaktivieren. Dazu hast Du zwei Möglichkeiten - musst mal schauen, was funktioniert.
1. Möglichkeit (einfach):
Im HTML Quellcode im Header folgendes hinzufügen:
Hab's nicht probiert, nur schnell mal gegoogelt.Code:<meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0">
2. Möglichkeit (funktioniert sicher):
Dem Bildaufruf einen Parameter mitgeben, der sich immer ändert. Dann hält der Browser es für ein neues Bild und holt es nicht aus dem Cache. Der Server, der das Bild ausliefert, ignoriert diesen Parameter aber. Du kannst dazu vorhandene Werte aus dem Template "missbrauchen".
Beispiel: Der Aufruf des Bildes ist aktuell:
Abändern in:Code:<img src="https://www.austrocontrol.at/jart/met/radar/satloop.gif" width="500">
Code:<img src="https://www.austrocontrol.at/jart/met/radar/satloop.gif?v=<!--$cur_day--><!--$cur_month--><!--$cur_year--><!--$cur_hour--><!--$cur_min-->" width="500">
Zu Deinen Änderungen: Was hast Du denn geändert? Magst Du die Änderungen teilen? Wenn es für alle interessant ist, könnte ich das in die Standardtemplates einbauen...Zuletzt geändert von Prof.Mobilux; 02.03.2024, 08:44.Einen Kommentar schreiben:
Einen Kommentar schreiben: