Skip to content

Clyde Stubbs

2 posts by Clyde Stubbs

http_request: Requests That Do Not Block the Loop

ESPHome 2026.11.0 adds a way to run an HTTP request from a component without stopping the main loop while it waits for the server. HttpRequestComponent::begin() starts the request, HttpContainer::poll() moves it forward from loop(), and HttpContainer::read_available() reads the body without waiting for data that has not arrived. The http_request.get, post and send actions now use it.

This is a new developer-facing feature in ESPHome 2026.11.0 and later. Existing code does not need to change: start(), get() and post() still block until the response headers arrive, as before.

Display Pixel Blocks Drop the Color Order and Get a Driver Hook

ESPHome 2026.11.0 removes the ColorOrder argument from Display::draw_pixels_at() and from the ColorUtil color conversions. Pixel blocks and packed colors are always RGB. draw_pixels_at() is no longer virtual: a display driver that copies blocks itself now overrides the protected draw_pixels_internal(). The forms that take a ColorOrder still work, with a deprecation warning, until 2027.5.0.

This is a developer breaking change for external display components in ESPHome 2026.11.0 and later, with a deprecation period until 2027.5.0.