[ota] Match client timeout to device timeout to prevent premature failures #12484
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this implement/fix?
Increases the OTA client-side socket timeout from 30 seconds to 90 seconds to match the device-side
OTA_SOCKET_TIMEOUT_DATA.When the timeouts don't match, the client can give up waiting for chunk acknowledgments before the device has actually failed. This is particularly problematic on slower platforms like LibreTiny/Beken where flash writes can take longer. The premature timeout causes:
By matching the timeouts, actual failures are detected via proper error responses rather than timeouts.
Types of changes
Related issue or feature (if applicable):
Pull request in esphome-docs with documentation (if applicable):
Test Environment
Example entry for
config.yaml:# No config changes needed - this fixes OTA reliabilityChecklist:
tests/folder).If user exposed functionality or configuration variables are added/changed: