Binärdaten per HttpUtils holen bei encoding=unicode

Begonnen von Adimarantis, 17 Januar 2025, 14:00:24

Vorheriges Thema - Nächstes Thema

Adimarantis

Mit der Einstellung encoding=unicode funktioniert das Modul 55_DWD_OpenData nicht wenn man MOSMIX Daten für SolarForecast holen will (zip file).
Ich bekomme da
PERL WARNING: Strings with code points over 0xFF may not be mapped into in-memory file handles
Ich hätte jetzt schon versucht
'Content-Type' => 'application/octet-stream; charset=utf-8'in den header zu schreiben (sofern ich das richtig hinbekommen habe) - hat aber nichts genutzt.

Hat jemand Tipps wie man das richtig macht? Der relevante Code Auszug:

my $url = 'https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L/single_stations/' . $station . '/kml/MOSMIX_L_LATEST_' . $station . '.kmz ';
  my $param = {
                url        => $url,
                method     => "GET",
                timeout    => 10,
                hash       => $hash,
                station    => $station
              };
  ::Log3 $name, 5, "$name: GetForecastStart START (PID $$): $url";

  my ($httpError, $fileContent) = ::HttpUtils_BlockingGet($param);

Das Holen an sich funktioniert, aber die Länge der resultierenden Daten stimmt leider nicht und später kommt es dann zu o.g. Fehlermeldung.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

DS_Starter

In meinem contrib liegt schon seit Mai letzten Jahres eine Version des DWD-Moduls die mit der Einstellung encoding=unicode funktioniert (zumindest bei meinen Tests).

(Beitrag: https://forum.fhem.de/index.php?msg=1313613)

Hast du die mal benutzt?

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Adimarantis

Danke Heiko.
Hatte ich noch nicht gesehen.
Das Modul wurde ja inzwischen ziemlich weiterentwickelt, aber scheinbar reicht es den Parameter
forceEncoding => 0einzuflicken, und schon ist der Fehler weg.
An ein paar Stellen ist die Darstellung von Umlauten noch falsch, aber das stört ja insbesondere für die Verwendung von SolarForecast erstmal nicht.

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

DS_Starter

ZitatAn ein paar Stellen ist die Darstellung von Umlauten noch falsch ...
Das ist sicherlich auch noch hinzubekommen. War/ist mir bei meinen Tests nicht aufgefallen.

Das DWD-Modul allgemein...
Ich habe den Eindruck, dass das DWD-Modul verweist ist. JensB war das letzte mal am 20.Mai 2024 aktiv.
Vor ein paar Tagen habe ich ihn angeschrieben ob er sich noch weiterhin um das Modul kümmern will/wird weil die Weiterentwicklungen in meinem contrib, an denen insbesondere mumpitzstuff Anteil hat und die bereits viele User nutzen, auch mal den Weg ins Repo finden sollte.
Bis jetzt kam keine Reaktion.
Wenn das so bleibt, würde ich hier ein Info schreiben.

VG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Adimarantis

Ich dachte ich hätte da updates gesehen - aber wahrscheinlich war das genau dein contrib...
Dann sollte ich wohl eher das verwenden - insbesondere da mir das Modul einige stacktraces ins log schmeisst. Die hast du sicher gefixed :)

Ist ein generelles Problem wie man mit updates umgeht, wenn der Originalauthor sich aktuell nicht rührt.
Ich hätte da z.B. auch ein Update für JsonMod, aber auch hier kam selbst nach PM an herrmannj seit Anfang Dezember keine Antwort.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

DS_Starter

ZitatDie hast du sicher gefixed :)
Don't know.  ;)

ZitatIch dachte ich hätte da updates gesehen - aber wahrscheinlich war das genau dein contrib...
Ja.

Offiziell eingecheckt ist dieser Stand:

# 16.02.2021 (version 1.16.3) jensb
# bugfix: fix version for experimental::smartmatch

In meinem contrib sind diese Entwicklungen drin mit dem Stand:

# 18.10.2024 (version 1.17.7) DS_Starter
# 1.17.7: bugfix: change attr "when" to "if" - https://forum.fhem.de/index.php?msg=1319475
#
# 17.10.2024 (version 1.17.6) DS_Starter
# feature: Timer - quarter 3
#
# 20.05.2024 (version 1.17.5) DS_Starter
# feature: use utf8, accept global encode=unicode
#
# 18.05.2024 (version 1.17.4) mumpitzstuff
# feature: RAM/Flash consumption significantly reduced
#
# 01.03.2024 (version 1.17.3) jensb + DS_Starter
# feature: unzip large forecast files to disk and filter out selected station before processing
# change: increased max value for attribute downloadTimeout to 120 s
# change: LWP request HEAD replaced with HttpUtils_BlockingGet
#
# 01.03.2024 (version 1.17.2) jensb
# feature: skip download of alert data if DWD document is unchanged
# change: attribute forecastDataPresision replaced with attribute forecastRefresh
#
# 28.02.2024 (version 1.17.1) jensb
# feature: skip download of forecast data if DWD document is unchanged
# feature: show context description for get commands and attributes in FHEMWEB
#
# 25.02.2024 (version 1.17.0) DS_Starter + jensb
# feature: support MOSMIX S

Da ist einiges passiert...
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

betateilchen

Zitat von: Adimarantis am 17 Januar 2025, 16:46:32Ist ein generelles Problem wie man mit updates umgeht, wenn der Originalauthor sich aktuell nicht rührt.
Ich hätte da z.B. auch ein Update für JsonMod, aber auch hier kam selbst nach PM an herrmannj seit Anfang Dezember keine Antwort.

Speziell bei JsonMod ist meine Erfahrung, dass sich lange nichts tut und dann der große Update-Wurf von Jörg kommt. Da bin ich recht zuversichtlich, zumal es ja noch mehr Vorschläge für Änderungen an dem Modul gibt.
Es lohnt sich bestimmt, sich einfach in Geduld zu üben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!