Compare commits
	
		
			68 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 437d04b87c | |||
| 82d0e6b1b6 | |||
| e84d810e39 | |||
| dbd7d760aa | |||
| 75f92aece3 | |||
| 14644b8575 | |||
| f37a24673c | |||
| d313cb8d4a | |||
| 2e3210c438 | |||
| 2db8db3b89 | |||
| af36bed895 | |||
| ba898624c5 | |||
| 12595b3674 | |||
| f7234b10f8 | |||
| be3fb7bbfc | |||
| 23bbc9f9b0 | |||
| e60509fbfd | |||
| aafeea4d5f | |||
| c6b6a12e47 | |||
| b57f538bc3 | |||
| 464ba0bec3 | |||
| 2b96be4e6e | |||
| d07297bcd8 | |||
| af786290bc | |||
| 478c4a3159 | |||
| 6a38b446a9 | |||
| 00c0a2a87e | |||
| 0a47226436 | |||
| e9fb9357a9 | |||
| ce875a8beb | |||
| d0157fb2c7 | |||
| eb134a19e9 | |||
| cfd255569f | |||
| b1de4b52da | |||
| 6b6c066a9b | |||
| 530fc01d57 | |||
| 7d7cbef4ed | |||
| 8b9bbd4f98 | |||
| 2a06821252 | |||
| 9868f74a86 | |||
| d2e93a6d5a | |||
| c27d51534c | |||
| 5bfd1c49d9 | |||
| 0f1af75a9e | |||
| 70a402f096 | |||
| 245fc455e1 | |||
| 1683fab2d4 | |||
| 33763032c6 | |||
| 2afb98f9b9 | |||
| 38091aacd1 | |||
| 30dd03cbea | |||
| 43e3fcb237 | |||
| 5f611555e3 | |||
| a3fa194cdd | |||
| baa48a79a4 | |||
| 2601a42643 | |||
| cfd8ff9ea1 | |||
| be3352e462 | |||
| fb5087803b | |||
| e3b9f512b9 | |||
| 99b46338ca | |||
| a78a1a986d | |||
| 62df910faa | |||
| f96c557a22 | |||
| 4eeb71e8bc | |||
| eeea03d2df | |||
| 2e8acfff0b | |||
| c29f48a282 | 
							
								
								
									
										469
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										469
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -1,4 +1,471 @@ | |||||||
| ### fix: bugfix function WeatherAsHtmlD not working (HEAD -> patch-WeatherAsHtmlD) | ### 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) | ||||||
|  |  | ||||||
|  | >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 | ||||||
|  | >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 | ||||||
|  |  | ||||||
|  | >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, enhancing code readability and | ||||||
|  | maintainability. The attribute handling in the `Attr` subroutine | ||||||
|  | was also refactored for clarity, removing unnecessary usage | ||||||
|  | of `given/when`, which helps reduce complexity throughout | ||||||
|  | the codebase. | ||||||
|  |  | ||||||
|  | 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 to improve readability | ||||||
|  | >Tue, 14 Oct 2025 07:01:07 +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, enhancing code readability and | ||||||
|  | maintainability. Additionally, the attribute handling in the | ||||||
|  | `Attr` subroutine was refactored for clarity, removing | ||||||
|  | unnecessary usage of `given/when`, which helps reduce | ||||||
|  | complexity across the codebase. | ||||||
|  |  | ||||||
|  | Furthermore, in the OpenWeatherMapAPI module, logic for | ||||||
|  | handling weather response data was streamlined by removing | ||||||
|  | the `given/when` statements in favor of `if` conditions. | ||||||
|  | This change eliminates potential confusion and enhances | ||||||
|  | the clarity of the code logic. No breaking changes were | ||||||
|  | introduced; the overall functionality remains intact. | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Refactor language initialization and attribute handling | ||||||
|  | >Tue, 14 Oct 2025 06:53:44 +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. This change enhances code | ||||||
|  | readability and maintainability, making it easier to follow | ||||||
|  | the flow of language assignments. | ||||||
|  |  | ||||||
|  | Additionally, refactored attribute handling in the `Attr` | ||||||
|  | subroutine by streamlining the conditions, removing | ||||||
|  | unnecessary `given/when` usage, and maintaining clarity | ||||||
|  | in the logic for setting and deleting forecasts and alerts. | ||||||
|  | These changes help reduce complexity and improve | ||||||
|  | consistency throughout the codebase. | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### ``` Refactor pre-commit hook by removing DarkSkyAPI references | ||||||
|  | >Wed, 5 Feb 2025 07:08:45 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | Updated the pre-commit hook to eliminate references to | ||||||
|  | 'lib/FHEM/APIs/Weather/DarkSkyAPI.pm'. This change was made to | ||||||
|  | simplify the codebase and make it more relevant by focusing on | ||||||
|  | the other weather API files. | ||||||
|  |  | ||||||
|  | Additionally, the output formatting of the pre-commit hook | ||||||
|  | has been improved for better readability, and the order of | ||||||
|  | the files in the @filenames array has been restructured for | ||||||
|  | clarity. | ||||||
|  |  | ||||||
|  | No breaking changes have been introduced; the pre-commit | ||||||
|  | hook continues to operate as intended. | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### ``` Refactor pre-commit hook file list and output formatting | ||||||
|  | >Wed, 5 Feb 2025 07:07:52 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | Updated the list of files in the pre-commit hook to remove | ||||||
|  | references to 'lib/FHEM/APIs/Weather/DarkSkyAPI.pm' and adjusted | ||||||
|  | the output formatting for better readability. The order of the | ||||||
|  | files in the @filenames array has been restructured for clarity. | ||||||
|  | These changes were necessary to ensure our code base focuses on | ||||||
|  | the more relevant weather API files. | ||||||
|  |  | ||||||
|  | No breaking changes introduced; the pre-commit hook continues to | ||||||
|  | function as intended. | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### docs: add changelog | ||||||
|  | >Tue, 4 Feb 2025 21:27:10 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### docs: fix unbalanced p | ||||||
|  | >Tue, 4 Feb 2025 21:26:52 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### docs: add changelog | ||||||
|  | >Tue, 4 Feb 2025 21:01:33 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### feat: remove DarkSky, change versions remove DarkSkyAPI, no longer supported change Copyright years and versions of OWM API | ||||||
|  | >Tue, 4 Feb 2025 21:01:17 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | [Ticket: no] | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### docs: changelog | ||||||
|  | >Tue, 4 Feb 2025 20:53:14 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | [Ticket: no] | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### fix: apply patch from stefanru https://forum.fhem.de/index.php?msg=1332884 | ||||||
|  | >Tue, 4 Feb 2025 20:52:52 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | [Ticket: no] | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### docs: new CHANGELOG | ||||||
|  | >Fri, 11 Oct 2024 12:04:37 +0200 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### docs: change versions and add copyright | ||||||
|  | >Fri, 11 Oct 2024 12:04:07 +0200 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### docs: Changelog | ||||||
|  | >Fri, 11 Oct 2024 07:07:57 +0200 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | [Ticket: no] | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### fix: Update forecast with cachemaxage after API calls are down. special thanks to stefanru (forum) | ||||||
|  | >Fri, 11 Oct 2024 06:59:53 +0200 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | [Ticket: no] | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### test: add new CHANGELOG | ||||||
|  | >Sat, 21 Oct 2023 08:59:11 +0200 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### feat: new reading owmAPICode for original code | ||||||
|  | >Tue, 11 Jul 2023 14:10:13 +0200 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | [Ticket: no] | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### feat: add human-readable text of daily forecast | ||||||
|  | >Tue, 6 Jun 2023 08:35:06 +0200 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | add the proper human-readable text description of the daily forecast | ||||||
|  |  | ||||||
|  | [Ticket: no] | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### add temperatur reading and fix weblink | ||||||
|  | >Tue, 23 May 2023 08:08:42 +0200 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (oldenburg@b1-systems.de) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (oldenburg@b1-systems.de) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### fix: missing perl modules | ||||||
|  | >Sun, 5 Feb 2023 09:26:04 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### fix: failed then Readonly is missing | ||||||
|  | >Sun, 5 Feb 2023 09:20:20 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### fix: : Undefined subroutine | ||||||
|  | >Thu, 2 Feb 2023 22:58:40 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | &FHEM::Core::Weather::DeleteForecastreadings | ||||||
|  |  | ||||||
|  | [Ticket: #46] | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### docs: add new entry in CHANGELOG.md (tag: v2.2.22) | ||||||
|  | >Tue, 10 Jan 2023 21:44:20 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### build: v2.2.22 | ||||||
|  | >Tue, 10 Jan 2023 21:43:26 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### docs: add new modul path in to pre-commit | ||||||
|  | >Tue, 10 Jan 2023 21:37:10 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | add new modul path in to pre-commit hook file | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### revert: mod packages | ||||||
|  | >Tue, 10 Jan 2023 21:32:56 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | - packages Weather.pm | ||||||
|  | - split FHEM/59_Weather.pm in two files and packages (FEHM/59_Weather.pm | ||||||
|  | and FHEM/Core/Weather.pm | ||||||
|  |  | ||||||
|  | [optional body] | ||||||
|  |  | ||||||
|  | [Ticket: no] | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### fix: #40 | ||||||
|  | >Tue, 10 Jan 2023 16:09:53 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | Undefined subroutine &FHEM::APIs::Weather::DarkSkyAPI::__strftimeWrapper | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### docs: add new changelog and change version (tag: v2.2.21) | ||||||
|  | >Sun, 8 Jan 2023 21:56:15 +0100 | ||||||
|  |  | ||||||
|  | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  | >Commiter: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### fix: bugfix function WeatherAsHtmlD not working | ||||||
| >Sun, 8 Jan 2023 21:54:31 +0100 | >Sun, 8 Jan 2023 21:54:31 +0100 | ||||||
|  |  | ||||||
| >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | >Author: Marko Oldenburg (fhemdevelopment@cooltux.net) | ||||||
|   | |||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1171
									
								
								FHEM/59_Weather.pm
									
									
									
									
									
								
							
							
						
						
									
										1171
									
								
								FHEM/59_Weather.pm
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| UPD 2023-01-08_21:52:20 57800 FHEM/59_Weather.pm | UPD 2025-10-16_18:59:55 24515 FHEM/59_Weather.pm | ||||||
| UPD 2023-01-08_17:15:24 50104 lib/FHEM/APIs/Weather/DarkSkyAPI.pm | UPD 2025-10-16_18:59:41 34158 lib/FHEM/Core/Weather.pm | ||||||
| UPD 2023-01-08_17:15:24 33411 lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm | UPD 2025-10-14_07:39:57 33545 lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm | ||||||
| UPD 2023-01-07_19:00:05 36090 lib/FHEM/APIs/Weather/wundergroundAPI.pm | UPD 2025-10-14_07:20:30 38721 lib/FHEM/APIs/Weather/wundergroundAPI.pm | ||||||
|   | |||||||
| @@ -4,8 +4,9 @@ use File::Basename; | |||||||
| use POSIX qw(strftime); | use POSIX qw(strftime); | ||||||
| use strict; | use strict; | ||||||
|  |  | ||||||
| my @filenames = (   'FHEM/59_Weather.pm', | my @filenames = ( | ||||||
| 		    'lib/FHEM/APIs/Weather/DarkSkyAPI.pm', |     'FHEM/59_Weather.pm', | ||||||
|  |     'lib/FHEM/Core/Weather.pm', | ||||||
|     'lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm', |     'lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm', | ||||||
|     'lib/FHEM/APIs/Weather/wundergroundAPI.pm', |     'lib/FHEM/APIs/Weather/wundergroundAPI.pm', | ||||||
| ); | ); | ||||||
| @@ -18,7 +19,8 @@ for my  $filename (@filenames) { | |||||||
|     my @statOutput = stat($filename); |     my @statOutput = stat($filename); | ||||||
|  |  | ||||||
|     if ( scalar @statOutput != 13 ) { |     if ( scalar @statOutput != 13 ) { | ||||||
|         printf 'error: stat has unexpected return value for ' . $filename . "\n"; |         printf 'error: stat has unexpected return value for ' | ||||||
|  |           . $filename . "\n"; | ||||||
|         next; |         next; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -3,7 +3,7 @@ | |||||||
| # | # | ||||||
| # Developed with VSCodium and richterger perl plugin | # Developed with VSCodium and richterger perl plugin | ||||||
| # | # | ||||||
| #  (c) 2019-2023 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net) | #  (c) 2019-2025 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net) | ||||||
| #  All rights reserved | #  All rights reserved | ||||||
| # | # | ||||||
| #   Special thanks goes to: | #   Special thanks goes to: | ||||||
| @@ -41,7 +41,8 @@ use FHEM::Meta; | |||||||
|  |  | ||||||
| use POSIX; | use POSIX; | ||||||
| use HttpUtils; | use HttpUtils; | ||||||
| use experimental qw /switch/; |  | ||||||
|  | #use experimental qw /switch/; | ||||||
|  |  | ||||||
| my $META = {}; | my $META = {}; | ||||||
| my $ret  = FHEM::Meta::getMetadata( __FILE__, $META ); | my $ret  = FHEM::Meta::getMetadata( __FILE__, $META ); | ||||||
| @@ -466,8 +467,7 @@ sub _FillSelfHashWithWeatherResponse { | |||||||
|     $self->{cached}->{city}          = encode_utf8( $data->{name} ); |     $self->{cached}->{city}          = encode_utf8( $data->{name} ); | ||||||
|     $self->{cached}->{license}{text} = 'none'; |     $self->{cached}->{license}{text} = 'none'; | ||||||
|  |  | ||||||
|     given ( $self->{endpoint} ) { |     if ( $self->{endpoint} eq 'onecall' ) { | ||||||
|         when ('onecall') { |  | ||||||
|         ## löschen des alten current Datensatzes |         ## löschen des alten current Datensatzes | ||||||
|         delete $self->{cached}->{current}; |         delete $self->{cached}->{current}; | ||||||
|  |  | ||||||
| @@ -484,28 +484,24 @@ sub _FillSelfHashWithWeatherResponse { | |||||||
|             && scalar( @{ $data->{hourly} } ) > 0 ) |             && scalar( @{ $data->{hourly} } ) > 0 ) | ||||||
|         { |         { | ||||||
|             $self = |             $self = | ||||||
|                   _FillSelfHashWithWeatherResponseForOnecallHourly( $self, |               _FillSelfHashWithWeatherResponseForOnecallHourly( $self, $data ); | ||||||
|                     $data ); |  | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if ( ref( $data->{daily} ) eq "ARRAY" |         if ( ref( $data->{daily} ) eq "ARRAY" | ||||||
|             && scalar( @{ $data->{daily} } ) > 0 ) |             && scalar( @{ $data->{daily} } ) > 0 ) | ||||||
|         { |         { | ||||||
|             $self = |             $self = | ||||||
|                   _FillSelfHashWithWeatherResponseForOnecallDaily( $self, |               _FillSelfHashWithWeatherResponseForOnecallDaily( $self, $data ); | ||||||
|                     $data ); |  | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if ( ref( $data->{alerts} ) eq "ARRAY" |         if ( ref( $data->{alerts} ) eq "ARRAY" | ||||||
|             && scalar( @{ $data->{alerts} } ) > 0 ) |             && scalar( @{ $data->{alerts} } ) > 0 ) | ||||||
|         { |         { | ||||||
|             $self = |             $self = | ||||||
|                   _FillSelfHashWithWeatherResponseForOnecallAlerts( $self, |               _FillSelfHashWithWeatherResponseForOnecallAlerts( $self, $data ); | ||||||
|                     $data ); |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |     elsif ( $self->{endpoint} eq 'weather' ) { | ||||||
|         when ('weather') { |  | ||||||
|         ## löschen des alten current Datensatzes |         ## löschen des alten current Datensatzes | ||||||
|         delete $self->{cached}->{current}; |         delete $self->{cached}->{current}; | ||||||
|  |  | ||||||
| @@ -515,8 +511,7 @@ sub _FillSelfHashWithWeatherResponse { | |||||||
|         $self = |         $self = | ||||||
|           _FillSelfHashWithWeatherResponseForWeatherCurrent( $self, $data ); |           _FillSelfHashWithWeatherResponseForWeatherCurrent( $self, $data ); | ||||||
|     } |     } | ||||||
|  |     elsif ( $self->{endpoint} eq 'forecast' ) { | ||||||
|         when ('forecast') { |  | ||||||
|         ## löschen des alten forecast Datensatzes |         ## löschen des alten forecast Datensatzes | ||||||
|         delete $self->{cached}->{forecast}; |         delete $self->{cached}->{forecast}; | ||||||
|  |  | ||||||
| @@ -524,9 +519,7 @@ sub _FillSelfHashWithWeatherResponse { | |||||||
|             and scalar( @{ $data->{list} } ) > 0 ) |             and scalar( @{ $data->{list} } ) > 0 ) | ||||||
|         { |         { | ||||||
|             $self = |             $self = | ||||||
|                   _FillSelfHashWithWeatherResponseForForecastHourly( $self, |               _FillSelfHashWithWeatherResponseForForecastHourly( $self, $data ); | ||||||
|                     $data ); |  | ||||||
|             } |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -591,6 +584,7 @@ sub _FillSelfHashWithWeatherResponseForWeatherCurrent { | |||||||
|         'wind_direction' => $data->{wind}->{deg}, |         'wind_direction' => $data->{wind}->{deg}, | ||||||
|         'cloudCover'     => $data->{clouds}->{all}, |         'cloudCover'     => $data->{clouds}->{all}, | ||||||
|         'code'           => $codes{ $data->{weather}->[0]->{id} }, |         'code'           => $codes{ $data->{weather}->[0]->{id} }, | ||||||
|  |         'owmAPICode'     => $data->{weather}->[0]->{id}, | ||||||
|         'iconAPI'        => $data->{weather}->[0]->{icon}, |         'iconAPI'        => $data->{weather}->[0]->{icon}, | ||||||
|         'sunsetTime'     => _strftimeWrapper( |         'sunsetTime'     => _strftimeWrapper( | ||||||
|             "%a, %e %b %Y %H:%M", |             "%a, %e %b %Y %H:%M", | ||||||
| @@ -670,6 +664,7 @@ sub _FillSelfHashWithWeatherResponseForForecastHourly { | |||||||
|                 ), |                 ), | ||||||
|                 'cloudCover' => $data->{list}->[$i]->{clouds}->{all}, |                 'cloudCover' => $data->{list}->[$i]->{clouds}->{all}, | ||||||
|                 'code' => $codes{ $data->{list}->[$i]->{weather}->[0]->{id} }, |                 'code' => $codes{ $data->{list}->[$i]->{weather}->[0]->{id} }, | ||||||
|  |                 'owmAPICode' => $data->{list}->[$i]->{weather}->[0]->{id}, | ||||||
|                 'iconAPI'    => $data->{list}->[$i]->{weather}->[0]->{icon}, |                 'iconAPI'    => $data->{list}->[$i]->{weather}->[0]->{icon}, | ||||||
|                 'rain1h'     => ( |                 'rain1h'     => ( | ||||||
|                       $data->{list}->[$i]->{rain}->{'1h'} |                       $data->{list}->[$i]->{rain}->{'1h'} | ||||||
| @@ -732,6 +727,7 @@ sub _FillSelfHashWithWeatherResponseForOnecallCurrent { | |||||||
|         'rain_1h'    => ( $data->{rain}->{'1h'} ? $data->{rain}->{'1h'} : 0 ), |         'rain_1h'    => ( $data->{rain}->{'1h'} ? $data->{rain}->{'1h'} : 0 ), | ||||||
|         'cloudCover' => $data->{current}->{clouds}, |         'cloudCover' => $data->{current}->{clouds}, | ||||||
|         'code'       => $codes{ $data->{current}->{weather}->[0]->{id} }, |         'code'       => $codes{ $data->{current}->{weather}->[0]->{id} }, | ||||||
|  |         'owmAPICode' => $data->{current}->{weather}->[0]->{id}, | ||||||
|         'iconAPI'    => $data->{current}->{weather}->[0]->{icon}, |         'iconAPI'    => $data->{current}->{weather}->[0]->{icon}, | ||||||
|         'condition'  => |         'condition'  => | ||||||
|           encode_utf8( $data->{current}->{weather}->[0]->{description} ), |           encode_utf8( $data->{current}->{weather}->[0]->{description} ), | ||||||
| @@ -788,6 +784,7 @@ sub _FillSelfHashWithWeatherResponseForOnecallDaily { | |||||||
|                 'moonset'    => strftime( |                 'moonset'    => strftime( | ||||||
|                     "%a, %H:%M", localtime( $data->{daily}->[$i]->{moonset} ) |                     "%a, %H:%M", localtime( $data->{daily}->[$i]->{moonset} ) | ||||||
|                 ), |                 ), | ||||||
|  |                 'summary'     => $data->{daily}->[$i]->{summary}, | ||||||
|                 'temperature' => |                 'temperature' => | ||||||
|                   int( sprintf( "%.0f", $data->{daily}->[$i]->{temp}->{day} ) ), |                   int( sprintf( "%.0f", $data->{daily}->[$i]->{temp}->{day} ) ), | ||||||
|                 'temperature_morn' => int( |                 'temperature_morn' => int( | ||||||
| @@ -833,6 +830,7 @@ sub _FillSelfHashWithWeatherResponseForOnecallDaily { | |||||||
|                     $data->{daily}->[$i]->{weather}->[0]->{description} |                     $data->{daily}->[$i]->{weather}->[0]->{description} | ||||||
|                 ), |                 ), | ||||||
|                 'code' => $codes{ $data->{daily}->[$i]->{weather}->[0]->{id} }, |                 'code' => $codes{ $data->{daily}->[$i]->{weather}->[0]->{id} }, | ||||||
|  |                 'owmAPICode' => $data->{daily}->[$i]->{weather}->[0]->{id}, | ||||||
|                 'iconAPI'    => $data->{daily}->[$i]->{weather}->[0]->{icon}, |                 'iconAPI'    => $data->{daily}->[$i]->{weather}->[0]->{icon}, | ||||||
|                 'pressure'   => int( |                 'pressure'   => int( | ||||||
|                     sprintf( "%.1f", $data->{daily}->[$i]->{pressure} ) + 0.5 |                     sprintf( "%.1f", $data->{daily}->[$i]->{pressure} ) + 0.5 | ||||||
| @@ -853,7 +851,6 @@ sub _FillSelfHashWithWeatherResponseForOnecallDaily { | |||||||
|                     sprintf( "%.1f", ( $data->{daily}->[$i]->{wind_deg} ) ) |                     sprintf( "%.1f", ( $data->{daily}->[$i]->{wind_deg} ) ) | ||||||
|                 ), |                 ), | ||||||
|                 'cloudCover' => $data->{daily}->[$i]->{clouds}, |                 'cloudCover' => $data->{daily}->[$i]->{clouds}, | ||||||
|                 'code' => $codes{ $data->{daily}->[$i]->{weather}->[0]->{id} }, |  | ||||||
|                 'rain'       => ( |                 'rain'       => ( | ||||||
|                     $data->{daily}->[$i]->{rain} ? $data->{daily}->[$i]->{rain} |                     $data->{daily}->[$i]->{rain} ? $data->{daily}->[$i]->{rain} | ||||||
|                     : 0 |                     : 0 | ||||||
| @@ -920,6 +917,7 @@ sub _FillSelfHashWithWeatherResponseForOnecallHourly { | |||||||
|                 'wind_direction' => $data->{hourly}->[$i]->{wind_deg}, |                 'wind_direction' => $data->{hourly}->[$i]->{wind_deg}, | ||||||
|                 'cloudCover'     => $data->{hourly}->[$i]->{clouds}, |                 'cloudCover'     => $data->{hourly}->[$i]->{clouds}, | ||||||
|                 'code' => $codes{ $data->{hourly}->[$i]->{weather}->[0]->{id} }, |                 'code' => $codes{ $data->{hourly}->[$i]->{weather}->[0]->{id} }, | ||||||
|  |                 'owmAPICode' => $data->{hourly}->[$i]->{weather}->[0]->{id}, | ||||||
|                 'iconAPI'    => $data->{hourly}->[$i]->{weather}->[0]->{icon}, |                 'iconAPI'    => $data->{hourly}->[$i]->{weather}->[0]->{icon}, | ||||||
|                 'rain1h'     => ( |                 'rain1h'     => ( | ||||||
|                       $data->{hourly}->[$i]->{rain}->{'1h'} |                       $data->{hourly}->[$i]->{rain}->{'1h'} | ||||||
| @@ -951,7 +949,7 @@ sub _CallWeatherCallbackFn { | |||||||
|  |  | ||||||
|     #     print 'Dumperausgabe: ' . Dumper $self; |     #     print 'Dumperausgabe: ' . Dumper $self; | ||||||
|     ### Aufruf der callbackFn |     ### Aufruf der callbackFn | ||||||
|     return ::Weather_RetrieveCallbackFn( $self->{devName} ); |     return FHEM::Core::Weather::RetrieveCallbackFn( $self->{devName} ); | ||||||
| } | } | ||||||
|  |  | ||||||
| sub _ErrorHandling { | sub _ErrorHandling { | ||||||
| @@ -1031,7 +1029,7 @@ sub _strftimeWrapper { | |||||||
| 	  ], | 	  ], | ||||||
|   "release_status": "stable", |   "release_status": "stable", | ||||||
|   "license": "GPL_2", |   "license": "GPL_2", | ||||||
|   "version": "v3.2.6", |   "version": "v3.2.8", | ||||||
|   "author": [ |   "author": [ | ||||||
|     "Marko Oldenburg <fhemdevelopment@cooltux.net>" |     "Marko Oldenburg <fhemdevelopment@cooltux.net>" | ||||||
|   ], |   ], | ||||||
|   | |||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1149
									
								
								lib/FHEM/Core/Weather.pm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1149
									
								
								lib/FHEM/Core/Weather.pm
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user