From c205866758845e6832c49a7eb14fe44f117ba601 Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Wed, 16 Jan 2019 23:05:41 +0100 Subject: [PATCH] fix uninitialized value in localtime at FHEM/DarkSkyAPI.pm line 430 --- DarkSkyAPI.pm | 34 +++++++++++----------------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/DarkSkyAPI.pm b/DarkSkyAPI.pm index 8300566..a35c4a5 100644 --- a/DarkSkyAPI.pm +++ b/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++; }