main #82

Merged
marko merged 2 commits from main into testing 2025-10-14 05:49:46 +00:00
4 changed files with 64 additions and 40 deletions

View File

@@ -1,4 +1,57 @@
### Refactor language handling in Weather API (HEAD -> patch-remove-perlexperimental) ### Remove DarkSky API support from Weather module (HEAD -> patch-newversion)
>Tue, 14 Oct 2025 07:35:18 +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,
including its references in both English and German sections. The API
documentation has been updated to exclusively focus on the
OpenWeatherMap API.
The changes made to `59_Weather.pm` include:
- Deleted mentions of the DarkSky API in the documentation.
- Updated example command snippets to reference the
OpenWeatherMap API.
- Version number has been incremented from v2.2.35 to v2.3.0.
In addition, the version number for the OpenWeatherMap API support
has been updated from v3.2.7 to v3.2.8 in the corresponding API file.
These updates were necessary to streamline the module's
functionality and align it with current API availability, as
DarkSky has been discontinued. There are no breaking changes
for existing users of the OpenWeatherMap API.
### Refactor language handling in Weather API (origin/testing, origin/main, origin/dev, origin/HEAD, testing, main, dev)
>Tue, 14 Oct 2025 07:04:00 +0200
>Author: Marko Oldenburg (fhemdevelopment@cooltux.net)
>Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net)
Improved the language initialization logic by replacing the
experimental `given/when` construct with a more standard
`if/elsif` structure to enhance code readability and
maintainability. The attribute handling in the `Attr` subroutine
was simplified for clarity, removing unnecessary usage
of `given/when`, which helps reduce complexity throughout
the codebase.
Additionally, in the OpenWeatherMapAPI module, the logic for
handling weather response data was streamlined by removing
`given/when` statements in favor of `if` conditions. This change
avoids potential confusion and enhances the clarity of the
code logic. No breaking changes were introduced; the overall
functionality remains intact.
### Refactor language handling in Weather API
>Tue, 14 Oct 2025 07:03:38 +0200 >Tue, 14 Oct 2025 07:03:38 +0200
>Author: Marko Oldenburg (fhemdevelopment@cooltux.net) >Author: Marko Oldenburg (fhemdevelopment@cooltux.net)

View File

