diff --git a/fhem/CHANGED b/fhem/CHANGED index 9deecc403..b2407b9c1 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it + - change: 74_NUKIDevice: Add UTF-8 encoding for reading bulk updates - change: 73_NUKIBridge/74_NUKIDevice: Key changes include enhancements to the command handling within the Bridge module, replacing the `given/when` construct with a more flexible diff --git a/fhem/FHEM/74_NUKIDevice.pm b/fhem/FHEM/74_NUKIDevice.pm index b795a4e58..2b856bf30 100644 --- a/fhem/FHEM/74_NUKIDevice.pm +++ b/fhem/FHEM/74_NUKIDevice.pm @@ -271,7 +271,7 @@ sub Initialize { ], "release_status": "stable", "license": "GPL_2", - "version": "v2.1.0", + "version": "v2.1.1", "author": [ "Marko Oldenburg " ], diff --git a/fhem/lib/FHEM/Devices/Nuki/Device.pm b/fhem/lib/FHEM/Devices/Nuki/Device.pm index 91766f429..4bb6637e0 100644 --- a/fhem/lib/FHEM/Devices/Nuki/Device.pm +++ b/fhem/lib/FHEM/Devices/Nuki/Device.pm @@ -30,7 +30,7 @@ use strict; use warnings; #use experimental qw( switch ); - +use Encode; use FHEM::Meta; use GPUtils qw(GP_Import); @@ -550,7 +550,8 @@ sub WriteReadings { while ( ( $t, $v ) = each %{$decode_json} ) { # generische readings (alles außer spezielle Felder) - ::readingsBulkUpdate( $hash, $t, $v ) + ::readingsBulkUpdate( $hash, $t, + Encode::is_utf8($v) ? Encode::encode( "UTF-8", $v ) : $v ) if ( $t ne 'state' && $t ne 'mode' && $t ne 'deviceType'