dev #97
@ -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 <fhemdevelopment@cooltux.net>"
|
||||
],
|
||||
|
@ -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.<br>
|
||||
</ul>
|
||||
<br>
|
||||
<div style="display: none">
|
||||
<div>
|
||||
<a id="GardenaSmartDevice-set"></a>
|
||||
<li><a id="GardenaSmartDevice-set-parkUntilFurtherNotice">parkUntilFurtherNotice</a> - park mower and disable schedule</li>
|
||||
<li><a id="GardenaSmartDevice-set-parkUntilNextTimer">parkUntilNextTimer</a> - park mower until next schedule</li>
|
||||
@ -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.
|
||||
</ul>
|
||||
<div style="display: none">
|
||||
<div>
|
||||
<a id="GardenaSmartDevice-set"></a>
|
||||
<li><a id="GardenaSmartDevice-set-parkUntilFurtherNotice">parkUntilFurtherNotice</a> - Parken des Mähers und Aussetzen des Zeitplans</li>
|
||||
<li><a id="GardenaSmartDevice-set-parkUntilNextTimer">parkUntilNextTimer</a> - Parken bis zum nächsten Start nach Zeitplan</li>
|
||||
@ -2683,7 +2684,7 @@ sub SetPredefinedStartPoints {
|
||||
],
|
||||
"release_status": "stable",
|
||||
"license": "GPL_2",
|
||||
"version": "v2.6.1",
|
||||
"version": "v2.6.2",
|
||||
"author": [
|
||||
"Marko Oldenburg <fhemdevelopment@cooltux.net>"
|
||||
],
|
||||
|
@ -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
|
Loading…
x
Reference in New Issue
Block a user