diff --git a/fhem/CHANGED b/fhem/CHANGED index 6c042c1da..4224882b8 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. + - bugfix: DarkSkyAPI: fix uninitialized value in localtime at line 430 - bugfix: 89_FULLY: fixed command set url - bugfix: 98_livetracking: fixed HTTP return - bugfix: 49_SSCam: fix event generation after snapshots created diff --git a/fhem/FHEM/DarkSkyAPI.pm b/fhem/FHEM/DarkSkyAPI.pm index e96f9b19b..c07b1dadd 100644 --- a/fhem/FHEM/DarkSkyAPI.pm +++ b/fhem/FHEM/DarkSkyAPI.pm @@ -348,39 +348,24 @@ sub _ProcessingRetrieveData($$) { ), 'ozone' => $data->{daily}->{data}->[$i]->{ozone}, 'uvIndex' => - $data->{daily}->{data}->[$i]->{uvIndex}, + $data->{daily}->{data}->[$i]->{uvIndex}, 'uvIndexTime' => strftime( "%a, %e %b %Y %H:%M", localtime( $data->{daily}->{data}->[$i]->{uvIndexTime} ) ), - 'precipIntensity' => - $data->{daily}->{data}->[$i]->{precipIntensity}, - 'precipIntensityMax' => - $data->{daily}->{data}->[$i] - ->{precipIntensityMax}, - 'precipIntensityMaxTime' => strftime( - "%a, %e %b %Y %H:%M", - localtime( - $data->{daily}->{data}->[$i] - ->{precipIntensityMaxTime} - ) - ), 'dewPoint' => int( sprintf( "%.1f", $data->{daily}->{data}->[$i]->{dewPoint} ) + 0.5 ), 'humidity' => - $data->{daily}->{data}->[$i]->{humidity} * 100, + $data->{daily}->{data}->[$i]->{humidity} * 100, 'cloudCover' => - $data->{daily}->{data}->[$i]->{cloudCover} * 100, - 'precipType' => - $data->{daily}->{data}->[$i]->{precipType}, - + $data->{daily}->{data}->[$i]->{cloudCover} * 100, 'wind_direction' => - $data->{daily}->{data}->[$i]->{windBearing}, + $data->{daily}->{data}->[$i]->{windBearing}, 'wind' => int( sprintf( "%.1f", ($data->{daily}->{data}->[$i]->{windSpeed} * 3.6) ) @@ -403,7 +388,7 @@ sub _ProcessingRetrieveData($$) { ) ), 'moonPhase' => - $data->{daily}->{data}->[$i]->{moonPhase}, + $data->{daily}->{data}->[$i]->{moonPhase}, 'sunsetTime' => strftime( "%a, %e %b %Y %H:%M", localtime( @@ -416,9 +401,6 @@ sub _ProcessingRetrieveData($$) { $data->{daily}->{data}->[$i]->{sunriseTime} ) ), - - 'precipProbability' => - $data->{daily}->{data}->[$i]->{precipProbability}, 'pressure' => int( sprintf( "%.1f", $data->{daily}->{data}->[$i]->{pressure} ) @@ -432,6 +414,12 @@ sub _ProcessingRetrieveData($$) { } ); + $self->{cached}->{forecast}->{daily}[$i]{precipIntensityMax} = $data->{daily}->{data}->[$i]->{precipIntensityMax} if ( defined($data->{daily}->{data}->[$i]->{precipIntensityMax}) ); + $self->{cached}->{forecast}->{daily}[$i]{precipIntensity} = $data->{daily}->{data}->[$i]->{precipIntensity} if ( defined($data->{daily}->{data}->[$i]->{precipIntensity}) ); + $self->{cached}->{forecast}->{daily}[$i]{precipProbability} = $data->{daily}->{data}->[$i]->{precipProbability} if ( defined($data->{daily}->{data}->[$i]->{precipProbability}) ); + $self->{cached}->{forecast}->{daily}[$i]{precipType} = $data->{daily}->{data}->[$i]->{precipType} if ( defined($data->{daily}->{data}->[$i]->{precipType}) ); + $self->{cached}->{forecast}->{daily}[$i]{precipIntensityMaxTime} = strftime("%a, %e %b %Y %H:%M",localtime($data->{daily}->{data}->[$i]->{precipIntensityMaxTime}) ) if ( defined($data->{daily}->{data}->[$i]->{precipIntensityMaxTime}) ); + $i++; }