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;