From 97b8a6edabc9f25b53b83a675e6d5b5d224fc94a Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 9 Jun 2021 13:23:28 +0200 Subject: [PATCH 01/24] fixing connection / interval / 404 error --- FHEM/73_GardenaSmartBridge.pm | 22 ++++++++++++++-------- controls_GardenaSmartDevice.txt | 4 ++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 6cda51d..87454bb 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -375,6 +375,7 @@ sub Notify { grep /^ATTR.$name.disable.0$/, @{$events} or grep /^DELETEATTR.$name.interval$/, @{$events} or grep /^ATTR.$name.interval.[0-9]+/, + @{$events} or grep /^DELETEATTR.$name.disable$/, @{$events} ) && $init_done @@ -385,7 +386,7 @@ sub Notify { && ( grep /^state:.Connected$/, @{$events} or grep /^lastRequestState:.request_error$/, - @{$events} + @{$events} ) ) { @@ -519,8 +520,8 @@ sub ErrorHandling { my $dname = $dhash->{NAME}; Log3 $name, 4, "GardenaSmartBridge ($name) - Request: $data"; - - my $decode_json = eval { decode_json($data) }; + + my $decode_json = eval { decode_json($data) } if ( lc $param->{'method'} ne 'put' ); if ($@) { Log3 $name, 3, "GardenaSmartBridge ($name) - JSON error while request"; } @@ -981,8 +982,8 @@ sub getDevices { my $hash = shift; my $name = $hash->{NAME}; - - RemoveInternalTimer($hash); + + RemoveInternalTimer($hash); if ( not IsDisabled($name) ) { @@ -992,12 +993,17 @@ sub getDevices { for my $gardenaDev (@list){ push( @{ $hash->{helper}{deviceList} }, $gardenaDev ); } - Write( $hash, undef, undef, undef ); + if ( AttrVal( $name, 'gardenaAccountEmail', 'none' ) ne 'none' + && ( + defined( ReadPassword( $hash, $name ) ) + )) + { + Write( $hash, undef, undef, undef ); Log3 $name, 4, "GardenaSmartBridge ($name) - fetch device list and device states"; + } # fi gardenaAccountEmail } else { - readingsSingleUpdate( $hash, 'state', 'disabled', 1 ); Log3 $name, 3, "GardenaSmartBridge ($name) - device is disabled"; } @@ -1488,7 +1494,7 @@ sub DeletePassword { ], "release_status": "stable", "license": "GPL_2", - "version": "v2.4.2", + "version": "v2.4.3", "author": [ "Marko Oldenburg " ], diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 2894bc2..87be818 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-05_18:47:30 46871 FHEM/73_GardenaSmartBridge.pm -UPD 2021-06-05_09:32:03 55505 FHEM/74_GardenaSmartDevice.pm +UPD 2021-06-09_13:23:15 47174 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 44a251f7f7d78bc9b2f3d62915e0c803913e83b5 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 11 Jun 2021 19:05:54 +0200 Subject: [PATCH 02/24] fix json error by empty response, add test log level 1 for notify --- FHEM/73_GardenaSmartBridge.pm | 4 ++-- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 87454bb..2e00aef 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -343,7 +343,7 @@ sub Notify { my $devtype = $dev->{TYPE}; my $events = deviceEvents( $dev, 1 ); return if ( !$events ); - +Log3 $name, 1 , "AWAW: $devtype"; getToken($hash) if ( ( @@ -521,7 +521,7 @@ sub ErrorHandling { Log3 $name, 4, "GardenaSmartBridge ($name) - Request: $data"; - my $decode_json = eval { decode_json($data) } if ( lc $param->{'method'} ne 'put' ); + my $decode_json = eval { decode_json($data) } if ( length($data) > 0 ); if ($@) { Log3 $name, 3, "GardenaSmartBridge ($name) - JSON error while request"; } diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 87be818..d1e3020 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-09_13:23:15 47174 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-11_19:05:32 47194 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 70af6fd6a324070bb19a6ecec977f3d7dd3f3aa8 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 16 Jun 2021 10:11:12 +0200 Subject: [PATCH 03/24] fix token 404 --- FHEM/73_GardenaSmartBridge.pm | 29 +++++++++++------------------ controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 2e00aef..09240fc 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -63,7 +63,7 @@ use warnings; use POSIX; use FHEM::Meta; -#use Data::Dumper; +use Data::Dumper; use HttpUtils; @@ -343,7 +343,7 @@ sub Notify { my $devtype = $dev->{TYPE}; my $events = deviceEvents( $dev, 1 ); return if ( !$events ); -Log3 $name, 1 , "AWAW: $devtype"; + getToken($hash) if ( ( @@ -375,7 +375,6 @@ Log3 $name, 1 , "AWAW: $devtype"; grep /^ATTR.$name.disable.0$/, @{$events} or grep /^DELETEATTR.$name.interval$/, @{$events} or grep /^ATTR.$name.interval.[0-9]+/, - @{$events} or grep /^DELETEATTR.$name.disable$/, @{$events} ) && $init_done @@ -499,8 +498,8 @@ sub Write { "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: secret!, DATA: secret!, METHOD: $method" ); - # Log3($name, 3, - # "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: $header, DATA: $payload, METHOD: $method"); + Log3($name, 3, + "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: $header, DATA: $payload, METHOD: $method"); return; } @@ -998,7 +997,9 @@ sub getDevices { defined( ReadPassword( $hash, $name ) ) )) { + Log3 $name, 2, "Dumpe BeFORE".Dumper($hash); Write( $hash, undef, undef, undef ); + Log3 $name, 2, "Dumpe daNACH".Dumper($hash); Log3 $name, 4, "GardenaSmartBridge ($name) - fetch device list and device states"; } # fi gardenaAccountEmail @@ -1033,16 +1034,6 @@ sub getToken { if ( defined( $hash->{helper}{locations_id} ) && $hash->{helper}{locations_id} ); - # Write( - # $hash, - # '"sessions": {"email": "' - # . AttrVal( $name, 'gardenaAccountEmail', 'none' ) - # . '","password": "' - # . ReadPassword( $hash, $name ) . '"}', - # undef, - # undef - # ); - Write( $hash, '"data": {"type":"token", "attributes":{"username": "' @@ -1053,8 +1044,9 @@ sub getToken { undef ); -Log3 $name, 4, '"data": {"type":"token", "attributes":{"username": "' . AttrVal( $name, 'gardenaAccountEmail', 'none' ) . '","password": "' - . ReadPassword( $hash, $name ) . '", "client_id":"smartgarden-jwt-client"}}'; + Log3 $name, 4, '"data": {"type":"token", "attributes":{"username": "' + .AttrVal( $name, 'gardenaAccountEmail', 'none' ) . '","password": "' + .ReadPassword( $hash, $name ) . '", "client_id":"smartgarden-jwt-client"}}'; Log3 $name, 3, "GardenaSmartBridge ($name) - send credentials to fetch Token and locationId"; @@ -1226,7 +1218,8 @@ sub createHttpValueStrings { if ( exists( $hash->{helper}{user_id} ) && !defined( $hash->{helper}{locations_id} ) ); readingsSingleUpdate( $hash, 'state', 'fetch locationId', 1 ) - if ( !defined( $hash->{helper}{locations_id} ) ); + if ( exists( $hash->{helper}{user_id} ) + && !defined( $hash->{helper}{locations_id} ) ); $uri .= '/devices' if (!defined($abilities) && defined( $hash->{helper}{locations_id} ) ); diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index d1e3020..32f1a1b 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-11_19:05:32 47194 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-16_10:11:03 47021 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 33eb0ed01244d0d0359c17294c7411786ab88309 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 16 Jun 2021 10:11:52 +0200 Subject: [PATCH 04/24] comment Dumper --- FHEM/73_GardenaSmartBridge.pm | 8 +++----- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 09240fc..4ef4062 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -63,7 +63,7 @@ use warnings; use POSIX; use FHEM::Meta; -use Data::Dumper; +#use Data::Dumper; use HttpUtils; @@ -997,11 +997,9 @@ sub getDevices { defined( ReadPassword( $hash, $name ) ) )) { - Log3 $name, 2, "Dumpe BeFORE".Dumper($hash); Write( $hash, undef, undef, undef ); - Log3 $name, 2, "Dumpe daNACH".Dumper($hash); - Log3 $name, 4, - "GardenaSmartBridge ($name) - fetch device list and device states"; + Log3 $name, 4, + "GardenaSmartBridge ($name) - fetch device list and device states"; } # fi gardenaAccountEmail } else { diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 32f1a1b..de89960 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-16_10:11:03 47021 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-16_10:11:39 46915 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 08bb518e9ac3d803511fd779c4ebbe28465a9425 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 16 Jun 2021 20:05:53 +0200 Subject: [PATCH 05/24] removed debug stuff --- FHEM/73_GardenaSmartBridge.pm | 4 ++-- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 4ef4062..e16d1d1 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -498,8 +498,8 @@ sub Write { "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: secret!, DATA: secret!, METHOD: $method" ); - Log3($name, 3, - "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: $header, DATA: $payload, METHOD: $method"); + # Log3($name, 3, + # "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: $header, DATA: $payload, METHOD: $method"); return; } diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index de89960..c5f362d 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-16_10:11:39 46915 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-16_15:10:19 46917 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 0ec53ea1b305e06939704b22ddb87fdc8b5796f6 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 17 Jun 2021 19:17:27 +0200 Subject: [PATCH 06/24] add init --- FHEM/73_GardenaSmartBridge.pm | 1 + controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index e16d1d1..c5445cb 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -366,6 +366,7 @@ sub Notify { @{$events} ) ) + && $init_done ); getDevices($hash) diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index c5f362d..ab84305 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-16_15:10:19 46917 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-17_19:17:14 46937 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From acb482e37f4508f90d18461c5cac669f8d73eb5f Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 18 Jun 2021 12:35:39 +0200 Subject: [PATCH 07/24] pump version --- FHEM/73_GardenaSmartBridge.pm | 2 +- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index c5445cb..84ec4f4 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -1486,7 +1486,7 @@ sub DeletePassword { ], "release_status": "stable", "license": "GPL_2", - "version": "v2.4.3", + "version": "v2.4.4", "author": [ "Marko Oldenburg " ], diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index ab84305..1fa2055 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-17_19:17:14 46937 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-18_12:35:30 46937 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 6f0aee2a69a2242946327d867d67e87177c5d58a Mon Sep 17 00:00:00 2001 From: Sebastian Date: Sat, 19 Jun 2021 10:46:28 +0200 Subject: [PATCH 08/24] debug --- FHEM/73_GardenaSmartBridge.pm | 4 +++- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 84ec4f4..7546dd9 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -63,7 +63,7 @@ use warnings; use POSIX; use FHEM::Meta; -#use Data::Dumper; +use Data::Dumper; use HttpUtils; @@ -343,6 +343,8 @@ sub Notify { my $devtype = $dev->{TYPE}; my $events = deviceEvents( $dev, 1 ); return if ( !$events ); + + Log3 $name, 1, "[DEBUG - Teufelchen] : ".Dumper($hash). " -> ".Dumper($dev). " $devname , $devtype , event: ".Dumper($events); getToken($hash) if ( diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 1fa2055..5003b74 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-18_12:35:30 46937 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-19_10:43:30 47068 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From b6866dd44a787af35e49b86886fa2f087eff8730 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 21 Jun 2021 19:24:41 +0200 Subject: [PATCH 09/24] add some function --- FHEM/73_GardenaSmartBridge.pm | 9 ++++++--- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 7546dd9..da92679 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -485,7 +485,8 @@ sub Write { HttpUtils_NonblockingGet( { url => $hash->{URL} . $uri, - timeout => 15, + timeout => 45, + incrementalTimeout => 1, hash => $hash, device_id => $deviceId, data => $payload, @@ -501,8 +502,8 @@ sub Write { "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: secret!, DATA: secret!, METHOD: $method" ); - # Log3($name, 3, - # "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: $header, DATA: $payload, METHOD: $method"); + Log3($name, 3, + "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: $header, DATA: $payload, METHOD: $method"); return; } @@ -535,6 +536,8 @@ sub ErrorHandling { readingsBulkUpdate( $dhash, "state", "$err" ) if ( ReadingsVal( $dname, "state", 1 ) ne "initialized" ); +Log3 $name, 1, "[DEBUG] - Teufelchen 2: ".$decode_json; + readingsBulkUpdate( $dhash, "lastRequestState", "request_error", 1 ); diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 5003b74..e75b9c9 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-19_10:43:30 47068 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-21_19:24:30 47160 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From a0d8125d32879d574c07e5438f7ed8a6b4b19761 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 21 Jun 2021 19:31:51 +0200 Subject: [PATCH 10/24] payload --- FHEM/73_GardenaSmartBridge.pm | 1 + controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index da92679..75c6432 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -1215,6 +1215,7 @@ sub createHttpValueStrings { $payload = '{' . $payload . '}' if ( defined($payload) ); $payload = '{}' if ( !defined($payload) ); +Log3 $name, 1, "[DEBUG] Teufelnchen 3: ".$payload; if ( $payload eq '{}' ) { $method = 'GET'; $payload = ''; diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index e75b9c9..ef36685 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-21_19:24:30 47160 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-21_19:31:45 47211 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 0adf1d8a3bb753f363f5d54cc378008ca6a0f66d Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 21 Jun 2021 19:36:18 +0200 Subject: [PATCH 11/24] fix --- FHEM/73_GardenaSmartBridge.pm | 1 + controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 75c6432..ba83c39 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -1215,6 +1215,7 @@ sub createHttpValueStrings { $payload = '{' . $payload . '}' if ( defined($payload) ); $payload = '{}' if ( !defined($payload) ); +my $name = $hash->{NAME}; Log3 $name, 1, "[DEBUG] Teufelnchen 3: ".$payload; if ( $payload eq '{}' ) { $method = 'GET'; diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index ef36685..e64066a 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-21_19:31:45 47211 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-21_19:36:14 47237 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From b0638c525e223abd88c1c42e3084a843a0cbdd55 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 21 Jun 2021 20:44:39 +0200 Subject: [PATCH 12/24] test --- FHEM/73_GardenaSmartBridge.pm | 37 +++++++++++++++++---------------- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index ba83c39..8589e42 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -235,10 +235,11 @@ sub Define { my $name = shift @$aArg; $hash->{BRIDGE} = 1; - $hash->{URL} = - AttrVal( $name, 'gardenaBaseURL', - 'https://smart.gardena.com' ) - . '/v1'; + $hash->{URL} = 'https://bff-api.sg.dss.husqvarnagroup.net/api/v1'; + # $hash->{URL} = + # AttrVal( $name, 'gardenaBaseURL', + # 'https://smart.gardena.com' ) + # . '/v1'; $hash->{VERSION} = version->parse($VERSION)->normal; $hash->{INTERVAL} = 60; $hash->{NOTIFYDEV} = "global,$name"; @@ -383,21 +384,21 @@ sub Notify { && $init_done ); - if ( - $devtype eq 'GardenaSmartBridge' - && ( - grep /^state:.Connected$/, - @{$events} or grep /^lastRequestState:.request_error$/, - @{$events} - ) - ) - { +# if ( +# $devtype eq 'GardenaSmartBridge' +# && ( +# grep /^state:.Connected$/, +# @{$events} or grep /^lastRequestState:.request_error$/, +# @{$events} +# ) +# ) +# { - InternalTimer( gettimeofday() + $hash->{INTERVAL}, - "FHEM::GardenaSmartBridge::getDevices", $hash ); - Log3 $name, 4, -"GardenaSmartBridge ($name) - set internal timer function for recall getDevices sub"; - } +# InternalTimer( gettimeofday() + $hash->{INTERVAL}, +# "FHEM::GardenaSmartBridge::getDevices", $hash ); +# Log3 $name, 4, +# "GardenaSmartBridge ($name) - set internal timer function for recall getDevices sub"; +# } return; } diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index e64066a..b22dde6 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-21_19:36:14 47237 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-21_20:44:35 47344 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 10718f1355de5ff61aaad53e4dd49dfa7d803da9 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 21 Jun 2021 20:46:23 +0200 Subject: [PATCH 13/24] hard post --- FHEM/73_GardenaSmartBridge.pm | 5 ++++- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 8589e42..797a4a4 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -1233,7 +1233,10 @@ Log3 $name, 1, "[DEBUG] Teufelnchen 3: ".$payload; } $uri = '/devices/'.InternalVal($hash->{helper}{debug_device}, 'DEVICEID', 0 ) if ( exists ($hash->{helper}{debug_device})); - $uri = '/auth/token' if ( !defined( $hash->{helper}{session_id} ) ); + if ( !defined( $hash->{helper}{session_id} ) ){ + $uri = '/auth/token'; + $method = 'POST'; + }; if ( defined( $hash->{helper}{locations_id} ) ) { if ( defined($abilities) && $abilities =~ /.*_settings/ ) { diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index b22dde6..bfd235a 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-21_20:44:35 47344 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-21_20:46:14 47382 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 65f031e1c28a487266b391cad4ed4a57d7043eaf Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 21 Jun 2021 21:18:34 +0200 Subject: [PATCH 14/24] fix2 --- FHEM/73_GardenaSmartBridge.pm | 45 +++++++++++++++------------------ controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 22 insertions(+), 25 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 797a4a4..54b264b 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -235,11 +235,10 @@ sub Define { my $name = shift @$aArg; $hash->{BRIDGE} = 1; - $hash->{URL} = 'https://bff-api.sg.dss.husqvarnagroup.net/api/v1'; - # $hash->{URL} = - # AttrVal( $name, 'gardenaBaseURL', - # 'https://smart.gardena.com' ) - # . '/v1'; + $hash->{URL} = + AttrVal( $name, 'gardenaBaseURL', + 'https://smart.gardena.com' ) + . '/v1'; $hash->{VERSION} = version->parse($VERSION)->normal; $hash->{INTERVAL} = 60; $hash->{NOTIFYDEV} = "global,$name"; @@ -384,21 +383,21 @@ sub Notify { && $init_done ); -# if ( -# $devtype eq 'GardenaSmartBridge' -# && ( -# grep /^state:.Connected$/, -# @{$events} or grep /^lastRequestState:.request_error$/, -# @{$events} -# ) -# ) -# { + if ( + $devtype eq 'GardenaSmartBridge' + && ( + grep /^state:.Connected$/, + @{$events} or grep /^lastRequestState:.request_error$/, + @{$events} + ) + ) + { -# InternalTimer( gettimeofday() + $hash->{INTERVAL}, -# "FHEM::GardenaSmartBridge::getDevices", $hash ); -# Log3 $name, 4, -# "GardenaSmartBridge ($name) - set internal timer function for recall getDevices sub"; -# } + InternalTimer( gettimeofday() + $hash->{INTERVAL}, + "FHEM::GardenaSmartBridge::getDevices", $hash ); + Log3 $name, 4, +"GardenaSmartBridge ($name) - set internal timer function for recall getDevices sub"; + } return; } @@ -1219,7 +1218,7 @@ sub createHttpValueStrings { my $name = $hash->{NAME}; Log3 $name, 1, "[DEBUG] Teufelnchen 3: ".$payload; if ( $payload eq '{}' ) { - $method = 'GET'; + $method = 'GET' if (defined( $hash->{helper}{session_id} ) ); $payload = ''; $uri .= '/locations?locatioId=null&user_id=' . $hash->{helper}{user_id} if ( exists( $hash->{helper}{user_id} ) @@ -1233,10 +1232,8 @@ Log3 $name, 1, "[DEBUG] Teufelnchen 3: ".$payload; } $uri = '/devices/'.InternalVal($hash->{helper}{debug_device}, 'DEVICEID', 0 ) if ( exists ($hash->{helper}{debug_device})); - if ( !defined( $hash->{helper}{session_id} ) ){ - $uri = '/auth/token'; - $method = 'POST'; - }; + $uri = '/auth/token' if ( !defined( $hash->{helper}{session_id} ) ); + if ( defined( $hash->{helper}{locations_id} ) ) { if ( defined($abilities) && $abilities =~ /.*_settings/ ) { diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index bfd235a..5998c4a 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-21_20:46:14 47382 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-21_21:13:21 47283 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 49ef217d128fdb06fc4b1a9e2b2b583c55d5643c Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 21 Jun 2021 22:44:38 +0200 Subject: [PATCH 15/24] initdone --- FHEM/73_GardenaSmartBridge.pm | 3 ++- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 54b264b..76279f5 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -344,7 +344,7 @@ sub Notify { my $events = deviceEvents( $dev, 1 ); return if ( !$events ); - Log3 $name, 1, "[DEBUG - Teufelchen] : ".Dumper($hash). " -> ".Dumper($dev). " $devname , $devtype , event: ".Dumper($events); + # Log3 $name, 1, "[DEBUG - Teufelchen] : ".Dumper($hash). " -> ".Dumper($dev). " $devname , $devtype , event: ".Dumper($events); getToken($hash) if ( @@ -1021,6 +1021,7 @@ sub getToken { my $name = $hash->{NAME}; + Log3 $name, 1, "[DEBUG] - Teufelchen 4: done ($init_done)"; return readingsSingleUpdate( $hash, 'state', 'please set Attribut gardenaAccountEmail first', 1 ) if ( AttrVal( $name, 'gardenaAccountEmail', 'none' ) eq 'none' ); diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 5998c4a..0adb987 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-21_21:13:21 47283 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-21_22:44:30 47349 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 71ef5799c263575b68bc588645c6cb9839eba6b0 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 28 Jun 2021 10:24:43 +0200 Subject: [PATCH 16/24] remove debug stuff --- FHEM/73_GardenaSmartBridge.pm | 15 +++++---------- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 76279f5..9b42511 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -63,7 +63,7 @@ use warnings; use POSIX; use FHEM::Meta; -use Data::Dumper; +#use Data::Dumper; use HttpUtils; @@ -344,8 +344,6 @@ sub Notify { my $events = deviceEvents( $dev, 1 ); return if ( !$events ); - # Log3 $name, 1, "[DEBUG - Teufelchen] : ".Dumper($hash). " -> ".Dumper($dev). " $devname , $devtype , event: ".Dumper($events); - getToken($hash) if ( ( @@ -485,7 +483,7 @@ sub Write { HttpUtils_NonblockingGet( { url => $hash->{URL} . $uri, - timeout => 45, + timeout => 15, incrementalTimeout => 1, hash => $hash, device_id => $deviceId, @@ -502,8 +500,8 @@ sub Write { "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: secret!, DATA: secret!, METHOD: $method" ); - Log3($name, 3, - "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: $header, DATA: $payload, METHOD: $method"); + # Log3($name, 3, + # "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: $header, DATA: $payload, METHOD: $method"); return; } @@ -517,7 +515,7 @@ sub ErrorHandling { my $name = $hash->{NAME}; my $dhash = $hash; - $dhash = $modules{GardenaSmartDevice}{defptr}{ $param->{'device_id'} } + $dhash = $modules{GardenaSmartDevice}{defptr}{ $param->{'device_id'} } if ( length($data) > 0 ); if ( defined( $param->{'device_id'} ) ); my $dname = $dhash->{NAME}; @@ -1021,7 +1019,6 @@ sub getToken { my $name = $hash->{NAME}; - Log3 $name, 1, "[DEBUG] - Teufelchen 4: done ($init_done)"; return readingsSingleUpdate( $hash, 'state', 'please set Attribut gardenaAccountEmail first', 1 ) if ( AttrVal( $name, 'gardenaAccountEmail', 'none' ) eq 'none' ); @@ -1216,8 +1213,6 @@ sub createHttpValueStrings { $payload = '{' . $payload . '}' if ( defined($payload) ); $payload = '{}' if ( !defined($payload) ); -my $name = $hash->{NAME}; -Log3 $name, 1, "[DEBUG] Teufelnchen 3: ".$payload; if ( $payload eq '{}' ) { $method = 'GET' if (defined( $hash->{helper}{session_id} ) ); $payload = ''; diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 0adb987..1814680 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-21_22:44:30 47349 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-28_10:14:08 47099 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 113dec655191f745a4151173ec45ebe5452c11bd Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 28 Jun 2021 10:27:23 +0200 Subject: [PATCH 17/24] cleanup code --- FHEM/73_GardenaSmartBridge.pm | 2 +- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index 9b42511..ac8ad55 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -515,7 +515,7 @@ sub ErrorHandling { my $name = $hash->{NAME}; my $dhash = $hash; - $dhash = $modules{GardenaSmartDevice}{defptr}{ $param->{'device_id'} } if ( length($data) > 0 ); + $dhash = $modules{GardenaSmartDevice}{defptr}{ $param->{'device_id'} }; if ( defined( $param->{'device_id'} ) ); my $dname = $dhash->{NAME}; diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 1814680..1313270 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-28_10:14:08 47099 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-28_10:26:27 47074 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 48e526a627c42a7d8c0497ae7e7f0028a30fc1fa Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 28 Jun 2021 10:47:51 +0200 Subject: [PATCH 18/24] fixup --- FHEM/73_GardenaSmartBridge.pm | 7 ++----- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index ac8ad55..d446edf 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -515,7 +515,7 @@ sub ErrorHandling { my $name = $hash->{NAME}; my $dhash = $hash; - $dhash = $modules{GardenaSmartDevice}{defptr}{ $param->{'device_id'} }; + $dhash = $modules{GardenaSmartDevice}{defptr}{ $param->{'device_id'} } if ( defined( $param->{'device_id'} ) ); my $dname = $dhash->{NAME}; @@ -534,8 +534,6 @@ sub ErrorHandling { readingsBulkUpdate( $dhash, "state", "$err" ) if ( ReadingsVal( $dname, "state", 1 ) ne "initialized" ); -Log3 $name, 1, "[DEBUG] - Teufelchen 2: ".$decode_json; - readingsBulkUpdate( $dhash, "lastRequestState", "request_error", 1 ); @@ -985,8 +983,7 @@ sub getDevices { my $hash = shift; my $name = $hash->{NAME}; - - RemoveInternalTimer($hash); + RemoveInternalTimer($hash); if ( not IsDisabled($name) ) { diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 1313270..575fb6c 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-28_10:26:27 47074 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-28_10:47:43 47009 FHEM/73_GardenaSmartBridge.pm UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm From 9d3ddb088b9930c18798423187fc8b0fe7d17f11 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 28 Jun 2021 16:11:39 +0200 Subject: [PATCH 19/24] add mower timestamp to readings --- FHEM/74_GardenaSmartDevice.pm | 14 ++++++++++++++ controls_GardenaSmartDevice.txt | 4 ++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/FHEM/74_GardenaSmartDevice.pm b/FHEM/74_GardenaSmartDevice.pm index d8e9d1a..176d087 100644 --- a/FHEM/74_GardenaSmartDevice.pm +++ b/FHEM/74_GardenaSmartDevice.pm @@ -653,6 +653,20 @@ sub WriteReadings { || $decode_json->{abilities}[$abilities]{name} . '-' . $propertie->{name} eq 'light-light' ) ); + + readingsBulkUpdateIfChanged( + $hash, + $decode_json->{abilities}[$abilities]{name} . '-' + . $propertie->{name} + . '_timestamp', + RigReadingsValue( $hash, $propertie->{timestamp} ) + ) + if ( + defined( $propertie->{value} ) + && ( $decode_json->{abilities}[$abilities]{name} . '-' + . $propertie->{name} eq 'mower_timer-mower_timer' + ) + readingsBulkUpdateIfChanged( $hash, diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 575fb6c..4fee53f 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2021-06-28_10:47:43 47009 FHEM/73_GardenaSmartBridge.pm -UPD 2021-06-09_09:52:26 55505 FHEM/74_GardenaSmartDevice.pm +UPD 2021-06-28_15:56:58 47009 FHEM/73_GardenaSmartBridge.pm +UPD 2021-06-28_16:11:26 56085 FHEM/74_GardenaSmartDevice.pm From cf93bbdba62ef6d4cd2785950df258bb00f508dc Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 28 Jun 2021 16:16:10 +0200 Subject: [PATCH 20/24] missed ); --- FHEM/74_GardenaSmartDevice.pm | 1 + controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/FHEM/74_GardenaSmartDevice.pm b/FHEM/74_GardenaSmartDevice.pm index 176d087..fd8292b 100644 --- a/FHEM/74_GardenaSmartDevice.pm +++ b/FHEM/74_GardenaSmartDevice.pm @@ -666,6 +666,7 @@ sub WriteReadings { && ( $decode_json->{abilities}[$abilities]{name} . '-' . $propertie->{name} eq 'mower_timer-mower_timer' ) + ); readingsBulkUpdateIfChanged( diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 4fee53f..55d9564 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ UPD 2021-06-28_15:56:58 47009 FHEM/73_GardenaSmartBridge.pm -UPD 2021-06-28_16:11:26 56085 FHEM/74_GardenaSmartDevice.pm +UPD 2021-06-28_16:15:56 56104 FHEM/74_GardenaSmartDevice.pm From 70c54892d871287836d1c1d90c4b94b13ffc4720 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 28 Jun 2021 20:11:18 +0200 Subject: [PATCH 21/24] change to unixtimestamp --- FHEM/74_GardenaSmartDevice.pm | 4 ++-- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/FHEM/74_GardenaSmartDevice.pm b/FHEM/74_GardenaSmartDevice.pm index fd8292b..ce951a6 100644 --- a/FHEM/74_GardenaSmartDevice.pm +++ b/FHEM/74_GardenaSmartDevice.pm @@ -659,7 +659,8 @@ sub WriteReadings { $decode_json->{abilities}[$abilities]{name} . '-' . $propertie->{name} . '_timestamp', - RigReadingsValue( $hash, $propertie->{timestamp} ) + Time::Piece->strptime(RigReadingsValue( $hash, $propertie->{timestamp} ), "%Y-%m-%d %H:%M:%S")->strftime('%s') + ) if ( defined( $propertie->{value} ) @@ -668,7 +669,6 @@ sub WriteReadings { ) ); - readingsBulkUpdateIfChanged( $hash, $decode_json->{abilities}[$abilities]{name} . '-' diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 55d9564..852aaca 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ UPD 2021-06-28_15:56:58 47009 FHEM/73_GardenaSmartBridge.pm -UPD 2021-06-28_16:15:56 56104 FHEM/74_GardenaSmartDevice.pm +UPD 2021-06-28_20:08:52 56188 FHEM/74_GardenaSmartDevice.pm From 4e52ea82150655bbd8393d3c374b73c9437484cc Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 12 Jul 2021 12:01:02 +0200 Subject: [PATCH 22/24] add payload propertie --- FHEM/74_GardenaSmartDevice.pm | 2 +- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/FHEM/74_GardenaSmartDevice.pm b/FHEM/74_GardenaSmartDevice.pm index ce951a6..d2bf554 100644 --- a/FHEM/74_GardenaSmartDevice.pm +++ b/FHEM/74_GardenaSmartDevice.pm @@ -412,7 +412,7 @@ sub Set { : lc $cmd ); - $payload = '"properties":{"value":"' . $val . '"}'; + $payload = '"properties":{"name":"power_timer", "value":"' . $val . '"}'; } ### Watering ic24 elsif ( $cmd =~ m{\AmanualDurationValve\d\z}xms ) { diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 852aaca..3ab01be 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ UPD 2021-06-28_15:56:58 47009 FHEM/73_GardenaSmartBridge.pm -UPD 2021-06-28_20:08:52 56188 FHEM/74_GardenaSmartDevice.pm +UPD 2021-07-12_11:56:06 56210 FHEM/74_GardenaSmartDevice.pm From a856bb574a03ec70b124cf1fd5c2a815fdeed499 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 13 Jul 2021 17:22:03 +0200 Subject: [PATCH 23/24] fix empty arg array condition --- FHEM/74_GardenaSmartDevice.pm | 2 +- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/FHEM/74_GardenaSmartDevice.pm b/FHEM/74_GardenaSmartDevice.pm index d2bf554..db63b3a 100644 --- a/FHEM/74_GardenaSmartDevice.pm +++ b/FHEM/74_GardenaSmartDevice.pm @@ -407,7 +407,7 @@ sub Set { } elsif ( lc $cmd eq 'on' || lc $cmd eq 'off' || lc $cmd eq 'on-for-timer' ) { my $val = ( - defined($aArg) && ref($aArg) eq 'ARRAY' + scalar(!@$aArg == 0) && ref($aArg) eq 'ARRAY' ? $aArg->[0] * 60 : lc $cmd ); diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 3ab01be..4507d86 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ UPD 2021-06-28_15:56:58 47009 FHEM/73_GardenaSmartBridge.pm -UPD 2021-07-12_11:56:06 56210 FHEM/74_GardenaSmartDevice.pm +UPD 2021-07-13_17:21:48 56216 FHEM/74_GardenaSmartDevice.pm From 12c4a0d5ba69273153e04593ab8e5257a641e0b6 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 16 Jul 2021 20:26:16 +0200 Subject: [PATCH 24/24] increase slider to 720 --- FHEM/74_GardenaSmartDevice.pm | 2 +- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/FHEM/74_GardenaSmartDevice.pm b/FHEM/74_GardenaSmartDevice.pm index db63b3a..801e015 100644 --- a/FHEM/74_GardenaSmartDevice.pm +++ b/FHEM/74_GardenaSmartDevice.pm @@ -502,7 +502,7 @@ sub Set { if ( AttrVal( $name, 'model', 'unknown' ) eq 'sensor' && ReadingsVal($name, 'device_info-category', 'unknown') eq 'sensor' ); - $list .= 'on:noArg off:noArg on-for-timer:slider,0,1,60' + $list .= 'on:noArg off:noArg on-for-timer:slider,0,1,720' if ( AttrVal( $name, 'model', 'unknown' ) eq 'power' ); # all devices has abilitie to fall a sleep $list .= ' winter_mode:awake,hibernate'; diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 4507d86..504f087 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ UPD 2021-06-28_15:56:58 47009 FHEM/73_GardenaSmartBridge.pm -UPD 2021-07-13_17:21:48 56216 FHEM/74_GardenaSmartDevice.pm +UPD 2021-07-16_20:26:01 56217 FHEM/74_GardenaSmartDevice.pm