diff --git a/lib/FHEM/Devices/Matrix/Client.pm b/lib/FHEM/Devices/Matrix/Client.pm index 7b962ff..aed795a 100644 --- a/lib/FHEM/Devices/Matrix/Client.pm +++ b/lib/FHEM/Devices/Matrix/Client.pm @@ -1588,6 +1588,7 @@ sub _PerformHttpRequestOrInternalTimerFAIL { $def = $hash->{helper}->{repeat}->{def}; $value = $hash->{helper}->{repeat}->{value}; $hash->{helper}->{repeat} = undef; + _PerformHttpRequest( $hash, $def, $value ); } else { @@ -1615,6 +1616,18 @@ sub _PerformHttpRequestOrInternalTimerFAIL { \&FHEM::Devices::Matrix::Client::Login, $hash ); } } + elsif ( $hash->{helper}->{softfail} < 3 ) { + if ( $nextRequest eq 'login' ) { + _PerformHttpRequest( $hash, $nextRequest, '' ); + } + elsif ( $nextRequest eq 'sync' && $hash->{helper}->{repeat} ) { + $def = $hash->{helper}->{repeat}->{def}; + $value = $hash->{helper}->{repeat}->{value}; + $hash->{helper}->{repeat} = undef; + + _PerformHttpRequest( $hash, $def, $value ); + } + } return; }