diff --git a/fhem/CHANGED b/fhem/CHANGED
index 9e42d2544..9a2aeaffe 100644
--- a/fhem/CHANGED
+++ b/fhem/CHANGED
@@ -1,5 +1,6 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it.
+ - feature: 74_AutomowerConnect: New setter confirmError for Testing
- bugfix: 72_FRITZBOX: fehlen von Data::Dumper in einer debuf sub
behoben.
FehlerLog bei Erstanmeldung an Fritz!... behoben.
diff --git a/fhem/FHEM/74_AutomowerConnect.pm b/fhem/FHEM/74_AutomowerConnect.pm
index e85dc282c..520af2ca7 100644
--- a/fhem/FHEM/74_AutomowerConnect.pm
+++ b/fhem/FHEM/74_AutomowerConnect.pm
@@ -167,10 +167,14 @@ __END__
set <name> Start <number of minutes>
Starts immediately for <number of minutes>
+
confirmError
+ set <name> confirmError
+ Testing: Confirm current error on the mower. Will only work if current error is considered confirmable by the mower. Available for models 405X, 415X, 435X AWD and 535 AWD. Also available on all Ceora, EPOS and NERA models.
+
StartInWorkArea
set <name> StartInWorkArea <workAreaId|name> [<number of minutes>]
Testing: Starts immediately in <workAreaId|name> for <number of minutes>
- Zone name must not include space.
+ Work area name must not include space.
chargingStationPositionToAttribute
set <name> chargingStationPositionToAttribute
@@ -345,6 +349,7 @@ __END__
mapZones
attr <name> mapZones <valid perl condition to separate Zones>
+ These Zones are provided by the Modul and are not related to Husqvarnas work areas.
Provide the zones with conditions as JSON-String:
The waypoints are accessable by the variables $longitude und $latitude.
Zones have have to be separated by conditions in alphabetical order of their names.
@@ -546,7 +551,7 @@ __END__
StartInWorkArea
set <name> StartInWorkArea <workAreaId|zone name> [<number of minutes>]
Testing: Startet sofort in <workAreaId|name> für <number of minutes>
- Der Name der Zone darf keine Leerzeichen beinhalten und muss mindestens einen Buchstaben enthalten.
+ Der Name der WorkArea darf keine Leerzeichen beinhalten und muss mindestens einen Buchstaben enthalten.
chargingStationPositionToAttribute
set <name> chargingStationPositionToAttribute
@@ -568,6 +573,10 @@ __END__
set <name> stayOutZone_disable <Id|zone name>
Testing: Disabled stayOutZone für die Id oder den Namen der Zone, er darf keine Leerzeichen beinhalten und muss mindestens einen Buchstaben enthalten.
+ confirmError
+ set <name> confirmError
+ Testing: Bestätigt den letzten Fehler im Mäher, wenn der Mäher es zulässt. Verfügbar für 405X, 415X, 435X AWD and 535 AWD und alle Ceora, EPOS and NERA.
+
getNewAccessToken
set <name> getNewAccessToken
Nur zur Fehlerbehebung.
@@ -724,6 +733,7 @@ __END__
mapZones
attr <name> mapZones <JSON string with zone names in alpabetical order and valid perl condition to seperate the zones>
+ Die Zonen werden vom Modul bereit gestellt, sie stehen in keinem Zusammenhang mit Husquvarnas Work Areas
Die Wegpunkte stehen über die Perlvariablen $longitude und $latitude zur Verfügung.
Die Zonennamen und Bedingungen müssen als JSON-String angegeben werden.
Die Zonennamen müssen in alphabetischer Reihenfolge durch Bedingungen abgegrenzt werden.
diff --git a/fhem/lib/FHEM/Devices/AMConnect/Common.pm b/fhem/lib/FHEM/Devices/AMConnect/Common.pm
index be3f2c608..9f06c8dd0 100644
--- a/fhem/lib/FHEM/Devices/AMConnect/Common.pm
+++ b/fhem/lib/FHEM/Devices/AMConnect/Common.pm
@@ -1095,8 +1095,9 @@ my $header = "Accept: application/vnd.api+json\r\nX-Api-Key: ".$client_id."\r\nA
{ $json = '{"data": {"type":"'.$cmd[0].'","attributes":{"workAreaId":'.$cmd[1].'}}}'; $post = 'actions' }
elsif ($cmd[0] eq "headlight") { $json = '{"data": {"type":"settings","attributes":{"'.$cmd[0].'": {"mode": "'.$cmd[1].'"}}}}'; $post = 'settings' }
elsif ($cmd[0] eq "cuttingHeight") { $json = '{"data": {"type":"settings","attributes":{"'.$cmd[0].'": '.$cmd[1].'}}}'; $post = 'settings' }
- elsif ($cmd[0] eq "stayOutZone_enable") { $json = '{"data": {"type":"stayOutZone","id":"'.$cmd[1].'","attributes":{"enable": true}}}'; $post = 'stayOutZones/' . $cmd[1]; $method = 'PATCH' }
- elsif ($cmd[0] eq "stayOutZone_disable") { $json = '{"data": {"type":"stayOutZone","id":"'.$cmd[1].'","attributes":{"enable": false}}}'; $post = 'stayOutZones/' . $cmd[1]; $method = 'PATCH' }
+ elsif ($cmd[0] eq "stayOutZone_enable") { $json = '{"data": {"type":"stayOutZone","id":"'.$cmd[1].'","attributes":{"enable": true}}}'; $post = 'stayOutZones/' . $cmd[1]; $method = 'PATCH' }
+ elsif ($cmd[0] eq "stayOutZone_disable") { $json = '{"data": {"type":"stayOutZone","id":"'.$cmd[1].'","attributes":{"enable": false}}}'; $post = 'stayOutZones/' . $cmd[1]; $method = 'PATCH' }
+ elsif ($cmd[0] eq "confirmError") { $json = '{}'; $post = 'errors/confirm' }
elsif ($cmd[0] eq "sendScheduleFromAttributeToMower" && AttrVal( $name, 'mowerSchedule', '')) {
my $perl = eval { decode_json (AttrVal( $name, 'mowerSchedule', '')) };
@@ -1282,7 +1283,12 @@ sub Set {
APIAuth($hash);
return undef;
- } elsif (ReadingsVal( $name, 'device_state', 'defined' ) !~ /defined|initialized|authentification|authenticated|update/ && $setName =~ /ParkUntilFurtherNotice|ParkUntilNextSchedule|Pause|ResumeSchedule|sendScheduleFromAttributeToMower/) {
+ } elsif ( ReadingsVal( $name, 'device_state', 'defined' ) !~ /defined|initialized|authentification|authenticated|update/ && $setName =~ /ParkUntilFurtherNotice|ParkUntilNextSchedule|Pause|ResumeSchedule|sendScheduleFromAttributeToMower/ ) {
+
+ CMD($hash,$setName);
+ return undef;
+
+ } elsif ( ReadingsVal( $name, 'device_state', 'defined' ) !~ /defined|initialized|authentification|authenticated|update/ && $setName =~ /confirmError/ && AttrVal( $name, 'testing', '' ) ) {
CMD($hash,$setName);
return undef;
@@ -1320,6 +1326,7 @@ sub Set {
$ret .= "chargingStationPositionToAttribute:noArg headlight:ALWAYS_OFF,ALWAYS_ON,EVENING_ONLY,EVENING_AND_NIGHT cuttingHeight:1,2,3,4,5,6,7,8,9 mowerScheduleToAttribute:noArg ";
$ret .= "sendScheduleFromAttributeToMower:noArg defaultDesignAttributesToAttribute:noArg mapZonesTemplateToAttribute:noArg ";
$ret .= "StartInWorkArea " if ( $hash->{helper}{mower}{attributes}{capabilities}{workAreas} && AttrVal( $name, 'testing', '' ) );
+ $ret .= "confirmError:noArg " if ( AttrVal( $name, 'testing', '' ) );
$ret .= "stayOutZone_enable stayOutZone_disable " if ( $hash->{helper}{mower}{attributes}{capabilities}{stayOutZones} && AttrVal( $name, 'testing', '' ) );
return "Unknown argument $setName, choose one of".$ret;