From 2a06821252caf2030a13ff729ddf3124464c0660 Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Tue, 11 Jul 2023 14:10:13 +0200 Subject: [PATCH] feat: new reading owmAPICode for original code [Ticket: no] --- controls_Weather.txt | 2 +- lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/controls_Weather.txt b/controls_Weather.txt index 14e15ce..f54136f 100644 --- a/controls_Weather.txt +++ b/controls_Weather.txt @@ -1,5 +1,5 @@ UPD 2023-01-29_16:14:48 25809 FHEM/59_Weather.pm UPD 2023-06-06_07:31:00 34254 lib/FHEM/Core/Weather.pm UPD 2023-01-29_16:14:48 50106 lib/FHEM/APIs/Weather/DarkSkyAPI.pm -UPD 2023-06-06_08:24:10 33488 lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm +UPD 2023-07-11_14:08:00 33779 lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm UPD 2023-06-02_05:03:58 36607 lib/FHEM/APIs/Weather/wundergroundAPI.pm diff --git a/lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm b/lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm index 3785f24..509e3ca 100644 --- a/lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm +++ b/lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm @@ -591,6 +591,7 @@ sub _FillSelfHashWithWeatherResponseForWeatherCurrent { 'wind_direction' => $data->{wind}->{deg}, 'cloudCover' => $data->{clouds}->{all}, 'code' => $codes{ $data->{weather}->[0]->{id} }, + 'owmAPICode' => $data->{weather}->[0]->{id}, 'iconAPI' => $data->{weather}->[0]->{icon}, 'sunsetTime' => _strftimeWrapper( "%a, %e %b %Y %H:%M", @@ -670,8 +671,9 @@ sub _FillSelfHashWithWeatherResponseForForecastHourly { ), 'cloudCover' => $data->{list}->[$i]->{clouds}->{all}, 'code' => $codes{ $data->{list}->[$i]->{weather}->[0]->{id} }, - 'iconAPI' => $data->{list}->[$i]->{weather}->[0]->{icon}, - 'rain1h' => ( + 'owmAPICode' => $data->{list}->[$i]->{weather}->[0]->{id}, + 'iconAPI' => $data->{list}->[$i]->{weather}->[0]->{icon}, + 'rain1h' => ( $data->{list}->[$i]->{rain}->{'1h'} ? $data->{list}->[$i]->{rain}->{'1h'} : 0 @@ -732,6 +734,7 @@ sub _FillSelfHashWithWeatherResponseForOnecallCurrent { 'rain_1h' => ( $data->{rain}->{'1h'} ? $data->{rain}->{'1h'} : 0 ), 'cloudCover' => $data->{current}->{clouds}, 'code' => $codes{ $data->{current}->{weather}->[0]->{id} }, + 'owmAPICode' => $data->{current}->{weather}->[0]->{id}, 'iconAPI' => $data->{current}->{weather}->[0]->{icon}, 'condition' => encode_utf8( $data->{current}->{weather}->[0]->{description} ), @@ -834,8 +837,9 @@ sub _FillSelfHashWithWeatherResponseForOnecallDaily { $data->{daily}->[$i]->{weather}->[0]->{description} ), 'code' => $codes{ $data->{daily}->[$i]->{weather}->[0]->{id} }, - 'iconAPI' => $data->{daily}->[$i]->{weather}->[0]->{icon}, - 'pressure' => int( + 'owmAPICode' => $data->{daily}->[$i]->{weather}->[0]->{id}, + 'iconAPI' => $data->{daily}->[$i]->{weather}->[0]->{icon}, + 'pressure' => int( sprintf( "%.1f", $data->{daily}->[$i]->{pressure} ) + 0.5 ), 'wind' => int( @@ -854,8 +858,7 @@ sub _FillSelfHashWithWeatherResponseForOnecallDaily { sprintf( "%.1f", ( $data->{daily}->[$i]->{wind_deg} ) ) ), 'cloudCover' => $data->{daily}->[$i]->{clouds}, - 'code' => $codes{ $data->{daily}->[$i]->{weather}->[0]->{id} }, - 'rain' => ( + 'rain' => ( $data->{daily}->[$i]->{rain} ? $data->{daily}->[$i]->{rain} : 0 ), @@ -921,8 +924,9 @@ sub _FillSelfHashWithWeatherResponseForOnecallHourly { 'wind_direction' => $data->{hourly}->[$i]->{wind_deg}, 'cloudCover' => $data->{hourly}->[$i]->{clouds}, 'code' => $codes{ $data->{hourly}->[$i]->{weather}->[0]->{id} }, - 'iconAPI' => $data->{hourly}->[$i]->{weather}->[0]->{icon}, - 'rain1h' => ( + 'owmAPICode' => $data->{hourly}->[$i]->{weather}->[0]->{id}, + 'iconAPI' => $data->{hourly}->[$i]->{weather}->[0]->{icon}, + 'rain1h' => ( $data->{hourly}->[$i]->{rain}->{'1h'} ? $data->{hourly}->[$i]->{rain}->{'1h'} : 0