<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://developers.esphome.io/</loc></url><url><loc>https://developers.esphome.io/architecture/api/</loc></url><url><loc>https://developers.esphome.io/architecture/api/protocol_details/</loc></url><url><loc>https://developers.esphome.io/architecture/ci/</loc></url><url><loc>https://developers.esphome.io/architecture/ci/component_tests/</loc></url><url><loc>https://developers.esphome.io/architecture/components/</loc></url><url><loc>https://developers.esphome.io/architecture/components/advanced/</loc></url><url><loc>https://developers.esphome.io/architecture/components/alarm_control_panel/</loc></url><url><loc>https://developers.esphome.io/architecture/components/automations/</loc></url><url><loc>https://developers.esphome.io/architecture/components/binary_sensor/</loc></url><url><loc>https://developers.esphome.io/architecture/components/button/</loc></url><url><loc>https://developers.esphome.io/architecture/components/climate/</loc></url><url><loc>https://developers.esphome.io/architecture/components/cover/</loc></url><url><loc>https://developers.esphome.io/architecture/components/display/</loc></url><url><loc>https://developers.esphome.io/architecture/components/event/</loc></url><url><loc>https://developers.esphome.io/architecture/components/fan/</loc></url><url><loc>https://developers.esphome.io/architecture/components/gpio/</loc></url><url><loc>https://developers.esphome.io/architecture/components/i2c/</loc></url><url><loc>https://developers.esphome.io/architecture/components/light/</loc></url><url><loc>https://developers.esphome.io/architecture/components/lock/</loc></url><url><loc>https://developers.esphome.io/architecture/components/media_player/</loc></url><url><loc>https://developers.esphome.io/architecture/components/number/</loc></url><url><loc>https://developers.esphome.io/architecture/components/output/</loc></url><url><loc>https://developers.esphome.io/architecture/components/select/</loc></url><url><loc>https://developers.esphome.io/architecture/components/sensor/</loc></url><url><loc>https://developers.esphome.io/architecture/components/socket_consumption_api/</loc></url><url><loc>https://developers.esphome.io/architecture/components/speaker/</loc></url><url><loc>https://developers.esphome.io/architecture/components/spi/</loc></url><url><loc>https://developers.esphome.io/architecture/components/switch/</loc></url><url><loc>https://developers.esphome.io/architecture/components/text_sensor/</loc></url><url><loc>https://developers.esphome.io/architecture/components/text/</loc></url><url><loc>https://developers.esphome.io/architecture/components/time/</loc></url><url><loc>https://developers.esphome.io/architecture/components/touchscreen/</loc></url><url><loc>https://developers.esphome.io/architecture/components/uart/</loc></url><url><loc>https://developers.esphome.io/architecture/components/valve/</loc></url><url><loc>https://developers.esphome.io/architecture/core/</loc></url><url><loc>https://developers.esphome.io/architecture/logging/</loc></url><url><loc>https://developers.esphome.io/architecture/overview/</loc></url><url><loc>https://developers.esphome.io/blog/</loc></url><url><loc>https://developers.esphome.io/blog/2/</loc></url><url><loc>https://developers.esphome.io/blog/3/</loc></url><url><loc>https://developers.esphome.io/blog/4/</loc></url><url><loc>https://developers.esphome.io/blog/5/</loc></url><url><loc>https://developers.esphome.io/blog/6/</loc></url><url><loc>https://developers.esphome.io/blog/7/</loc></url><url><loc>https://developers.esphome.io/blog/8/</loc></url><url><loc>https://developers.esphome.io/blog/9/</loc></url><url><loc>https://developers.esphome.io/blog/10/</loc></url><url><loc>https://developers.esphome.io/blog/11/</loc></url><url><loc>https://developers.esphome.io/blog/2025/01/14/hello-developers/</loc></url><url><loc>https://developers.esphome.io/blog/2025/02/19/about-the-removal-of-support-for-custom-components/</loc></url><url><loc>https://developers.esphome.io/blog/2025/05/14/schema-deprecations/</loc></url><url><loc>https://developers.esphome.io/blog/2025/06/18/sunsetting-support-for-idf-4x/</loc></url><url><loc>https://developers.esphome.io/blog/2025/11/06/action-framework-performance-optimization/</loc></url><url><loc>https://developers.esphome.io/blog/2025/11/07/climate-entity-class-finitesetmask-and-flash-storage-optimizations/</loc></url><url><loc>https://developers.esphome.io/blog/2025/11/07/event-entity-class-memory-optimizations/</loc></url><url><loc>https://developers.esphome.io/blog/2025/11/07/fan-entity-class-preset-mode-flash-storage-and-order-preservation/</loc></url><url><loc>https://developers.esphome.io/blog/2025/11/07/light-entity-class-memory-optimizations/</loc></url><url><loc>https://developers.esphome.io/blog/2025/11/07/select-entity-class-index-based-operations-and-flash-storage/</loc></url><url><loc>https://developers.esphome.io/blog/2025/11/20/network-get_use_address-optimization/</loc></url><url><loc>https://developers.esphome.io/blog/2025/12/07/light-state-callbacks-listener-pattern-migration/</loc></url><url><loc>https://developers.esphome.io/blog/2026/01/12/build-info-and-compilation_time-api-changes/</loc></url><url><loc>https://developers.esphome.io/blog/2026/01/12/callback-signature-changes-for-text_sensor-text-and-select/</loc></url><url><loc>https://developers.esphome.io/blog/2026/01/12/entity-getters-now-return-stringref/</loc></url><url><loc>https://developers.esphome.io/blog/2026/01/12/esp8266-build-optimizations-serial-and-waveform-code/</loc></url><url><loc>https://developers.esphome.io/blog/2026/01/12/gpiopindump_summary-now-uses-buffer-based-api/</loc></url><url><loc>https://developers.esphome.io/blog/2026/01/12/listener-interface-pattern-for-ota-and-alarm-control-panel/</loc></url><url><loc>https://developers.esphome.io/blog/2026/01/12/socket-and-clientinfo-stdstring-removal/</loc></url><url><loc>https://developers.esphome.io/blog/2026/01/12/stack-based-formatting-helpers-replace-heap-allocating-functions/</loc></url><url><loc>https://developers.esphome.io/blog/2026/01/12/use_esp_idf-deprecated-in-favor-of-use_esp32/</loc></url><url><loc>https://developers.esphome.io/blog/2026/01/13/listener-staticvector-migration-wifi-and-logger/</loc></url><url><loc>https://developers.esphome.io/blog/2026/01/13/scheduler-string-based-api-deprecation/</loc></url><url><loc>https://developers.esphome.io/blog/2026/02/12/entity-preferences-use-make_entity_preference-instead-of-get_preference_hash/</loc></url><url><loc>https://developers.esphome.io/blog/2026/02/12/esp32-arduino-selective-compilation-libraries-disabled-by-default/</loc></url><url><loc>https://developers.esphome.io/blog/2026/02/12/set_retry-deprecated-use-set_timeout-or-set_interval-instead/</loc></url><url><loc>https://developers.esphome.io/blog/2026/02/20/esp32-unused-built-in-idf-components-excluded-by-default/</loc></url><url><loc>https://developers.esphome.io/blog/2026/03/12/application-name-and-friendly-name-now-return-stringref/</loc></url><url><loc>https://developers.esphome.io/blog/2026/03/12/call_loop-mark_failed-and-call_dump_config-are-no-longer-virtual/</loc></url><url><loc>https://developers.esphome.io/blog/2026/03/12/get_loop_priority-now-conditionally-compiled-with-use_loop_priority/</loc></url><url><loc>https://developers.esphome.io/blog/2026/03/12/http_request-api-modernization-vector-based-headers/</loc></url><url><loc>https://developers.esphome.io/blog/2026/03/12/icon-and-device-class-getter-migration/</loc></url><url><loc>https://developers.esphome.io/blog/2026/03/12/loglistener-virtual-interface-replaced-with-logcallback/</loc></url><url><loc>https://developers.esphome.io/blog/2026/03/12/register_action-now-requires-explicit-synchronous-parameter/</loc></url><url><loc>https://developers.esphome.io/blog/2026/03/12/rp2040-framework-update-pico-sdk-20-and-gcc-14/</loc></url><url><loc>https://developers.esphome.io/blog/2026/03/12/socket-abstraction-layer-devirtualized/</loc></url><url><loc>https://developers.esphome.io/blog/2026/03/12/uart-flush-now-returns-flushresult/</loc></url><url><loc>https://developers.esphome.io/blog/2026/04/09/ble-event-handler-dispatch-devirtualized/</loc></url><url><loc>https://developers.esphome.io/blog/2026/04/09/callbackmanager-stdfunction-replaced-with-lightweight-callback/</loc></url><url><loc>https://developers.esphome.io/blog/2026/04/09/climate-and-fan-custom-mode-vectors-moved-to-entity/</loc></url><url><loc>https://developers.esphome.io/blog/2026/04/09/flushresult-renamed-to-uartflushresult/</loc></url><url><loc>https://developers.esphome.io/blog/2026/04/09/modbus-helper-functions-moved-to-modbushelpers/</loc></url><url><loc>https://developers.esphome.io/blog/2026/04/09/sensor-raw_state-deprecated-in-favor-of-get_raw_state/</loc></url><url><loc>https://developers.esphome.io/blog/2026/04/09/templatablefn-4-byte-templatable-storage-for-trivially-copyable-types/</loc></url><url><loc>https://developers.esphome.io/blog/2026/04/09/trigger-trampolines-eliminated-with-build_callback_automation/</loc></url><url><loc>https://developers.esphome.io/blog/2026/04/09/wake_loop-moved-from-socket-component-into-core/</loc></url><url><loc>https://developers.esphome.io/blog/2026/05/14/climatetraits-boolean-accessors-removed-in-favor-of-feature-flags/</loc></url><url><loc>https://developers.esphome.io/blog/2026/05/14/default-constructed-pollingcomponent-no-longer-polls/</loc></url><url><loc>https://developers.esphome.io/blog/2026/05/14/floatoutput-power-scaling-fields-gated-behind-use_output_float_power_scaling/</loc></url><url><loc>https://developers.esphome.io/blog/2026/05/14/main-loop-cadence-decoupled-from-scheduler-wake-timing/</loc></url><url><loc>https://developers.esphome.io/blog/2026/05/14/modbus-server-split-out-of-modbus_controller/</loc></url><url><loc>https://developers.esphome.io/blog/2026/05/14/ringbuffer-moved-out-of-core-into-ring_buffer-helper-component/</loc></url><url><loc>https://developers.esphome.io/blog/authors/j-nick-koston/</loc></url><url><loc>https://developers.esphome.io/blog/authors/jesse-hills/</loc></url><url><loc>https://developers.esphome.io/blog/authors/keith-burzinski/</loc></url><url><loc>https://developers.esphome.io/contributing/code/</loc></url><url><loc>https://developers.esphome.io/contributing/development-environment/</loc></url><url><loc>https://developers.esphome.io/contributing/docs/</loc></url><url><loc>https://developers.esphome.io/contributing/submitting-your-work/</loc></url><url><loc>https://developers.esphome.io/contributing/translations/</loc></url></urlset>