diff --git a/FHEM/73_GardenaSmartBridge.pm b/FHEM/73_GardenaSmartBridge.pm index fe21726..9e6bde2 100644 --- a/FHEM/73_GardenaSmartBridge.pm +++ b/FHEM/73_GardenaSmartBridge.pm @@ -1059,6 +1059,14 @@ sub WriteReadings { if ( ref($v) eq 'ARRAY' ); #$v = encode_utf8($v); + $v = ' ' if (!defined $v); + Log3 $name, 4, "Gardena DEBUG DEBUG DEBUG stage 1 ".$decode_json->{abilities}[0]{properties}[$properties]{name} if ( $decode_json->{abilities}[0]{properties}[$properties] + {name} !~ /ethernet_status|wifi_status/ ); + Log3 $name, 4, "Gardena DEBUG DEBUG DEBUG stage 2".$t if ( $decode_json->{abilities}[0]{properties}[$properties] + {name} !~ /ethernet_status|wifi_status/ ); + Log3 $name, 4, "Gardena DEBUG DEBUG DEBUG stage 3".$v if ( $decode_json->{abilities}[0]{properties}[$properties] + {name} !~ /ethernet_status|wifi_status/ ); + readingsBulkUpdateIfChanged( $hash, $decode_json->{abilities}[0]{properties}[$properties] @@ -1315,17 +1323,16 @@ sub createHttpValueStrings { } # park until next schedules or override elsif (defined($abilities) && defined($payload) - && $abilities eq 'mower_timer' ) + && $abilities eq 'mower' ) { my $valve_id; - $method = 'PUT'; - + $uri .= '/devices/' . $deviceId . '/abilities/' . $abilities - . '/properties/mower_timer'; + . '/commands/manual_start'; } elsif (defined($abilities) @@ -1561,7 +1568,7 @@ sub DeletePassword { ], "release_status": "stable", "license": "GPL_2", - "version": "v2.6.1", + "version": "v2.6.2", "author": [ "Marko Oldenburg " ], diff --git a/FHEM/74_GardenaSmartDevice.pm b/FHEM/74_GardenaSmartDevice.pm index 68f4a7d..d80d4f2 100644 --- a/FHEM/74_GardenaSmartDevice.pm +++ b/FHEM/74_GardenaSmartDevice.pm @@ -72,9 +72,9 @@ use SetExtensions; # try to use JSON::MaybeXS wrapper # for chance of better performance + open code eval { - require JSON::MaybeXS; - import JSON::MaybeXS qw( decode_json encode_json ); - 1; + require JSON::MaybeXS; + import JSON::MaybeXS qw( decode_json encode_json ); + 1; } or do { # try to use JSON wrapper @@ -324,8 +324,8 @@ sub Set { elsif ( lc $cmd eq 'parkuntilnexttimer' ) { $payload = '"name":"park_until_next_timer"'; if ( $mainboard_version > 10.30 ) { - $payload = '"properties":{"name":"mower_timer","value":0}'; - $abilities = 'mower_timer'; + $payload = '"mowerTimer":0,"startingPointDistance":null,"areaId":null'; + $abilities = 'mower'; } } elsif ( lc $cmd eq 'startresumeschedule' ) { @@ -339,13 +339,13 @@ sub Set { } } elsif ( lc $cmd eq 'startoverridetimer' ) { - $payload = '"name":"start_override_timer","parameters":{"duration":' - . $aArg->[0] * 60 . '}'; - if ( $mainboard_version > 10.30 ) { - $payload = '"properties":{"name":"mower_timer","value":' - . $aArg->[0] * 60 . '}'; - $abilities = 'mower_timer'; - } + # $payload = '"name":"start_override_timer","parameters":{"duration":' + # . $aArg->[0] * 60 . '}'; + # if ( $mainboard_version > 10.30 ) { + $payload = '"startingPointDistance":null,"areaId":null, "mowerTimer": ' + . $aArg->[0] * 60; + $abilities = 'mower'; + # } removed code < 10.30 api changes March 2024 } elsif ( lc $cmd eq 'startpoint' ) { @@ -617,7 +617,8 @@ sub Set { # all devices has abilitie to fall a sleep $list .= ' winter_mode:awake,hibernate'; - return SetExtensions($hash, $list, $name, $cmd, @$aArg); + return SetExtensions( $hash, $list, $name, $cmd, @$aArg ); + # return "Unknown argument $cmd, choose one of $list"; } @@ -1688,7 +1689,7 @@ sub SetPredefinedStartPoints { pump. Schedules can be disabled/enabled via fhem, defining or deleting them must be done via Gardena App or its web interface.

-
+
  • parkUntilFurtherNotice - park mower and disable schedule
  • parkUntilNextTimer - park mower until next schedule
  • @@ -2154,7 +2155,7 @@ sub SetPredefinedStartPoints { Steckdosen-Adapter und Pumpe. Zeitpläne können über fhem pausiert/aktiviert werden, das Anlegen oder Löschen erfolgt derzeit nur über die App oder deren Web-Frontend. -
    +
  • parkUntilFurtherNotice - Parken des Mähers und Aussetzen des Zeitplans
  • parkUntilNextTimer - Parken bis zum nächsten Start nach Zeitplan
  • @@ -2683,7 +2684,7 @@ sub SetPredefinedStartPoints { ], "release_status": "stable", "license": "GPL_2", - "version": "v2.6.1", + "version": "v2.6.2", "author": [ "Marko Oldenburg " ], diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index a0a0042..a453629 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ -UPD 2023-11-12_19:47:27 48890 FHEM/73_GardenaSmartBridge.pm -UPD 2023-11-05_21:51:38 126419 FHEM/74_GardenaSmartDevice.pm +UPD 2024-03-18_10:15:10 48866 FHEM/73_GardenaSmartBridge.pm +UPD 2024-03-17_20:57:32 126450 FHEM/74_GardenaSmartDevice.pm \ No newline at end of file