@@ -78,7 +78,6 @@ __END__
The Weather module works with various weather APIs: The Weather module works with various weather APIs:
<ul> <ul>
<li>DarkSky (<a href="https://darksky.net">web site</a>, standard)</li>
<li>OpenWeatherMap (<a href="https://openweathermap.org/">web site)</a></li> <li>OpenWeatherMap (<a href="https://openweathermap.org/">web site)</a></li>
<li>Wunderground (<a href="https://www.wunderground.com/member/api-keys">web site)</a></li> <li>Wunderground (<a href="https://www.wunderground.com/member/api-keys">web site)</a></li>
</ul> </ul>
@@ -96,7 +95,7 @@ __END__
The parameters have the following meanings:<br> The parameters have the following meanings:<br>
<table> <table>
<tr><td><code>API</code></td><td>name of the weather API, e.g. <code>DarkSkyAPI</code></td></tr> <tr><td><code>API</code></td><td>name of the weather API, e.g. <code>OpenWeatherMapAPI</code></td></tr>
<tr><td><code>apioptions</code></td><td>indivual options for the chosen API</td></tr> <tr><td><code>apioptions</code></td><td>indivual options for the chosen API</td></tr>
<tr><td><code>apikey</code></td><td>key for the chosen API</td></tr> <tr><td><code>apikey</code></td><td>key for the chosen API</td></tr>
<tr><td><code>location</code></td><td>location for the weather forecast; <tr><td><code>location</code></td><td>location for the weather forecast;
@@ -108,7 +107,7 @@ __END__
<p></p> <p></p>
A very simple definition is:<br><br> A very simple definition is:<br><br>
<code>define &lt;name&gt; Weather apikey=&lt;DarkSkyAPISecretKey&gt;</code><br><br> <code>define &lt;name&gt; Weather apikey=&lt;OpenWeatherMapAPISecretKey&gt;</code><br><br>
This uses the Dark Sky API with an individual key that you need to This uses the Dark Sky API with an individual key that you need to
retrieve from the Dark Sky web site.<p></p> retrieve from the Dark Sky web site.<p></p>
@@ -122,19 +121,6 @@ __END__
API-specific documentation follows.<p></p> API-specific documentation follows.<p></p>
<h4>Dark Sky</h4><p></p>
<table>
<tr><td>API</td><td><code>DarkSkyAPI</code></td></tr>
<tr><td>apioptions</td><td><code>cachemaxage:&lt;cachemaxage&gt;</code><br>duration
in seconds to retrieve the forecast from the cache instead from the API</td></tr>
<tr><td>location</td><td><code>&lt;latitude,longitude&gt;</code><br>
geographic coordinates in degrees of the location for which the
weather is forecast; if missing, the values of the attributes
of the <code>global</code> device are taken, if these exist.</td></tr>
</table>
<p></p>
<h4>OpenWeatherMap</h4><p></p> <h4>OpenWeatherMap</h4><p></p>
<table> <table>
@@ -324,7 +310,7 @@ __END__
Die Parameter haben die folgende Bedeutung:<br> Die Parameter haben die folgende Bedeutung:<br>
<table> <table>
<tr><td><code>API</code></td><td>Name des Wetter-APIs, z.B. <code>DarkSkyAPI</code></td></tr> <tr><td><code>API</code></td><td>Name des Wetter-APIs, z.B. <code>OpenWeatherMapAPI</code></td></tr>
<tr><td><code>apioptions</code></td><td>Individuelle Optionen f&uuml;r das gew&auml;hlte API</td></tr> <tr><td><code>apioptions</code></td><td>Individuelle Optionen f&uuml;r das gew&auml;hlte API</td></tr>
<tr><td><code>apikey</code></td><td>Schl&uuml;ssel f&uuml;r das gew&auml;hlte API</td></tr> <tr><td><code>apikey</code></td><td>Schl&uuml;ssel f&uuml;r das gew&auml;hlte API</td></tr>
<tr><td><code>location</code></td><td>Ort, f&uuml;r den das Wetter vorhergesagt wird. <tr><td><code>location</code></td><td>Ort, f&uuml;r den das Wetter vorhergesagt wird.
@@ -338,7 +324,7 @@ __END__
Eine ganz einfache Definition ist:<br><br> Eine ganz einfache Definition ist:<br><br>
<code>define &lt;name&gt; Weather apikey=&lt;DarkSkyAPISecretKey&gt;</code><br><br> <code>define &lt;name&gt; Weather apikey=&lt;OpenWeatherMapAPISecretKey&gt;</code><br><br>
Bei dieser Definition wird die API von Dark Sky verwendet mit einem Bei dieser Definition wird die API von Dark Sky verwendet mit einem
individuellen Schl&uuml;ssel, den man sich auf der Webseite von Dark Sky individuellen Schl&uuml;ssel, den man sich auf der Webseite von Dark Sky
@@ -353,20 +339,6 @@ __END__
Es folgt die API-spezifische Dokumentation.<p></p> Es folgt die API-spezifische Dokumentation.<p></p>
<h4>Dark Sky</h4><p></p>
<table>
<tr><td>API</td><td><code>DarkSkyAPI</code></td></tr>
<tr><td>apioptions</td><td><code>cachemaxage:&lt;cachemaxage&gt;</code><br>Zeitdauer in
Sekunden, innerhalb derer die Wettervorhersage nicht neu abgerufen
sondern aus dem Cache zur&uuml;ck geliefert wird.</td></tr>
<tr><td>location</td><td><code>&lt;latitude,longitude&gt;</code><br> Geographische Breite
und L&auml;nge des Ortes in Grad, f&uuml;r den das Wetter vorhergesagt wird.
Bei fehlender Angabe werden die Werte aus den gleichnamigen Attributen
des <code>global</code>-Device genommen, sofern vorhanden.</td></tr>
</table>
<p></p>
<h4>OpenWeatherMap</h4><p></p> <h4>OpenWeatherMap</h4><p></p>
<table> <table>
@@ -539,13 +511,12 @@ __END__
"fhem-mod-device", "fhem-mod-device",
"fhem-core", "fhem-core",
"Weather", "Weather",
"DarkSky",
"OpenWeatherMap", "OpenWeatherMap",
"Underground" "Underground"
], ],
"release_status": "stable", "release_status": "stable",
"license": "GPL_2", "license": "GPL_2",
"version": "v2.2.35", "version": "v2.3.0",
"author": [ "author": [
"Marko Oldenburg <fhemdevelopment@cooltux.net>" "Marko Oldenburg <fhemdevelopment@cooltux.net>"
], ],

View File

@@ -1,4 +1,4 @@
UPD 2025-02-05_05:56:41 25899 FHEM/59_Weather.pm UPD 2025-10-14_07:34:42 24515 FHEM/59_Weather.pm
UPD 2025-10-14_06:51:10 34175 lib/FHEM/Core/Weather.pm UPD 2025-10-14_07:20:30 34175 lib/FHEM/Core/Weather.pm
UPD 2025-10-14_07:00:04 33545 lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm UPD 2025-10-14_07:25:36 33545 lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm
UPD 2025-10-14_07:03:17 38721 lib/FHEM/APIs/Weather/wundergroundAPI.pm UPD 2025-10-14_07:20:30 38721 lib/FHEM/APIs/Weather/wundergroundAPI.pm

View File

@@ -1029,7 +1029,7 @@ sub _strftimeWrapper {
], ],
"release_status": "stable", "release_status": "stable",
"license": "GPL_2", "license": "GPL_2",
"version": "v3.2.7", "version": "v3.2.8",
"author": [ "author": [
"Marko Oldenburg <fhemdevelopment@cooltux.net>" "Marko Oldenburg <fhemdevelopment@cooltux.net>"
], ],