diff --git a/fhem/CHANGED b/fhem/CHANGED index d9b68ac76..1c85131ad 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,7 @@ # 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. + - bugfix: 74_XiaomiBTLESens: fix error messages + - feature: 46_TeslaPowerwall2AC: Powerwalls overwiev - feature: 73_PRESENCE: new set commands overrideInterval and clearOverride to temporary override the check interval. new attributes retryCount and retryInterval diff --git a/fhem/FHEM/46_TeslaPowerwall2AC.pm b/fhem/FHEM/46_TeslaPowerwall2AC.pm index 843063d4a..d256fe52c 100644 --- a/fhem/FHEM/46_TeslaPowerwall2AC.pm +++ b/fhem/FHEM/46_TeslaPowerwall2AC.pm @@ -66,7 +66,7 @@ use HttpUtils; eval "use JSON;1" or $missingModul .= "JSON "; -my $version = "0.2.3"; +my $version = "0.4.0"; @@ -231,6 +231,7 @@ sub TeslaPowerwall2AC_Notify($$) { TeslaPowerwall2AC_Timer_GetData($hash) if( grep /^INITIALIZED$/,@{$events} or grep /^DELETEATTR.$name.disable$/,@{$events} + or grep /^DELETEATTR.$name.interval$/,@{$events} or (grep /^DEFINED.$name$/,@{$events} and $init_done) ); return; } @@ -489,15 +490,20 @@ sub TeslaPowerwall2AC_ReadingsProcessing_Powerwalls($$) { if( ref($decode_json->{powerwalls}) eq "ARRAY" and scalar(@{$decode_json->{powerwalls}}) > 0 ) { - + my $i = 0; + foreach my $powerwall (@{$decode_json->{powerwalls}}) { if( ref($powerwall) eq "HASH" ) { while( my ($r,$v) = each %{$powerwall} ) { - $readings{$r} = $v; + $readings{'wall_'.$i.'_'.$r} = $v; } + + $i++; } } + + $readings{'numberOfWalls'} = $i; } else { $readings{'error'} = 'aggregates response is not a Array'; diff --git a/fhem/FHEM/74_XiaomiBTLESens.pm b/fhem/FHEM/74_XiaomiBTLESens.pm index fbe23c7fb..231ec9202 100644 --- a/fhem/FHEM/74_XiaomiBTLESens.pm +++ b/fhem/FHEM/74_XiaomiBTLESens.pm @@ -300,8 +300,8 @@ sub XiaomiBTLESens_stateRequest($) { if( XiaomiBTLESens_CallBattery_IsUpdateTimeAgeToOld($hash,$CallBatteryAge{AttrVal($name,'BatteryFirmwareAge','24h')}) ); if( $hash->{helper}{CallSensDataCounter} < 1 ) { - XiaomiBTLESens_CreateParamGatttool($hash,'write',$XiaomiModels{AttrVal($name,'model','')}{wdata},$XiaomiModels{AttrVal($name,'model','')}{wdataValue}); - $hash->{helper}{CallSensDataCounter} = $hash->{helper}{CallSensDataCounter} + 1; + XiaomiBTLESens_CreateParamGatttool($hash,'write',$XiaomiModels{AttrVal($name,'model','')}{wdata},$XiaomiModels{AttrVal($name,'model','')}{wdataValue}); + $hash->{helper}{CallSensDataCounter} = $hash->{helper}{CallSensDataCounter} + 1; } else { $readings{'lastGattError'} = 'charWrite faild';