Plugin: Weather4Lox (ehemals Wunderground4Loxone)

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • verdammt
    antwortet
    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.

    Einen Kommentar schreiben:


  • elextricmax
    kommentierte 's Antwort
    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).

  • verdammt
    kommentierte 's Antwort
    Vielen Dank, das ist die Lösung dafür.

  • Prof.Mobilux
    kommentierte 's Antwort
    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.

  • Prof.Mobilux
    kommentierte 's Antwort
    Das Problem kommt schon aus dem Grabber des Wetterdienstes. Kannst du mir bitte das Logfile auch noch einmal zusenden?

  • verdammt
    antwortet
    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:


  • elextricmax
    antwortet
    Zitat von Prof.Mobilux
    Irgendein UTF8 Problem. Logging auf Debug stellen und dann das gesamte Logfile hier anhängen.
    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.

    Angehängte Dateien

    Einen Kommentar schreiben:


  • Prof.Mobilux
    antwortet
    Irgendein UTF8 Problem. Logging auf Debug stellen und dann das gesamte Logfile hier anhängen.

    Einen Kommentar schreiben:


  • elextricmax
    antwortet
    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:
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 2024-04-15 16_15_40-Window.png
Ansichten: 461
Größe: 135,7 KB
ID: 429513

    Und hier der Inhalt eines "CRITICAL"-LOG-Eintrags:
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 2024-04-15 16_15_08-Window.png
Ansichten: 321
Größe: 18,5 KB
ID: 429514

    Hat hier jemand eine Idee woran das liegen könnte?

    Einen Kommentar schreiben:


  • Prof.Mobilux
    kommentierte 's Antwort
    Passt, Danke - ich schaue...

  • EotBase
    kommentierte 's Antwort
    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.

  • Prof.Mobilux
    kommentierte 's Antwort
    Schaue ich mir an - hatte ich so bei mir nicht. Komisch. Hattest Du probiert die Sprachdatei in UTF8 zu wandeln?

  • EotBase
    antwortet
    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.

    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;
    }​
    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.

    Gruss
    EotBase
    Zuletzt geändert von EotBase; 13.03.2024, 22:39. Grund: Fehlermeldung hinzugefügt

    Einen Kommentar schreiben:


  • aldriana
    antwortet
    Mercy, Ich hab die Variante 2 gewählt und das Theme neu gespeichert im PlugIn, das funktioniert so tadellos. Danke!

    Einen Kommentar schreiben:


  • Prof.Mobilux
    antwortet
    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:

    Code:
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">​
    Hab's nicht probiert, nur schnell mal gegoogelt.

    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:

    Code:
    <img src="https://www.austrocontrol.at/jart/met/radar/satloop.gif" width="500">
    Abändern in:

    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:

Lädt...