Add Commissioning Failsafe Request Timeout Handling (Client) (#331)
* Add Commissioning Failsafe Request Timeout Handling (Client)
This PR adds the correct handling of extended response timeouts during an armed failsafe timer. In this case a request can take up to 30s to respond which means that the normal "4 retransmissions" timeframe (maximum 4.2s in total) needs to be extended.
I realized this by adding another parameter to define a minimum response timeout. because of the fact that the specification do not fully describe how to realize this extended waiting time I decided to simply continue to send retransmissions with default increasing backoff time and check the timout once such a retransmission triggers.
The Commissioner class knows when failsafe is enabled and so manually uses this flag whenever it makes sense.
I did not add an integration test for this, but manually tested it via a Meross EU device which needs 6+ seconds to connect to a Wifi network and so the normal 4 times retransmissions was always failing. Should I add a test or do we accept that for now? I could also add a TODO for adding test later
* fix