Hi,
sobald ich in einem Reading ein geschütztes Leerzeichen mittels chr(0x202F) verwende, stürzt FHEM kurze Zeit später mit dieser Meldung ab:
Wide character in syswrite at FHEM/TcpServerUtils.pm line 269.
Ich vermute das passiert beim schreiben von ./FHEM/fhem.save. Ist diese Funktion nicht UTF8 fest? Ich hadere beim Thema Codierung immer(noch) und weiß daher nicht genau, wo ich für einen Patch hinfassen müsste.
Gruß
Julian
Es muss wohl eher im Bereich FHEMWEB liegen:
2016.11.27 12:07:21.017 5: Triggering WH (84 changes)
2016.11.27 12:07:21.017 5: Starting notify loop for WH, first event wind_speed_mph: 0.0
2016.11.27 12:07:21.038 4: name: /weatherstation/updateweatherstation.php?outhumiabsf=3.8&indoorhumidity=39&realtime=1&light=4583.9&windchill=6.3&windspeedbft=0&windgustfts=0.0&indewpoint=7.7&windspeedkn=0.0&rtfreq=5&yearlyrainin=46.9&absbaromin=28.2&absbarommm=7.2&indoortempf=72.1&windspdmph=0.0&monthlyrainin=3.5&tempf=43.3&baromin=29.7&windspeedkn_avg2m=0.0&relbaro=1004.1&windspeedmps=0.0&outtemp=6.3&barommm=7.5&inhumiabs=7.7&rainin=0.0&windgustmph=0.0&dewpoint=2.9&rainrate=0.0&UVI=0&winddir=303&windspeed_avg2m=0.0&yearlyrain=1190.7&windgustkn=0.0&windgustbft=0&windgustmps=0.0&windspeedmps_avg2m=0.0&dailyrainin=0.0&action=updateraw&ID=IBAYERNM70&dateutc=2016%2d11%2d27%2011%3a7%3a20&monthlyrain=90.0&windchillf=43.3&weeklyrainin=0.0&intemp=22.3&windgust_10m=4.0&windgustmph_10m=2.5&outhumiabs=5.8&outhumi=79&windcompasspoint=WNW&windspeedbft_avg2m=0&windgust=0.0&PASSWORD=&indoorhumidityabsf=83.6&weeklyrain=0.9&windspdmph_avg2m=0.0&dailyrain=0.9&absbaro=956.4&dewptf=37.2&winddir_avg2m=316&indoordewpointf=51.6&inhumi=39&windcompasspoint_avg2m=NW&solarradiation=36.2&softwaretype=HP1000%20V2%2e2%2e2&UV=82&humidity=79&windspeed=0.0& / RL:7 / text/plain; charset=utf-8 / /
2016.11.27 12:07:21.038 4: Syswrite: Wide character in syswrite at fhem.pl line 691.
, deleting WEB_127.0.0.1_63184
2016.11.27 12:07:26.042 4: Connection accepted from WEB_127.0.0.1_63189
Wenn ich bei meinem Modul noch dediziert ein "use utf8;" einbaue, dann stürzt FHEM nicht mehr ab. Aber die Meldung bleibt trotzdem im Log.
Außerdem werden UTF8 Character dann in der Raumansicht nicht mehr richtig dargestellt, nur in der Detailansicht (siehe Screenshots).
FHEM-Intern duerfen keine Wide-Characters verwendet werden, alle Module muessen dafuer sorgen, dass intern nur UTF-8 verwendet wird.
Danke, Rudi für den Denkanstoß. Nachdem ich an einigen Stellen encode_utf8() ergänzt hatte, geht es jetzt auch.