UTF-8 Probleme bei NTFY

Begonnen von matkoh, 14 April 2026, 15:38:11

Vorheriges Thema - Nächstes Thema

matkoh

Hallo,

ich habe lange Nachrichten aus FHEM per SignalBot gesandt. Vor kurzem wurden keine Nachrichten mehr versandt und in Signal auf dem Smartphone erschien "Diese Person verwendet Signal nicht mehr". Ich habe ein Update von signal-cli vorgenommen, bekam die Authentifizierung in FHEM aber nicht mehr hin.

Nun bin ich auf NTFY umgestiegen, wie in https://wiki.fhem.de/wiki/Ntfy beschrieben. Grundsätzlich funktioniert alles, aber eine Nachricht wird nicht versendet. Da erscheint im fhem.log die Meldung
Encoding problem in data/header (not UTF-8), check Forum #131207
Ich habe die Zeitzone und lokale Sprache auf dem Raspi nochmals eingestellt und neu gestartet. Das ändert aber nichts.

Hier ist der Code aus einem DOIF, der verwendet wird:
## 1
 ([6:00|8] or [8:00|7])
  ({fhem("set NTFY0 publish \@FHEM-Status Tägliche Statusmeldung
  \nGarage hinten:
  \nTemperatur: ".ReadingsVal("Aussen.Temp","temperature","").
  "\nLuftfeuchtigkeit: ".ReadingsVal("Aussen.Temp","humidity","")." %
  \nHeizung: ".ReadingsVal("Buderus","OutdoorTemp","")."
  \nVorne: ".ReadingsVal("MQTT2_Aussen.Temperatur.vorne","temperature","")."
  \nWettervorhersage heute: ".ReadingsVal("DWD","fc0_3_wwd","")."
  \nTag/Nacht: ".ReadingsVal("DWD","fc0_Tx","")." / ".ReadingsVal("DWD","fc0_Tn","")."
  \nWettervorhersage morgen: ".ReadingsVal("DWD","fc1_2_wwd","")."
  \nTag/Nacht: ".ReadingsVal("DWD","fc1_Tx","")." / ".ReadingsVal("DWD","fc1_Tn","")."
  \nBatterie PV: ".ReadingsVal("SolarEdgeAPI","status-storage_level","")." %"
  )
  })
und hier das Ergebnis, wie es im Reading von NTFY0 erscheint:
Taegliche Statusmeldung
Garage hinten:
Temperatur: 16.4
Luftfeuchtigkeit: 50 %
Heizung: 14.4
Vorne: 17.1
Wettervorhersage heute: Bewölkung abnehmend
Tag/Nacht: 16.8 / 4.80
Wettervorhersage morgen: Bewölkung abnehmend
Tag/Nacht: 20.4 / 7.5
Batterie PV: 65 %

Ich vermute, dass die Readings aus DWD die Probleme verursachen wegen des Umlauts in "Bewölkung". Mit SignalBot wurde diese Nachricht übertragen. Andere Nachrichten im selben DOIF ohne Umlaute werden auch übertragen.

Hat jemand eine Idee, wie ich das Problem lösen kann?

Matthias



rudolfkoenig

Ist "attr global encoding" gesetzt?

Soweit ich sehe, ist 55_DWD_OpenData.pm unproblematisch, da es das Attribut (bzw. $unicodeEncoding) prueft.
Ich habe sowas in 98_NTFY_CLIENT.pm nicht gesehen, d.h. es duerfte nur mit der Voreinstellung (attr global encoding bytestream) klarkommen.