Compare commits
41 Commits
Author | SHA1 | Date | |
---|---|---|---|
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 |
166
CHANGELOG.md
166
CHANGELOG.md
@ -1,4 +1,166 @@
|
||||
### build: v2.2.22 (HEAD -> patch-package)
|
||||
### feat: remove DarkSky, change versions remove DarkSkyAPI, no longer supported change Copyright years and versions of OWM API (HEAD -> patch-changeVersion)
|
||||
>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)
|
||||
@ -8,7 +170,7 @@
|
||||
|
||||
|
||||
|
||||
### docs: add new modul path in to pre-commit (origin/patch-package)
|
||||
### docs: add new modul path in to pre-commit
|
||||
>Tue, 10 Jan 2023 21:37:10 +0100
|
||||
|
||||
>Author: Marko Oldenburg (fhemdevelopment@cooltux.net)
|
||||
|
File diff suppressed because one or more lines are too long
@ -2,12 +2,13 @@
|
||||
##############################################################################
|
||||
#
|
||||
# 59_Weather.pm
|
||||
# (c) 2009-2023 Copyright by Dr. Boris Neubert
|
||||
# (c) 2009-2025 Copyright by Dr. Boris Neubert
|
||||
# e-mail: omega at online dot de
|
||||
#
|
||||
# Contributors:
|
||||
# - Marko Oldenburg (CoolTux)
|
||||
# - Lippie
|
||||
# - stefanru (wundergroundAPI)
|
||||
#
|
||||
#
|
||||
# This file is part of fhem.
|
||||
@ -543,7 +544,7 @@ __END__
|
||||
],
|
||||
"release_status": "stable",
|
||||
"license": "GPL_2",
|
||||
"version": "v2.2.22",
|
||||
"version": "v2.2.35",
|
||||
"author": [
|
||||
"Marko Oldenburg <fhemdevelopment@cooltux.net>"
|
||||
],
|
||||
|
@ -1,5 +1,4 @@
|
||||
UPD 2023-01-10_21:41:34 25809 FHEM/59_Weather.pm
|
||||
UPD 2023-01-10_21:20:58 33948 lib/FHEM/Core/Weather.pm
|
||||
UPD 2023-01-10_21:25:52 50106 lib/FHEM/APIs/Weather/DarkSkyAPI.pm
|
||||
UPD 2023-01-10_21:25:49 33422 lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm
|
||||
UPD 2023-01-10_21:25:53 36101 lib/FHEM/APIs/Weather/wundergroundAPI.pm
|
||||
UPD 2025-02-04_20:57:25 25848 FHEM/59_Weather.pm
|
||||
UPD 2025-02-04_20:58:03 34419 lib/FHEM/Core/Weather.pm
|
||||
UPD 2025-02-04_20:58:29 33780 lib/FHEM/APIs/Weather/OpenWeatherMapAPI.pm
|
||||
UPD 2025-02-04_20:57:50 38751 lib/FHEM/APIs/Weather/wundergroundAPI.pm
|
||||
|
File diff suppressed because one or more lines are too long
@ -3,7 +3,7 @@
|
||||
#
|
||||
# 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
|
||||
#
|
||||
# Special thanks goes to:
|
||||
@ -423,7 +423,7 @@ sub _ProcessingRetrieveData {
|
||||
_ErrorHandling( $self,
|
||||
'OpenWeatherMap Weather decode JSON err ' . $@ );
|
||||
}
|
||||
elsif (defined( $data->{cod} )
|
||||
elsif ( defined( $data->{cod} )
|
||||
&& $data->{cod}
|
||||
&& $data->{cod} != 200
|
||||
&& defined( $data->{message} )
|
||||
@ -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} ),
|
||||
@ -788,6 +791,7 @@ sub _FillSelfHashWithWeatherResponseForOnecallDaily {
|
||||
'moonset' => strftime(
|
||||
"%a, %H:%M", localtime( $data->{daily}->[$i]->{moonset} )
|
||||
),
|
||||
'summary' => $data->{daily}->[$i]->{summary},
|
||||
'temperature' =>
|
||||
int( sprintf( "%.0f", $data->{daily}->[$i]->{temp}->{day} ) ),
|
||||
'temperature_morn' => int(
|
||||
@ -833,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(
|
||||
@ -853,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
|
||||
),
|
||||
@ -920,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
|
||||
@ -1031,7 +1036,7 @@ sub _strftimeWrapper {
|
||||
],
|
||||
"release_status": "stable",
|
||||
"license": "GPL_2",
|
||||
"version": "v3.2.6",
|
||||
"version": "v3.2.7",
|
||||
"author": [
|
||||
"Marko Oldenburg <fhemdevelopment@cooltux.net>"
|
||||
],
|
||||
|
File diff suppressed because one or more lines are too long
@ -2,12 +2,13 @@
|
||||
##############################################################################
|
||||
#
|
||||
# 59_Weather.pm
|
||||
# (c) 2009-2023 Copyright by Dr. Boris Neubert
|
||||
# (c) 2009-2025 Copyright by Dr. Boris Neubert
|
||||
# e-mail: omega at online dot de
|
||||
#
|
||||
# Contributors:
|
||||
# - Marko Oldenburg (CoolTux)
|
||||
# - Lippie
|
||||
# - stefanru (wundergroundAPI)
|
||||
#
|
||||
#
|
||||
# This file is part of fhem.
|
||||
@ -32,9 +33,18 @@ package FHEM::Core::Weather;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Time::HiRes qw(gettimeofday);
|
||||
my $missingModul = '';
|
||||
|
||||
eval { use Time::HiRes qw /gettimeofday/; 1 }
|
||||
or $missingModul .= "libtime-hires-perl ";
|
||||
|
||||
eval { use Readonly; 1 }
|
||||
or $missingModul .= "libreadonly-perl ";
|
||||
|
||||
#use Time::HiRes qw(gettimeofday);
|
||||
use experimental qw /switch/;
|
||||
use Readonly;
|
||||
|
||||
#use Readonly;
|
||||
|
||||
use FHEM::Meta;
|
||||
|
||||
@ -317,9 +327,7 @@ sub _ReturnWithError {
|
||||
return;
|
||||
}
|
||||
|
||||
sub _DeleteForecastreadings {
|
||||
return 0 unless ( __PACKAGE__ eq caller(0) );
|
||||
|
||||
sub DeleteForecastreadings {
|
||||
my $hash = shift;
|
||||
|
||||
my $name = $hash->{NAME};
|
||||
@ -426,8 +434,13 @@ sub _Writereadings {
|
||||
&& ref( $dataRef->{$r} ) ne 'ARRAY' );
|
||||
}
|
||||
|
||||
::readingsBulkUpdate( $hash, 'icon',
|
||||
$iconlist[ $dataRef->{current}->{code} ] );
|
||||
if ( defined( $dataRef->{current}->{code} )
|
||||
&& $dataRef->{current}->{code} )
|
||||
{
|
||||
::readingsBulkUpdate( $hash, 'icon',
|
||||
$iconlist[ $dataRef->{current}->{code} ] );
|
||||
}
|
||||
|
||||
if ( defined( $dataRef->{current}->{wind_direction} )
|
||||
&& $dataRef->{current}->{wind_direction}
|
||||
&& defined( $dataRef->{current}->{wind_speed} )
|
||||
@ -770,6 +783,12 @@ sub Define {
|
||||
return $@ unless ( FHEM::Meta::SetInternals($hash) );
|
||||
use version 0.60; our $VERSION = FHEM::Meta::Get( $hash, 'version' );
|
||||
|
||||
return
|
||||
'Cannot define Weather device. Please use "apt install '
|
||||
. ${missingModul}
|
||||
. ' to install missing perl modules'
|
||||
if ($missingModul);
|
||||
|
||||
my $usage =
|
||||
"syntax: define <name> Weather [API=<API>] [apikey=<apikey>] [location=<location>] [interval=<interval>] [lang=<lang>]";
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user