From e84d810e393df7c7e56ad240bfaa63cff75d7783 Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Thu, 16 Oct 2025 19:01:00 +0200 Subject: [PATCH 1/3] Update version to 2.3.1 and fix conditionals in Weather.pm This commit updates the version number in the FHEM weather module from 2.3.0 to 2.3.1 to reflect the latest changes. In addition to the version bump, several conditionals in lib/FHEM/Core/Weather.pm have been corrected. Specifically, the syntax for checking the command attributes has been fixed to ensure proper evaluation of the conditions. These changes improve code clarity and correctness, which helps in maintaining the module. There are no breaking changes in this commit, and existing functionality remains intact. --- FHEM/59_Weather.pm | 2 +- controls_Weather.txt | 6 +++--- lib/FHEM/Core/Weather.pm | 7 ++----- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/FHEM/59_Weather.pm b/FHEM/59_Weather.pm index 6a1ab45..96068ad 100755 --- a/FHEM/59_Weather.pm +++ b/FHEM/59_Weather.pm @@ -516,7 +516,7 @@ __END__ ], "release_status": "stable", "license": "GPL_2", - "version": "v2.3.0", + "version": "v2.3.1", "author": [ "Marko Oldenburg " ], diff --git a/controls_Weather.txt b/controls_Weather.txt index b20fe7e..2b23a5a 100644 --- a/controls_Weather.txt +++ b/controls_Weather.txt @@ -1,4 +1,4 @@ -UPD 2025-10-14_07:34:42 24515 FHEM/59_Weather.pm -UPD 2025-10-14_07:20:30 34175 lib/FHEM/Core/Weather.pm -UPD 2025-10-14_07:25:36 33545 lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm +UPD 2025-10-16_18:59:55 24515 FHEM/59_Weather.pm +UPD 2025-10-16_18:59:41 34158 lib/FHEM/Core/Weather.pm +UPD 2025-10-14_07:39:57 33545 lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm UPD 2025-10-14_07:20:30 38721 lib/FHEM/APIs/Weather/wundergroundAPI.pm diff --git a/lib/FHEM/Core/Weather.pm b/lib/FHEM/Core/Weather.pm index 8c09d2b..28e975a 100644 --- a/lib/FHEM/Core/Weather.pm +++ b/lib/FHEM/Core/Weather.pm @@ -232,9 +232,6 @@ sub _LanguageInitialize { @directions_txt_i18n = @directions_txt_nl; %pressure_trend_txt_i18n = %pressure_trend_txt_nl; %status_items_txt_i18n = %status_items_txt_nl; - } - elsif ( $lang eq 'fr' ) { - } elsif ( $lang eq 'fr' ) { %wdays_txt_i18n = %wdays_txt_fr; @@ -870,11 +867,11 @@ sub Attr { ::InternalTimer( gettimeofday() + 0.5, \&FHEM::Core::Weather::DeleteForecastreadings, $hash ); } - elsif ('forecastLimit') { + elsif ( $cmd eq 'forecastLimit' ) { ::InternalTimer( gettimeofday() + 0.5, \&FHEM::Core::Weather::DeleteForecastreadings, $hash ); } - elsif ('alerts') { + elsif ( $cmd eq 'alerts' ) { if ( $cmd eq 'set' ) { $hash->{fhem}->{api}->setAlerts($AttrVal); } -- 2.49.1 From 82d0e6b1b67a7eae752f3a366562aa3349736fab Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Thu, 16 Oct 2025 19:01:08 +0200 Subject: [PATCH 2/3] Update version to 2.3.1 and fix conditionals in Weather.pm This commit increments the version number of the FHEM Weather module from 2.3.0 to 2.3.1 and addresses several issues with conditionals in the Weather.pm file. The syntax for checking command attributes has been corrected, ensuring accurate evaluation of conditions. These improvements enhance code clarity and correctness, facilitating ongoing maintenance. There are no breaking changes introduced in this update; existing functionality is preserved. --- CHANGELOG.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aad7975..a5a1995 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,54 @@ -### Remove DarkSky API support from Weather module (HEAD -> patch-newversion) +### Update version to 2.3.1 and fix conditionals in Weather.pm (HEAD -> patch-mod-weather) +>Thu, 16 Oct 2025 19:01:00 +0200 + +>Author: Marko Oldenburg (fhemdevelopment@cooltux.net) + +>Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) + +This commit updates the version number in the FHEM weather module +from 2.3.0 to 2.3.1 to reflect the latest changes. + +In addition to the version bump, several conditionals in +lib/FHEM/Core/Weather.pm have been corrected. Specifically, the +syntax for checking the command attributes has been fixed to ensure +proper evaluation of the conditions. + +These changes improve code clarity and correctness, which helps +in maintaining the module. There are no breaking changes in this +commit, and existing functionality remains intact. + + + +### Remove DarkSky API support from Weather module (tag: v2.3.0, origin/testing, origin/main, origin/dev, origin/HEAD, testing, main, dev) +>Tue, 14 Oct 2025 07:35:31 +0200 + +>Author: Marko Oldenburg (fhemdevelopment@cooltux.net) + +>Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) + +The DarkSky API support has been removed from the Weather module +documentation, affecting both English and German sections. The API +documentation now focuses solely on the OpenWeatherMap API. + +Changes include the deletion of DarkSky references in `59_Weather.pm` +and updates to example command snippets to refer to the +OpenWeatherMap API. The version number was incremented from +v2.2.35 to v2.3.0, and the OpenWeatherMap API version was updated +from v3.2.7 to v3.2.8. + +These updates were necessary as DarkSky has been discontinued, +streamlining the module's functionality. There are no breaking +changes for current OpenWeatherMap API users. + +Additionally, the language handling in the Weather API was +refactored to replace the experimental `given/when` construct +with standard `if/elsif` statements for better readability +and maintainability. This change does not introduce any breaking +changes and enhances code clarity. + + + +### Remove DarkSky API support from Weather module >Tue, 14 Oct 2025 07:35:18 +0200 >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) @@ -27,7 +77,7 @@ for existing users of the OpenWeatherMap API. -### Refactor language handling in Weather API (origin/testing, origin/main, origin/dev, origin/HEAD, testing, main, dev) +### Refactor language handling in Weather API >Tue, 14 Oct 2025 07:04:00 +0200 >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) -- 2.49.1 From 437d04b87c2d7775622a9187e5eb57e2c86aae33 Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Fri, 17 Oct 2025 12:20:04 +0200 Subject: [PATCH 3/3] Fix Weather.pm to use READINGS instead of readings This commit corrects the hash key used to access device readings in the Weather.pm module. All instances of the lowercase 'readings' hash key have been changed to the uppercase 'READINGS', which is the standard convention in FHEM. This fixes potential issues where weather data wasn't being properly accessed or displayed because the module was looking for readings in the wrong hash location. The change affects the Get function and HTML rendering methods for both vertical and horizontal layouts. --- lib/FHEM/Core/Weather.pm | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/FHEM/Core/Weather.pm b/lib/FHEM/Core/Weather.pm index 28e975a..64d4b53 100644 --- a/lib/FHEM/Core/Weather.pm +++ b/lib/FHEM/Core/Weather.pm @@ -644,13 +644,13 @@ sub Get { my $reading = shift @$aRef // return; my $value; - if ( defined( $hash->{readings}->{$reading} ) ) { - $value = $hash->{readings}->{$reading}->{VAL}; + if ( defined( $hash->{READINGS}->{$reading} ) ) { + $value = $hash->{READINGS}->{$reading}->{VAL}; } else { my $rt = ''; - if ( defined( $hash->{readings} ) ) { - $rt = join( ":noArg ", sort keys %{ $hash->{readings} } ); + if ( defined( $hash->{READINGS} ) ) { + $rt = join( ":noArg ", sort keys %{ $hash->{READINGS} } ); } return "Unknown reading $reading, choose one of " . $rt; @@ -933,8 +933,8 @@ sub WeatherAsHtmlV { else { $fc = ( ( - defined( $h->{readings}->{fc1_day_of_week} ) - && $h->{readings}->{fc1_day_of_week} + defined( $h->{READINGS}->{fc1_day_of_week} ) + && $h->{READINGS}->{fc1_day_of_week} ) ? 'fc' : 'hfc' ); } @@ -950,8 +950,8 @@ sub WeatherAsHtmlV { ); for ( my $i = 1 ; $i < $items ; $i++ ) { - if ( defined( $h->{readings}->{"${fc}${i}_low_c"} ) - && $h->{readings}->{"${fc}${i}_low_c"} ) + if ( defined( $h->{READINGS}->{"${fc}${i}_low_c"} ) + && $h->{READINGS}->{"${fc}${i}_low_c"} ) { $ret .= sprintf( '%s%s: %s
min %s°C max %s°C
%s', @@ -1021,8 +1021,8 @@ sub WeatherAsHtmlH { else { $fc = ( ( - defined( $h->{readings}->{fc1_day_of_week} ) - && $h->{readings}->{fc1_day_of_week} + defined( $h->{READINGS}->{fc1_day_of_week} ) + && $h->{READINGS}->{fc1_day_of_week} ) ? 'fc' : 'hfc' ); } @@ -1056,8 +1056,8 @@ sub WeatherAsHtmlH { ::ReadingsVal( $d, "humidity", "" ) ); for ( my $i = 1 ; $i < $items ; $i++ ) { - if ( defined( $h->{readings}->{"${fc}${i}_low_c"} ) - && $h->{readings}->{"${fc}${i}_low_c"} ) + if ( defined( $h->{READINGS}->{"${fc}${i}_low_c"} ) + && $h->{READINGS}->{"${fc}${i}_low_c"} ) { $ret .= sprintf( 'min %s°C', ::ReadingsVal( $d, "${fc}${i}_low_c", " - " ) ); @@ -1074,8 +1074,8 @@ sub WeatherAsHtmlH { $ret .= sprintf( '%s', ::ReadingsVal( $d, "wind_condition", "" ) ); for ( my $i = 1 ; $i < $items ; $i++ ) { - if ( defined( $h->{readings}->{"${fc}${i}_high_c"} ) - && $h->{readings}->{"${fc}${i}_high_c"} ) + if ( defined( $h->{READINGS}->{"${fc}${i}_high_c"} ) + && $h->{READINGS}->{"${fc}${i}_high_c"} ) { $ret .= sprintf( 'max %s°C', ::ReadingsVal( $d, "${fc}${i}_high_c", " - " ) ); -- 2.49.1