5 Commits

Author SHA1 Message Date
b78f6110d9 Bump version to v2.3.3 in Weather module
Update the version of the Weather module from v2.3.2 to v2.3.3.
This change was necessary to reflect the latest enhancements, bug
fixes, or improvements made since the last release. Keeping the
versioning up to date helps users identify the current state of the
module and ensures better dependency management. No breaking
changes or additional notes are involved in this version bump.
2025-10-23 19:47:40 +02:00
0ab46dd00b Bump Weather module version to v2.3.2
Updated the version number of the Weather module from v2.3.1 to v2.3.2 in
 the module metadata. This version increment likely corresponds to minor
 bugfixes or improvements that have been implemented in the module. The
 version change ensures proper tracking of module updates for users and
 package management systems.
2025-10-17 12:40:07 +02:00
437d04b87c 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.
2025-10-17 12:20:04 +02:00
82d0e6b1b6 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.
2025-10-16 19:01:08 +02:00
e84d810e39 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.
2025-10-16 19:01:00 +02:00
4 changed files with 72 additions and 25 deletions

View File

@@ -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)

View File

@@ -516,7 +516,7 @@ __END__
],
"release_status": "stable",
"license": "GPL_2",
"version": "v2.3.0",
"version": "v2.3.3",
"author": [
"Marko Oldenburg <fhemdevelopment@cooltux.net>"
],

View File

@@ -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-23_19:47:25 24515 FHEM/59_Weather.pm
UPD 2025-10-23_19:45:59 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

View File

@@ -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;
@@ -647,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;
@@ -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);
}
@@ -936,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'
);
}
@@ -953,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(
'<tr><td class="weatherIcon" width=%d>%s</td><td class="weatherValue"><span class="weatherDay">%s: %s</span><br><span class="weatherMin">min %s°C</span> <span class="weatherMax">max %s°C</span><br>%s</td></tr>',
@@ -1024,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'
);
}
@@ -1059,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( '<td class="weatherMin">min %s°C</td>',
::ReadingsVal( $d, "${fc}${i}_low_c", " - " ) );
@@ -1077,8 +1074,8 @@ sub WeatherAsHtmlH {
$ret .= sprintf( '<tr><td class="weatherMax">%s</td>',
::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( '<td class="weatherMax">max %s°C</td>',
::ReadingsVal( $d, "${fc}${i}_high_c", " - " ) );