2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-02-25 03:44:52 +00:00

AutomowerConnect: cref update, new events related to API errors

git-svn-id: https://svn.fhem.de/fhem/trunk@28960 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
Ellert 2024-06-10 18:00:02 +00:00
parent 50db5f2fea
commit 2f2219bfbc
3 changed files with 40 additions and 7 deletions

View File

@ -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 events for errors related to the APIs
- bugfix: 76_SolarForecast: Illegal division by zero
- bufgix: 32_withings: improved token refresh timing
- change: 38_netatmo: improved disconnect handling on auth failure

View File

@ -546,6 +546,18 @@ __END__
</ul>
<a id="AutomowerConnectEvents"></a>
<b>additional Events</b>
<ul>
A List of Events generated besides readings events.<br>
<li><code>&lt;device name&gt;:AUTHENTIFICATION ERROR</code> Error during Authentification.</li>
<li><code>&lt;device name&gt;:MOWERAPI ERROR</code> Error while Connecting AutomowerConnect API.</li>
<li><code>&lt;device name&gt;:WEBSOCKET ERROR</code> Error related to websocket connection.</li>
</ul>
<br>
<a id="AutomowerConnectReadings"></a>
<b>Readings</b>
<ul>
@ -998,12 +1010,11 @@ __END__
</code>
</li>
<li><a href="disable">disable</a></li>
<li><a href="disable">disable</a></li>
<li><a href="disabledForIntervals">disabledForIntervals</a></li>
<br>
<li><a href="disabledForIntervals">disabledForIntervals</a></li>
<br>
</ul>
<br>
<a id="AutomowerConnectUserAttr"></a>
@ -1032,10 +1043,21 @@ __END__
<code>attr &lt;name&gt; testing 1</code><br>
Macht Befehle verfügbar, die mit Testing markiert sind.</li><br>
<br><br>
</ul>
<a id="AutomowerConnectEvents"></a>
<b>zusätzliche Events</b>
<ul>
Eine Liste von Events zusätzlich zu den Readingsevents.<br>
<li><code>&lt;device name&gt;:AUTHENTIFICATION ERROR</code> Fehler bei der Authentifizierung.</li>
<li><code>&lt;device name&gt;:MOWERAPI ERROR</code> Fehler bei der Verbindung zur AutomowerConnect API.</li>
<li><code>&lt;device name&gt;:WEBSOCKET ERROR</code> Fehler bei der Websocketverbindung.</li>
</ul>
<br>
<a id="AutomowerConnectReadings"></a>
<b>Readings</b>
<ul>

View File

@ -46,6 +46,7 @@ BEGIN {
AttrVal
CommandAttr
CommandDeleteReading
DoTrigger
FmtDateTime
FW_ME
FW_dir
@ -808,6 +809,8 @@ sub APIAuthResponse {
RemoveInternalTimer( $hash, \&APIAuth );
InternalTimer( gettimeofday() + $hash->{helper}{retry_interval_apiauth}, \&APIAuth, $hash, 0 );
Log3 $name, 1, "$iam failed retry in $hash->{helper}{retry_interval_apiauth} seconds.";
DoTrigger($name, "AUTHENTICATION ERROR");
return undef;
}
@ -962,12 +965,14 @@ sub getMowerResponse {
readingsSingleUpdate( $hash, 'device_state', "error statuscode $statuscode", 1 );
Log3 $name, 1, "$iam \$statuscode >$statuscode<, \$err >$err<, \$param->url $param->{url} \n\$data >$data<";
DoTrigger($name, "MOWERAPI ERROR");
}
RemoveInternalTimer( $hash, \&APIAuth );
InternalTimer( gettimeofday() + $hash->{helper}{retry_interval_getmower}, \&APIAuth, $hash, 0 );
Log3 $name, 1, "$iam failed retry in $hash->{helper}{retry_interval_getmower} seconds.";
return undef;
}
@ -1092,6 +1097,8 @@ sub getMowerResponseWs {
readingsSingleUpdate( $hash, 'device_state', "additional Polling error statuscode $statuscode", 1 );
Log3 $name, 1, "$iam \$statuscode [$statuscode]\n\$err [$err],\n \$data [$data] \n\$param->url $param->{url}";
DoTrigger($name, "MOWERAPI ERROR");
}
@ -1540,7 +1547,7 @@ sub Attr {
readingsSingleUpdate( $hash,'device_state','disabled',1);
RemoveInternalTimer( $hash );
DevIo_CloseDev( $hash ) if ( DevIo_IsOpen( $hash ) );
DevIo_CloseDev( $hash );
DevIo_setStates( $hash, "closed" );
Log3 $name, 3, "$iam $cmd $attrName disabled";
@ -2982,7 +2989,10 @@ sub wsCb {
my $type = $hash->{TYPE};
my $iam = "$type $name wsCb:";
my $l = $hash->{devioLoglevel};
Log3 $name, ( $l ? $l : 1 ), "$iam failed with error: $error" if( $error );
if( $error ){
Log3 $name, ( $l ? $l : 1 ), "$iam failed with error: $error";
DoTrigger($name, "WEBSOCKET ERROR");
}
return undef;
}