From 8ea86a8ac0d40ae58ab110a2594a1f7a317e34cd Mon Sep 17 00:00:00 2001 From: Brandon Harvey <8107750+bharvey88@users.noreply.github.com> Date: Wed, 8 Jul 2026 16:49:47 -0500 Subject: [PATCH] Set http_request buffer_size_tx: 2048 - the real Out of buffer fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IDF's esp_http_client emits "Out of buffer" from request-line composition: GET ? must fit buffer_size_tx. GitHub's release-asset redirect points at a signed URL with a ~850-char query string, so the follow-up request could never be built in the 512-byte default TX buffer - this is why esp_http_client_open failed, and why raising the RX buffer (#93, #94) didn't help. Confirmed against the IDF source (esp_http_client.c, http_client_prepare_first_line). Version: 26.7.8.8 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- Integrations/ESPHome/Core.yaml | 2 +- Integrations/ESPHome/MSR-1.yaml | 4 ++++ Integrations/ESPHome/MSR-1_BLE.yaml | 4 ++++ Integrations/ESPHome/MSR-1_Factory.yaml | 4 ++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Integrations/ESPHome/Core.yaml b/Integrations/ESPHome/Core.yaml index 273890d..4fccc5b 100644 --- a/Integrations/ESPHome/Core.yaml +++ b/Integrations/ESPHome/Core.yaml @@ -1,5 +1,5 @@ substitutions: - version: "26.7.8.7" + version: "26.7.8.8" device_description: ${name} made by Apollo Automation - version ${version}. # Default OTA password. Override in your device YAML by re-declaring # `substitutions: { ota_password: !secret _ota_password }` so each diff --git a/Integrations/ESPHome/MSR-1.yaml b/Integrations/ESPHome/MSR-1.yaml index a7bcf4d..6d87396 100644 --- a/Integrations/ESPHome/MSR-1.yaml +++ b/Integrations/ESPHome/MSR-1.yaml @@ -51,6 +51,10 @@ http_request: # ~3.6 KB Content-Security-Policy header; each header line must fit # this buffer or the request fails with "HTTP_CLIENT: Out of buffer". buffer_size_rx: 5120 + # The redirect target is a signed URL with a ~850-char query string; the + # follow-up request line must fit the TX buffer or esp_http_client_open + # fails with "Out of buffer" before sending anything. + buffer_size_tx: 2048 safe_mode: diff --git a/Integrations/ESPHome/MSR-1_BLE.yaml b/Integrations/ESPHome/MSR-1_BLE.yaml index e55fe71..a1fed10 100644 --- a/Integrations/ESPHome/MSR-1_BLE.yaml +++ b/Integrations/ESPHome/MSR-1_BLE.yaml @@ -51,6 +51,10 @@ http_request: # ~3.6 KB Content-Security-Policy header; each header line must fit # this buffer or the request fails with "HTTP_CLIENT: Out of buffer". buffer_size_rx: 5120 + # The redirect target is a signed URL with a ~850-char query string; the + # follow-up request line must fit the TX buffer or esp_http_client_open + # fails with "Out of buffer" before sending anything. + buffer_size_tx: 2048 safe_mode: diff --git a/Integrations/ESPHome/MSR-1_Factory.yaml b/Integrations/ESPHome/MSR-1_Factory.yaml index e3484d9..55a5de7 100644 --- a/Integrations/ESPHome/MSR-1_Factory.yaml +++ b/Integrations/ESPHome/MSR-1_Factory.yaml @@ -49,6 +49,10 @@ http_request: # ~3.6 KB Content-Security-Policy header; each header line must fit # this buffer or the request fails with "HTTP_CLIENT: Out of buffer". buffer_size_rx: 5120 + # The redirect target is a signed URL with a ~850-char query string; the + # follow-up request line must fit the TX buffer or esp_http_client_open + # fails with "Out of buffer" before sending anything. + buffer_size_tx: 2048 safe_mode: