mirror of
https://github.com/esphome/esphome.git
synced 2026-10-17 19:52:50 +00:00
Compare commits
base: github/esphome:sx127x-tables-progmem
github/esphome:dev
github/esphome:tcp-uart-entity-platforms
github/esphome:uart-tcp-entity-platforms
github/esphome:bq76972-sensor-platform
github/esphome:fusb302b-entity-platforms
github/esphome:agents-no-autoload-entity-platforms
github/esphome:ota-udp-log-reason
github/esphome:logger-lazy-platform-imports
github/esphome:comm-fail-dump-config-cleanup-5
github/esphome:busdev-migrate-uart
github/esphome:uart-read-available-migrate
github/esphome:busdev-migrate-spi
github/esphome:i2c-write-registers-migrate
github/esphome:btnpresets-migrate
github/esphome:dfrobot-sen0395-line-reader
github/esphome:dfrobot-sen0395-no-heap-commands
github/esphome:host-interrupt-lock
github/esphome:apply-entities-ld6002b
github/esphome:i2c-encode-value-le-migrate
github/esphome:binary-sensor-lazy-integration-imports
github/esphome:enum-options-followup
github/esphome:apply-entities-select
github/esphome:apply-entities-button
github/esphome:apply-entities-number
github/esphome:apply-entities-switch
github/esphome:apply-entities
github/esphome:i2c-encode-value-le
github/esphome:apply-entities-migrate
github/esphome:sensor-with-dedup-migrate
github/esphome:sensor-with-dedup
github/esphome:http-request-ota-flash-test-coverage
github/esphome:gpio-expander-pin-helpers-migrate
github/esphome:gpio-expander-pin-helpers
github/esphome:declcfg-migrate
github/esphome:declcfg
github/esphome:sensor-lazy-integration-imports
github/esphome:esp8266-entity-names-components
github/esphome:i2c-update-register-migrate
github/esphome:i2c-update-register
github/esphome:esp8266-entity-names-flash
github/esphome:wifi-dpp-key-der
github/esphome:component-status-comm-result-migrate
github/esphome:epaper-spi-fill-dirty-bounds
github/esphome:http-request-https-scheme-prefix
github/esphome:helpers-bcd-migrate
github/esphome:helpers-bcd
github/esphome:fusb302b-trigger-when-filter
github/esphome:lock-trigger-when-filter
github/esphome:component-status-comm-result
github/esphome:in-range-apply-helper
github/esphome:agents-md-trigger-when-filter
github/esphome:in-range-test-coverage
github/esphome:ethernet-automation-apply-helper
github/esphome:wifi-automation-apply-helper
github/esphome:api-connected-apply-helper
github/esphome:ethernet-automation-test-coverage
github/esphome:wifi-automation-test-coverage
github/esphome:api-connected-test-coverage
github/esphome:light-toggle-apply-helper
github/esphome:light-toggle-test-coverage
github/esphome:http-request-ota-flash-apply-helper
github/esphome:http-request-ota-flash-apply
github/esphome:http-request-ota-flash-tests
github/esphome:http-request-ota-apply-action
github/esphome:dfrobot-sen0609-strstr-p
github/esphome:openthread-dns64-ipv6-literal
github/esphome:nrf52-mdk-usb-dongle
github/esphome:shelly_dimmer-drop-unused-dev-fields
github/esphome:light-set-external-state
github/esphome:hdmi-cec-part2
github/esphome:hdmi-cec-decoder
github/esphome:progmem-string-table-copy
github/esphome:esp32-log-v2-idf61
github/esphome:homeassistant-action-strings-progmem
github/esphome:esp32-operator-new
github/esphome:mqtt-async-client-topic-length
github/esphome:mqtt-subscription-topic-builders
github/esphome:autorepeat-progmem-timing
github/esphome:logger-boot-log-buffer
github/esphome:sscanf_stub
github/esphome:nfc-uri-prefixes-progmem
github/esphome:jesserockz-2026-762
github/esphome:sx127x-tables-progmem
github/esphome:sx126x-tables-progmem
github/esphome:seeed-mr60fda2-tables-progmem
github/esphome:veml7700-gain-names-progmem
github/esphome:restore-17827
github/esphome:store-yaml-firmware
github/esphome:radon-eye-single-node
github/esphome:cli-rotate-key
github/esphome:pulse_counter-tables-progmem
github/esphome:weikai-shared-print-buffer
github/esphome:cc1101-modulation-names-progmem
github/esphome:epaper-spi-state-names-progmem
github/esphome:weikai-register-names-progmem
github/esphome:haier-phase-names-progmem
github/esphome:seeed-mr24hpc1-tables-progmem
github/esphome:kamstrup_kmp-tables-progmem
github/esphome:ezo_pmp-tables-progmem
github/esphome:bme680_bsec-tables-progmem
github/esphome:micronova-tables-progmem
github/esphome:climate-custom-modes-const-vector
github/esphome:deprecate_waveshare_epaper_removal
github/esphome:neutral-ble-client
github/esphome:beta
github/esphome:bl0939-tables-progmem
github/esphome:ld2420-tables-progmem
github/esphome:tx20-tables-progmem
github/esphome:rtttl-tables-progmem
github/esphome:nextion-tables-progmem
github/esphome:esp32_rmt_led_strip_no_busy_wait
github/esphome:ezo-tables-progmem
github/esphome:yaml-edit-apply
github/esphome:uart-debug-event-flash
github/esphome:jesserockz-2026-446
github/esphome:fan-preset-modes-const-vector
github/esphome:agents-session-lessons
github/esphome:modbus-client-write-values-tables
github/esphome:light-effect-color-tables
github/esphome:number-traits-set-range
github/esphome:dlms-meter-slot-counter
github/esphome:codspeed/optim-protobuf-cursor
github/esphome:codspeed/optim-count-packed-varints
github/esphome:codspeed/optim-base64-single-pass
github/esphome:wifi-disconnect-before-reboot
github/esphome:ln882x-zero-malloc
github/esphome:ln882x-no-roam-scan
github/esphome:st7701s-init-flash
github/esphome:qspi-dbi-init-flash
github/esphome:ili9xxx-init-flash
github/esphome:socket-filter-link-tus
github/esphome:windows_cmake_lookup_ci
github/esphome:espidf-bootloader-cache
github/esphome:dependabot/pip/filelock-4.0.4
github/esphome:release
github/esphome:nrf52-pch
github/esphome:pch-identity-dedup
github/esphome:esp32-pio-pch
github/esphome:host-pch
github/esphome:pch-strict-ci
github/esphome:platformio-pch-libretiny
github/esphome:esp32-idf-pch
github/esphome:platformio-pch-rp2
github/esphome:esp8266-native-pch
github/esphome:nrf52-analyze-memory
github/esphome:integration
github/esphome:wifi-apply-action
github/esphome:ethernet-apply-action
github/esphome:noise-combo-test
github/esphome:at581x-zero-values
github/esphome:image-opaque-bulk-draw
github/esphome:display-pixels-at-constant-bitness
github/esphome:esp8266-mgmt-frame-pool-fallback
github/esphome:display-pixels-at-walk-order
github/esphome:image-row-major-draw
github/esphome:uart-idf-write-before-setup-guard
github/esphome:ld2420-extract-frame-builders
github/esphome:esp32-gpio-pin-ctor
github/esphome:template-number-ctor
github/esphome:web-server-base-ctor
github/esphome:esp32-rmt-led-strip-ctor
github/esphome:ltr390-ctor
github/esphome:http-request-update-ctor
github/esphome:rtttl-ctor
github/esphome:scd4x-ctor
github/esphome:factory-reset-switch-ctor
github/esphome:ota-http-request-ctor
github/esphome:idf-i2c-bus-ctor
github/esphome:ld2412-max-distance-timeout-number-ctor
github/esphome:ld2412-start-dynamic-background-correction-button-ctor
github/esphome:ld2412-restart-button-ctor
github/esphome:ld2412-query-button-ctor
github/esphome:ld2412-factory-reset-button-ctor
github/esphome:template-datetime-ctor
github/esphome:template-time-ctor
github/esphome:template-date-ctor
github/esphome:template-binary-output-ctor
github/esphome:datetime-user-ctor
github/esphome:text-user-ctor
github/esphome:event-user-ctor
github/esphome:button-user-ctor
github/esphome:select-user-ctor
github/esphome:codegen-default-init
github/esphome:rmt-tx-drop-when-busy
github/esphome:fix-rmt-tx-queue
github/esphome:20260218-zigbee-proxy
github/esphome:dependabot-ignore-platformio
github/esphome:noise-session-resume
github/esphome:esp8266-sodium-sha256-rodata-flash
github/esphome:esp8266-native-build-surgery
github/esphome:time-filter-posix-tz-cpptest
github/esphome:espidf-size-summary-guards
github/esphome:jesserockz-2026-578
github/esphome:proxy-subscribe-acks
github/esphome:lvgl-setup-priority-float-literal
github/esphome:ld2420-listen-first-startup
github/esphome:api-noise-c-branch-test
github/esphome:integration3
github/esphome:rp2-lwip-plus-3slots-test
github/esphome:kahrendt-va-runtime-model-loading
github/esphome:radon-eye-neutral-gatt
github/esphome:gatt-consumer-support
github/esphome:dnm-codspeed-deepcopy-proof
github/esphome:feat/nrf52_pwm
github/esphome:json-escape-core-helper
github/esphome:jesserockz-2026-378
github/esphome:frenck/replace-voluptuous-with-probatio
github/esphome:frenck/web-server-cover-assumed-state
github/esphome:frenck/framework-helpers-lazy-requests
github/esphome:jesserockz-2026-369
github/esphome:jesserockz-2026-364
github/esphome:copilot/usb-uart-fix-baud-rate-forwarding
github/esphome:esp32-idf-spaces-path-fix
github/esphome:dnm-memory-impact-proof
github/esphome:koan/vscode-component-not-found-key
github/esphome:core-blocking-warning-source
github/esphome:esp8266-stock-delay-millis
github/esphome:multi-interface-poc
github/esphome:esp32-loop-task-stack-dram-attr
github/esphome:c6-test-partitions
github/esphome:speedup-mipi-display-tests
github/esphome:lvgl-lazy-widget-schemas
github/esphome:ci-uv-installs-probe
github/esphome:ci/sync-device-classes-uv
github/esphome:test-dashboard-deprecation-bot
github/esphome:core-prebuilt-dir-upload
github/esphome:dnm-socket-recv-diag-15953
github/esphome:test-device-builder-ci
github/esphome:claude/network-switching-config-gL3sq
github/esphome:bk72xx-crash-handler
github/esphome:sensor-timeout-filter-scheduler
github/esphome:dnm_test_api_connection_comment
github/esphome:dnm_test_cover_comment
github/esphome:split-hal-per-platform
github/esphome:esp32-preferences-defer-init-log
github/esphome:api-server-incomplete-type-fix
github/esphome:scheduler-memw-outlined
github/esphome:scheduler-memw-only
github/esphome:app-loop-optimize-speed
github/esphome:scheduler-snapshot-counters
github/esphome:config-version-hash-constexpr
github/esphome:core-chunked-setup
github/esphome:pr-15656
github/esphome:light-inline-color-mode-to-bit
github/esphome:ledc-iram-safety
github/esphome:remote-receiver-iram-safety
github/esphome:benchmark-crypto-o2
github/esphome:proto-speed-optimized
github/esphome:fast-millis-rp2040
github/esphome:core-fast-select-scan-stats
github/esphome:api-unroll-varint-encode
github/esphome:sx1509-interrupt-pin
github/esphome:fix-rotary-encoder-templatable-type
github/esphome:max6956_gpio_cache_banks
github/esphome:remove_posix_tz_parser
github/esphome:remove-set-retry
github/esphome:20260327-bsec2-tidying
github/esphome:20260324-ir_rf_proxy-rx-freq
github/esphome:jesserockz-2026-040
github/esphome:copilot/lvgl-v9-api
github/esphome:esp32-log-v2
github/esphome:copilot/audit-assertion-calls
github/esphome:copilot/add-deprecated-component-label
github/esphome:pipsolar_teleinfo
github/esphome:copilot/fix-10045
github/esphome:claude/esphome-action-responses-01EXP5td9nGeLpBoTe8eenre
github/esphome:copilot/fix-internal-gpio-attach-issues
github/esphome:claude/optimize-inkplate-display-01XRaLWTgEsLC7AY9zkMwoWX
github/esphome:copilot/fix-deprecated-pulse-counter-driver
github/esphome:claude/implement-ha-cards-lvgl-01P4a84LZVfkvp74VAeW6byq
github/esphome:claude/bthome-packet-parser-013Zc5fvXF4EUg5mHfDhMegw
github/esphome:claude/add-axp2101-component-01J2hk1SL1x8F31eGwsNaQMF
github/esphome:claude/create-esphome-component-01NmXTzEgrF39phnCSe8viLm
github/esphome:claude/implement-feature-01XZW5wQYzHvETNshAWfKm5q
github/esphome:claude/implement-tcal6416-expander-0131pM94uVv4T87qFicTeKje
github/esphome:claude/add-bmi270-component-01FYE7M2ES2quDQrHgjZPKiA
github/esphome:claude/gpio-expander-interrupts-01HSsYCjopzRVuG4BJ3g3fY4
github/esphome:claude/implement-t-01EW4HWW8XiCCEq2m7GeJzTV
github/esphome:jesserockz-2025-297
github/esphome:jesserockz-2025-423
github/esphome:jesserockz-2025-370
github/esphome:copilot/fix-9982
github/esphome:jesserockz-2025-352
github/esphome:revert-9439-lib_compat_mode_fix
github/esphome:jesserockz-2025-326
github/esphome:jesserockz-2025-322
github/esphome:copilot/fix-9603
github/esphome:jesserockz-2025-287
github/esphome:jesserockz-2025-250
github/esphome:jesserockz-2025-217
github/esphome:jesserockz-2025-102
github/esphome:jesserockz-2025-064
github/esphome:ld2420
github/esphome:jesserockz-2024-578
github/esphome:jesserockz-2024-565
github/esphome:jesserockz-2023-304
github/esphome:jesserockz-2023-232
github/esphome:jesserockz-2023-284
github/esphome:jesserockz-2024-416
github/esphome:power-supply-logs
github/esphome:jesserockz-2024-399
github/esphome:jesserockz-2024-251
github/esphome:jesserockz-2024-248
github/esphome:jesserockz-2024-210
github/esphome:bluetooth-proxy-log-device-requests
github/esphome:jesserockz-2024-196
github/esphome:jesserockz-2024-151
github/esphome:jesserockz-2023-284-2
github/esphome:jesserockz-2023-415
github/esphome:jesserockz-2023-409
github/esphome:ina226-extra-logs
github/esphome:remove-unique-id
github/esphome:jesserockz-2023-284-v2.6
github/esphome:socket-client-mode
github/esphome:dependabot/pip/clang-format-16.0.6
github/esphome:jesserockz-2022-199
github/esphome:jesserockz-2023-121
github/esphome:jesserockz-2023-110
github/esphome:jesserockz-2023-045
github/esphome:jesserockz-2022-398
github/esphome:jesserockz-2022-381
github/esphome:jesserockz-2022-321
github/esphome:jesserockz-2022-284
github/esphome:jesserockz-2022-172
github/esphome:jesserockz-2022-094
github/esphome:ble-server-controller
github/esphome:oral-b-brush
github/esphome:improv_serial/log-levels
github/esphome:2026.10.0b4
github/esphome:2026.10.0b3
github/esphome:2026.10.0b2
github/esphome:2026.10.0b1
github/esphome:2026.9.1
github/esphome:2026.9.0
github/esphome:2026.9.0b5
github/esphome:2026.9.0b4
github/esphome:2026.9.0b3
github/esphome:2026.9.0b2
github/esphome:2026.9.0b1
github/esphome:2026.8.2
github/esphome:2026.8.1
github/esphome:2026.8.0
github/esphome:2026.8.0b6
github/esphome:2026.8.0b5
github/esphome:2026.8.0b4
github/esphome:2026.8.0b3
github/esphome:2026.8.0b2
github/esphome:2026.8.0b1
github/esphome:2026.7.4
github/esphome:2026.7.3
github/esphome:2026.7.2
github/esphome:2026.7.1
github/esphome:2026.7.0
github/esphome:2026.7.0b4
github/esphome:2026.7.0b3
github/esphome:2026.7.0b2
github/esphome:2026.7.0b1
github/esphome:2026.6.5
github/esphome:2026.6.4
github/esphome:2026.6.3
github/esphome:2026.6.2
github/esphome:2026.6.1
github/esphome:2026.6.0
github/esphome:2026.6.0b4
github/esphome:2026.6.0b3
github/esphome:2026.6.0b2
github/esphome:2026.6.0b1
github/esphome:2026.5.3
github/esphome:2026.5.2
github/esphome:2026.5.1
github/esphome:2026.5.0
github/esphome:2026.5.0b4
github/esphome:2026.5.0b3
github/esphome:2026.5.0b2
github/esphome:2026.5.0b1
github/esphome:2026.4.5
github/esphome:2026.4.4
github/esphome:2026.4.3
github/esphome:2026.4.2
github/esphome:2026.4.1
github/esphome:2026.4.0
github/esphome:2026.4.0b3
github/esphome:2026.4.0b2
github/esphome:2026.4.0b1
github/esphome:2026.3.3
github/esphome:2026.3.2
github/esphome:2026.3.1
github/esphome:2026.3.0
github/esphome:2026.3.0b5
github/esphome:2026.3.0b4
github/esphome:2026.3.0b3
github/esphome:2026.3.0b2
github/esphome:2026.3.0b1
github/esphome:2026.2.4
github/esphome:2026.2.3
github/esphome:2026.2.2
github/esphome:2026.2.1
github/esphome:2026.2.0
github/esphome:2026.2.0b5
github/esphome:2026.2.0b4
github/esphome:2026.2.0b3
github/esphome:2026.2.0b2
github/esphome:2026.2.0b1
github/esphome:2026.1.5
github/esphome:2026.1.4
github/esphome:2026.1.3
github/esphome:2026.1.2
github/esphome:2026.1.1
github/esphome:2026.1.0
github/esphome:2026.1.0b4
github/esphome:2026.1.0b3
github/esphome:2025.12.7
github/esphome:2026.1.0b2
github/esphome:2026.1.0b1
github/esphome:2025.12.6
github/esphome:2025.12.5
github/esphome:2025.12.4
github/esphome:2025.12.3
github/esphome:2025.12.2
github/esphome:2025.12.1
github/esphome:2025.12.0
github/esphome:2025.12.0b5
github/esphome:2025.12.0b4
github/esphome:2025.12.0b3
github/esphome:2025.12.0b2
github/esphome:2025.12.0b1
github/esphome:2025.11.5
github/esphome:2025.11.4
github/esphome:2025.11.3
github/esphome:2025.11.2
github/esphome:2025.11.1
github/esphome:2025.11.0
github/esphome:2025.11.0b5
github/esphome:2025.11.0b4
github/esphome:2025.11.0b3
github/esphome:2025.11.0b2
github/esphome:2025.11.0b1
github/esphome:2025.10.5
github/esphome:2025.10.4
github/esphome:2025.10.3
github/esphome:2025.10.2
github/esphome:2025.10.1
github/esphome:2025.10.0
github/esphome:2025.10.0b4
github/esphome:2025.10.0b3
github/esphome:2025.10.0b2
github/esphome:2025.10.0b1
github/esphome:2025.9.3
github/esphome:2025.9.2
github/esphome:2025.9.1
github/esphome:2025.9.0
github/esphome:2025.9.0b4
github/esphome:2025.9.0b3
github/esphome:2025.9.0b2
github/esphome:2025.9.0b1
github/esphome:2025.8.4
github/esphome:2025.8.3
github/esphome:2025.8.2
github/esphome:2025.8.1
github/esphome:2025.8.0
github/esphome:2025.8.0b4
github/esphome:2025.8.0b3
github/esphome:2025.8.0b2
github/esphome:2025.8.0b1
github/esphome:2025.7.5
github/esphome:2025.7.4
github/esphome:2025.7.3
github/esphome:2025.7.2
github/esphome:2025.7.1
github/esphome:2025.7.0
github/esphome:2025.7.0b5
github/esphome:2025.7.0b4
github/esphome:2025.7.0b3
github/esphome:2025.7.0b2
github/esphome:2025.7.0b1
github/esphome:2025.6.3
github/esphome:2025.6.2
github/esphome:2025.6.1
github/esphome:2025.6.0
github/esphome:2025.6.0b3
github/esphome:2025.6.0b2
github/esphome:2025.6.0b1
github/esphome:2025.5.2
github/esphome:2025.5.1
github/esphome:2025.5.0
github/esphome:2025.5.0b6
github/esphome:2025.5.0b5
github/esphome:2025.5.0b4
github/esphome:2025.5.0b3
github/esphome:2025.5.0b2
github/esphome:2025.5.0b1
github/esphome:2025.4.2
github/esphome:2025.4.1
github/esphome:2025.4.0
github/esphome:2025.4.0b3
github/esphome:2025.4.0b2
github/esphome:2025.4.0b1
github/esphome:2025.3.3
github/esphome:2025.3.2
github/esphome:2025.3.1
github/esphome:2025.3.0
github/esphome:2025.3.0b5
github/esphome:2025.3.0b4
github/esphome:2025.3.0b3
github/esphome:2025.3.0b2
github/esphome:2025.3.0b1
github/esphome:2025.2.2
github/esphome:2025.2.1
github/esphome:2025.2.0
github/esphome:2025.2.0b6
github/esphome:2025.2.0b5
github/esphome:2025.2.0b4
github/esphome:2025.2.0b3
github/esphome:2025.2.0b2
github/esphome:2025.2.0b1
github/esphome:2024.12.4
github/esphome:2024.12.3
github/esphome:2024.12.2
github/esphome:2024.12.1
github/esphome:2024.12.0
github/esphome:2024.12.0b3
github/esphome:2024.12.0b2
github/esphome:2024.12.0b1
github/esphome:2024.11.3
github/esphome:2024.11.2
github/esphome:2024.11.1
github/esphome:2024.11.0
github/esphome:2024.11.0b4
github/esphome:2024.11.0b3
github/esphome:2024.11.0b2
github/esphome:2024.11.0b1
github/esphome:2024.10.3
github/esphome:2024.10.2
github/esphome:2024.10.1
github/esphome:2024.10.0
github/esphome:2024.10.0b2
github/esphome:2024.10.0b1
github/esphome:2024.9.2
github/esphome:2024.9.1
github/esphome:2024.9.0
github/esphome:2024.9.0b4
github/esphome:2024.9.0b3
github/esphome:2024.9.0b2
github/esphome:2024.9.0b1
github/esphome:2024.8.3
github/esphome:2024.8.2
github/esphome:2024.8.1
github/esphome:2024.8.0
github/esphome:2024.8.0b4
github/esphome:2024.8.0b3
github/esphome:2024.8.0b2
github/esphome:2024.8.0b1
github/esphome:2024.7.3
github/esphome:2024.7.2
github/esphome:2024.7.1
github/esphome:2024.7.0
github/esphome:2024.7.0b4
github/esphome:2024.7.0b3
github/esphome:2024.7.0b2
github/esphome:2024.7.0b1
github/esphome:2024.6.6
github/esphome:2024.6.5
github/esphome:2024.6.4
github/esphome:2024.6.3
github/esphome:2024.6.2
github/esphome:2024.6.1
github/esphome:2024.6.0
github/esphome:2024.6.0b5
github/esphome:2024.6.0b4
github/esphome:2024.6.0b3
github/esphome:2024.6.0b2
github/esphome:2024.6.0b1
github/esphome:2024.5.5
github/esphome:2024.5.4
github/esphome:2024.5.3
github/esphome:2024.5.2
github/esphome:2024.5.1
github/esphome:2024.5.0
github/esphome:2024.5.0b6
github/esphome:2024.5.0b5
github/esphome:2024.5.0b4
github/esphome:2024.5.0b3
github/esphome:2024.5.0b2
github/esphome:2024.5.0b1
github/esphome:2024.4.2
github/esphome:2024.4.1
github/esphome:2024.4.0
github/esphome:2024.4.0b3
github/esphome:2024.4.0b2
github/esphome:2024.4.0b1
github/esphome:2024.3.2
github/esphome:2024.3.1
github/esphome:2024.3.0
github/esphome:2024.3.0b5
github/esphome:2024.3.0b4
github/esphome:2024.3.0b3
github/esphome:2024.3.0b2
github/esphome:2024.3.0b1
github/esphome:2024.2.2
github/esphome:2024.2.1
github/esphome:2024.2.0
github/esphome:2024.2.0b3
github/esphome:2024.2.0b2
github/esphome:2024.2.0b1
github/esphome:2023.12.9
github/esphome:2023.12.8
github/esphome:2023.12.7
github/esphome:2023.12.6
github/esphome:2023.12.5
github/esphome:2023.12.4
github/esphome:2023.12.3
github/esphome:2023.12.2
github/esphome:2023.12.1
github/esphome:2023.12.0
github/esphome:2023.12.0b6
github/esphome:2023.12.0b5
github/esphome:2023.12.0b4
github/esphome:2023.12.0b3
github/esphome:2023.12.0b2
github/esphome:2023.12.0b1
github/esphome:2023.11.6
github/esphome:2023.11.5
github/esphome:2023.11.4
github/esphome:2023.11.3
github/esphome:2023.11.2
github/esphome:2023.11.1
github/esphome:2023.11.0
github/esphome:2023.11.0b7
github/esphome:2023.11.0b6
github/esphome:2023.11.0b5
github/esphome:2023.11.0b4
github/esphome:2023.11.0b3
github/esphome:2023.11.0b2
github/esphome:2023.11.0b1
github/esphome:2023.10.6
github/esphome:2023.10.5
github/esphome:2023.10.4
github/esphome:2023.10.3
github/esphome:2023.10.2
github/esphome:2023.10.1
github/esphome:2023.10.0
github/esphome:2023.10.0b4
github/esphome:2023.10.0b3
github/esphome:2023.10.0b2
github/esphome:2023.10.0b1
github/esphome:2023.9.3
github/esphome:2023.9.2
github/esphome:2023.9.1
github/esphome:2023.9.0
github/esphome:2023.9.0b4
github/esphome:2023.9.0b3
github/esphome:2023.9.0b2
github/esphome:2023.9.0b1
github/esphome:2023.8.3
github/esphome:2023.8.2
github/esphome:2023.8.1
github/esphome:2023.8.0
github/esphome:2023.8.0b4
github/esphome:2023.8.0b3
github/esphome:2023.8.0b2
github/esphome:2023.8.0b1
github/esphome:2023.7.1
github/esphome:2023.7.0
github/esphome:2023.7.0b3
github/esphome:2023.7.0b2
github/esphome:2023.7.0b1
github/esphome:2023.6.5
github/esphome:2023.6.4
github/esphome:2023.6.3
github/esphome:2023.6.2
github/esphome:2023.6.1
github/esphome:2023.6.0
github/esphome:2023.6.0b7
github/esphome:2023.6.0b6
github/esphome:2023.6.0b5
github/esphome:2023.6.0b4
github/esphome:2023.6.0b3
github/esphome:2023.6.0b2
github/esphome:2023.6.0b1
github/esphome:2023.5.5
github/esphome:2023.5.4
github/esphome:2023.5.3
github/esphome:2023.5.2
github/esphome:2023.5.1
github/esphome:2023.5.0
github/esphome:2023.5.0b5
github/esphome:2023.5.0b4
github/esphome:2023.5.0b3
github/esphome:2023.5.0b2
github/esphome:2023.5.0b1
github/esphome:2023.4.4
github/esphome:2023.4.3
github/esphome:2023.4.2
github/esphome:2023.4.1
github/esphome:2023.4.0
github/esphome:2023.4.0b4
github/esphome:2023.4.0b3
github/esphome:2023.4.0b2
github/esphome:2023.4.0b1
github/esphome:2023.3.2
github/esphome:2023.3.1
github/esphome:2023.3.0
github/esphome:2023.3.0b6
github/esphome:2023.3.0b5
github/esphome:2023.3.0b4
github/esphome:2023.3.0b3
github/esphome:2023.3.0b2
github/esphome:2023.3.0b1
github/esphome:2023.2.4
github/esphome:2023.2.3
github/esphome:2023.2.2
github/esphome:2023.2.1
github/esphome:2023.2.0
github/esphome:2023.2.0b5
github/esphome:2023.2.0b4
github/esphome:2023.2.0b3
github/esphome:2023.2.0b2
github/esphome:2023.2.0b1
github/esphome:2022.12.8
github/esphome:2022.12.7
github/esphome:2022.12.6
github/esphome:2022.12.5
github/esphome:2022.12.4
github/esphome:2022.12.3
github/esphome:2022.12.2
github/esphome:2022.12.1
github/esphome:2022.12.0
github/esphome:2022.12.0b6
github/esphome:2022.12.0b5
github/esphome:2022.12.0b4
github/esphome:2022.12.0b3
github/esphome:2022.12.0b2
github/esphome:2022.12.0b1
github/esphome:2022.11.5
github/esphome:2022.11.4
github/esphome:2022.11.3
github/esphome:2022.11.2
github/esphome:2022.11.1
github/esphome:2022.11.0
github/esphome:2022.11.0b6
github/esphome:2022.11.0b5
github/esphome:2022.11.0b4
github/esphome:2022.11.0b3
github/esphome:2022.11.0b2
github/esphome:2022.11.0b1
github/esphome:2022.10.2
github/esphome:2022.10.1
github/esphome:2022.10.0
github/esphome:2022.10.0b2
github/esphome:2022.10.0b1
github/esphome:2022.9.4
github/esphome:2022.9.3
github/esphome:2022.9.2
github/esphome:2022.9.1
github/esphome:2022.9.0
github/esphome:2022.9.0b5
github/esphome:2022.9.0b4
github/esphome:2022.9.0b3
github/esphome:2022.9.0b2
github/esphome:2022.9.0b1
github/esphome:2022.8.3
github/esphome:2022.8.2
github/esphome:2022.8.1
github/esphome:2022.8.0
github/esphome:2022.8.0b3
github/esphome:2022.8.0b2
github/esphome:2022.8.0b1
github/esphome:2022.6.3
github/esphome:2022.6.2
github/esphome:2022.6.1
github/esphome:2022.6.0
github/esphome:2022.6.0b4
github/esphome:2022.6.0b3
github/esphome:2022.6.0b2
github/esphome:2022.6.0b1
github/esphome:2022.5.1
github/esphome:2022.5.0
github/esphome:2022.5.0b4
github/esphome:2022.5.0b3
github/esphome:2022.5.0b2
github/esphome:2022.5.0b1
github/esphome:2022.4.0
github/esphome:2022.4.0b4
github/esphome:2022.4.0b3
github/esphome:2022.4.0b2
github/esphome:2022.4.0b1
github/esphome:2022.3.2
github/esphome:2022.3.1
github/esphome:2022.3.0
github/esphome:2022.3.0b2
github/esphome:2022.3.0b1
github/esphome:2022.2.6
github/esphome:2022.2.5
github/esphome:2022.2.4
github/esphome:2022.2.3
github/esphome:2022.2.2
github/esphome:2022.2.1
github/esphome:2022.2.0
github/esphome:2022.2.0b3
github/esphome:2022.2.0b2
github/esphome:2022.2.0b1
github/esphome:2022.1.4
github/esphome:2022.1.3
github/esphome:2022.1.2
github/esphome:2022.1.1
github/esphome:2022.1.0
github/esphome:2022.1.0b4
github/esphome:2022.1.0b3
github/esphome:2022.1.0b2
github/esphome:2022.1.0b1
github/esphome:2021.12.3
github/esphome:2021.12.2
github/esphome:2021.12.1
github/esphome:2021.12.0
github/esphome:2021.12.0b6
github/esphome:2021.12.0b5
github/esphome:2021.12.0b4
github/esphome:2021.12.0b3
github/esphome:2021.12.0b2
github/esphome:2021.12.0b1
github/esphome:2021.11.4
github/esphome:2021.11.3
github/esphome:2021.11.2
github/esphome:2021.11.1
github/esphome:2021.11.0
github/esphome:2021.11.0b9
github/esphome:2021.11.0b8
github/esphome:2021.11.0b7
github/esphome:2021.11.0b6
github/esphome:2021.11.0b5
github/esphome:2021.11.0b4
github/esphome:2021.11.0b3
github/esphome:2021.11.0b2
github/esphome:2021.11.0b1
github/esphome:2021.10.3
github/esphome:2021.10.2
github/esphome:2021.10.1
github/esphome:2021.10.0
github/esphome:2021.10.0b11
github/esphome:2021.10.0b10
github/esphome:2021.10.0b9
github/esphome:2021.10.0b8
github/esphome:2021.10.0b7
github/esphome:2021.10.0b6
github/esphome:2021.10.0b5
github/esphome:2021.10.0b4
github/esphome:2021.10.0b3
github/esphome:2021.10.0b2
github/esphome:2021.10.0b1
github/esphome:2021.9.3
github/esphome:2021.9.2
github/esphome:2021.9.1
github/esphome:2021.9.0
github/esphome:2021.9.0b5
github/esphome:2021.9.0b4
github/esphome:2021.9.0b3
github/esphome:2021.9.0b2
github/esphome:2021.9.0b1
github/esphome:2021.8.2
github/esphome:2021.8.1
github/esphome:2021.8.0
github/esphome:v1.21.0b3
github/esphome:v1.21.0b2
github/esphome:v1.21.0b1
github/esphome:v1.20.4
github/esphome:v1.20.3
github/esphome:v1.20.2
github/esphome:v1.20.1
github/esphome:v1.20.0
github/esphome:v1.20.0b6
github/esphome:v1.20.0b5
github/esphome:v1.20.0b4
github/esphome:v1.20.0b3
github/esphome:v1.20.0b2
github/esphome:v1.20.0b1
github/esphome:v1.19.4
github/esphome:v1.19.3
github/esphome:v1.19.2
github/esphome:v1.19.1
github/esphome:v1.19.0
github/esphome:v1.19.0b7
github/esphome:v1.19.0b6
github/esphome:v1.19.0b5
github/esphome:v1.19.0b4
github/esphome:v1.19.0b3
github/esphome:v1.19.0b2
github/esphome:v1.19.0b1
github/esphome:v1.18.0
github/esphome:v1.18.0b4
github/esphome:v1.18.0b3
github/esphome:v1.18.0b2
github/esphome:v1.18.0b1
github/esphome:v1.17.2
github/esphome:v1.17.1
github/esphome:v1.17.0
github/esphome:v1.17.0b1
github/esphome:v1.16.2
github/esphome:v1.16.1
github/esphome:v1.16.0
github/esphome:v1.16.0b8
github/esphome:v1.16.0b7
github/esphome:v1.16.0b6
github/esphome:v1.16.0b5
github/esphome:v1.16.0b4
github/esphome:v1.16.0b3
github/esphome:v1.16.0b2
github/esphome:v1.16.0b1
github/esphome:v1.15.3
github/esphome:v1.15.2
github/esphome:v1.15.1
github/esphome:v1.15.0
github/esphome:v1.15.0b4
github/esphome:v1.15.0b3
github/esphome:v1.15.0b2
github/esphome:v1.15.0b1
github/esphome:v1.14.5
github/esphome:v1.14.4
github/esphome:v1.14.3
github/esphome:v1.14.2
github/esphome:v1.14.1
github/esphome:v1.14.0
github/esphome:v1.14.0b5
github/esphome:v1.14.0b4
github/esphome:v1.14.0b3
github/esphome:v1.14.0b2
github/esphome:v1.14.0b1
github/esphome:v1.13.6
github/esphome:v1.13.5
github/esphome:v1.13.4
github/esphome:v1.13.3
github/esphome:v1.13.2
github/esphome:v1.13.1
github/esphome:v1.13.0
github/esphome:v1.13.0b7
github/esphome:v1.13.0b6
github/esphome:v1.13.0b5
github/esphome:v1.13.0b4
github/esphome:v1.13.0b3
github/esphome:v1.13.0b2
github/esphome:v1.13.0b1
github/esphome:v1.12.2
github/esphome:v1.12.1
github/esphome:v1.12.0
github/esphome:v1.12.0b4
github/esphome:v1.12.0b3
github/esphome:v1.12.0b2
github/esphome:v1.12.0b1
github/esphome:v1.11.2
github/esphome:v1.11.1
github/esphome:v1.11.0
github/esphome:v1.11.0b3
github/esphome:v1.11.0b2
github/esphome:v1.11.0b1
github/esphome:v1.10.1
github/esphome:v1.10.0
github/esphome:v1.10.0b2
github/esphome:v1.10.0b1
github/esphome:v1.9.3
github/esphome:v1.9.2
github/esphome:v1.9.1
github/esphome:v1.9.0
github/esphome:v1.9.0b6
github/esphome:v1.9.0b5
github/esphome:v1.9.0b4
github/esphome:v1.9.0b3
github/esphome:v1.9.0b2
github/esphome:v1.9.0b1
github/esphome:v1.8.2
github/esphome:v1.8.1
github/esphome:v1.8.0
github/esphome:v1.7.0
github/esphome:v1.6.2
github/esphome:v1.6.1
github/esphome:v1.6.0
github/esphome:v1.5.3
github/esphome:v1.5.2
github/esphome:v1.5.1
github/esphome:v1.5.0
github/esphome:v1.4.0
github/esphome:v1.3.0
github/esphome:v1.2.2
github/esphome:v1.2.1
github/esphome:v1.1
...
compare: github/esphome:esp32-log-v2
github/esphome:dev
github/esphome:tcp-uart-entity-platforms
github/esphome:uart-tcp-entity-platforms
github/esphome:bq76972-sensor-platform
github/esphome:fusb302b-entity-platforms
github/esphome:agents-no-autoload-entity-platforms
github/esphome:ota-udp-log-reason
github/esphome:logger-lazy-platform-imports
github/esphome:comm-fail-dump-config-cleanup-5
github/esphome:busdev-migrate-uart
github/esphome:uart-read-available-migrate
github/esphome:busdev-migrate-spi
github/esphome:i2c-write-registers-migrate
github/esphome:btnpresets-migrate
github/esphome:dfrobot-sen0395-line-reader
github/esphome:dfrobot-sen0395-no-heap-commands
github/esphome:host-interrupt-lock
github/esphome:apply-entities-ld6002b
github/esphome:i2c-encode-value-le-migrate
github/esphome:binary-sensor-lazy-integration-imports
github/esphome:enum-options-followup
github/esphome:apply-entities-select
github/esphome:apply-entities-button
github/esphome:apply-entities-number
github/esphome:apply-entities-switch
github/esphome:apply-entities
github/esphome:i2c-encode-value-le
github/esphome:apply-entities-migrate
github/esphome:sensor-with-dedup-migrate
github/esphome:sensor-with-dedup
github/esphome:http-request-ota-flash-test-coverage
github/esphome:gpio-expander-pin-helpers-migrate
github/esphome:gpio-expander-pin-helpers
github/esphome:declcfg-migrate
github/esphome:declcfg
github/esphome:sensor-lazy-integration-imports
github/esphome:esp8266-entity-names-components
github/esphome:i2c-update-register-migrate
github/esphome:i2c-update-register
github/esphome:esp8266-entity-names-flash
github/esphome:wifi-dpp-key-der
github/esphome:component-status-comm-result-migrate
github/esphome:epaper-spi-fill-dirty-bounds
github/esphome:http-request-https-scheme-prefix
github/esphome:helpers-bcd-migrate
github/esphome:helpers-bcd
github/esphome:fusb302b-trigger-when-filter
github/esphome:lock-trigger-when-filter
github/esphome:component-status-comm-result
github/esphome:in-range-apply-helper
github/esphome:agents-md-trigger-when-filter
github/esphome:in-range-test-coverage
github/esphome:ethernet-automation-apply-helper
github/esphome:wifi-automation-apply-helper
github/esphome:api-connected-apply-helper
github/esphome:ethernet-automation-test-coverage
github/esphome:wifi-automation-test-coverage
github/esphome:api-connected-test-coverage
github/esphome:light-toggle-apply-helper
github/esphome:light-toggle-test-coverage
github/esphome:http-request-ota-flash-apply-helper
github/esphome:http-request-ota-flash-apply
github/esphome:http-request-ota-flash-tests
github/esphome:http-request-ota-apply-action
github/esphome:dfrobot-sen0609-strstr-p
github/esphome:openthread-dns64-ipv6-literal
github/esphome:nrf52-mdk-usb-dongle
github/esphome:shelly_dimmer-drop-unused-dev-fields
github/esphome:light-set-external-state
github/esphome:hdmi-cec-part2
github/esphome:hdmi-cec-decoder
github/esphome:progmem-string-table-copy
github/esphome:esp32-log-v2-idf61
github/esphome:homeassistant-action-strings-progmem
github/esphome:esp32-operator-new
github/esphome:mqtt-async-client-topic-length
github/esphome:mqtt-subscription-topic-builders
github/esphome:autorepeat-progmem-timing
github/esphome:logger-boot-log-buffer
github/esphome:sscanf_stub
github/esphome:nfc-uri-prefixes-progmem
github/esphome:jesserockz-2026-762
github/esphome:sx127x-tables-progmem
github/esphome:sx126x-tables-progmem
github/esphome:seeed-mr60fda2-tables-progmem
github/esphome:veml7700-gain-names-progmem
github/esphome:restore-17827
github/esphome:store-yaml-firmware
github/esphome:radon-eye-single-node
github/esphome:cli-rotate-key
github/esphome:pulse_counter-tables-progmem
github/esphome:weikai-shared-print-buffer
github/esphome:cc1101-modulation-names-progmem
github/esphome:epaper-spi-state-names-progmem
github/esphome:weikai-register-names-progmem
github/esphome:haier-phase-names-progmem
github/esphome:seeed-mr24hpc1-tables-progmem
github/esphome:kamstrup_kmp-tables-progmem
github/esphome:ezo_pmp-tables-progmem
github/esphome:bme680_bsec-tables-progmem
github/esphome:micronova-tables-progmem
github/esphome:climate-custom-modes-const-vector
github/esphome:deprecate_waveshare_epaper_removal
github/esphome:neutral-ble-client
github/esphome:beta
github/esphome:bl0939-tables-progmem
github/esphome:ld2420-tables-progmem
github/esphome:tx20-tables-progmem
github/esphome:rtttl-tables-progmem
github/esphome:nextion-tables-progmem
github/esphome:esp32_rmt_led_strip_no_busy_wait
github/esphome:ezo-tables-progmem
github/esphome:yaml-edit-apply
github/esphome:uart-debug-event-flash
github/esphome:jesserockz-2026-446
github/esphome:fan-preset-modes-const-vector
github/esphome:agents-session-lessons
github/esphome:modbus-client-write-values-tables
github/esphome:light-effect-color-tables
github/esphome:number-traits-set-range
github/esphome:dlms-meter-slot-counter
github/esphome:codspeed/optim-protobuf-cursor
github/esphome:codspeed/optim-count-packed-varints
github/esphome:codspeed/optim-base64-single-pass
github/esphome:wifi-disconnect-before-reboot
github/esphome:ln882x-zero-malloc
github/esphome:ln882x-no-roam-scan
github/esphome:st7701s-init-flash
github/esphome:qspi-dbi-init-flash
github/esphome:ili9xxx-init-flash
github/esphome:socket-filter-link-tus
github/esphome:windows_cmake_lookup_ci
github/esphome:espidf-bootloader-cache
github/esphome:dependabot/pip/filelock-4.0.4
github/esphome:release
github/esphome:nrf52-pch
github/esphome:pch-identity-dedup
github/esphome:esp32-pio-pch
github/esphome:host-pch
github/esphome:pch-strict-ci
github/esphome:platformio-pch-libretiny
github/esphome:esp32-idf-pch
github/esphome:platformio-pch-rp2
github/esphome:esp8266-native-pch
github/esphome:nrf52-analyze-memory
github/esphome:integration
github/esphome:wifi-apply-action
github/esphome:ethernet-apply-action
github/esphome:noise-combo-test
github/esphome:at581x-zero-values
github/esphome:image-opaque-bulk-draw
github/esphome:display-pixels-at-constant-bitness
github/esphome:esp8266-mgmt-frame-pool-fallback
github/esphome:display-pixels-at-walk-order
github/esphome:image-row-major-draw
github/esphome:uart-idf-write-before-setup-guard
github/esphome:ld2420-extract-frame-builders
github/esphome:esp32-gpio-pin-ctor
github/esphome:template-number-ctor
github/esphome:web-server-base-ctor
github/esphome:esp32-rmt-led-strip-ctor
github/esphome:ltr390-ctor
github/esphome:http-request-update-ctor
github/esphome:rtttl-ctor
github/esphome:scd4x-ctor
github/esphome:factory-reset-switch-ctor
github/esphome:ota-http-request-ctor
github/esphome:idf-i2c-bus-ctor
github/esphome:ld2412-max-distance-timeout-number-ctor
github/esphome:ld2412-start-dynamic-background-correction-button-ctor
github/esphome:ld2412-restart-button-ctor
github/esphome:ld2412-query-button-ctor
github/esphome:ld2412-factory-reset-button-ctor
github/esphome:template-datetime-ctor
github/esphome:template-time-ctor
github/esphome:template-date-ctor
github/esphome:template-binary-output-ctor
github/esphome:datetime-user-ctor
github/esphome:text-user-ctor
github/esphome:event-user-ctor
github/esphome:button-user-ctor
github/esphome:select-user-ctor
github/esphome:codegen-default-init
github/esphome:rmt-tx-drop-when-busy
github/esphome:fix-rmt-tx-queue
github/esphome:20260218-zigbee-proxy
github/esphome:dependabot-ignore-platformio
github/esphome:noise-session-resume
github/esphome:esp8266-sodium-sha256-rodata-flash
github/esphome:esp8266-native-build-surgery
github/esphome:time-filter-posix-tz-cpptest
github/esphome:espidf-size-summary-guards
github/esphome:jesserockz-2026-578
github/esphome:proxy-subscribe-acks
github/esphome:lvgl-setup-priority-float-literal
github/esphome:ld2420-listen-first-startup
github/esphome:api-noise-c-branch-test
github/esphome:integration3
github/esphome:rp2-lwip-plus-3slots-test
github/esphome:kahrendt-va-runtime-model-loading
github/esphome:radon-eye-neutral-gatt
github/esphome:gatt-consumer-support
github/esphome:dnm-codspeed-deepcopy-proof
github/esphome:feat/nrf52_pwm
github/esphome:json-escape-core-helper
github/esphome:jesserockz-2026-378
github/esphome:frenck/replace-voluptuous-with-probatio
github/esphome:frenck/web-server-cover-assumed-state
github/esphome:frenck/framework-helpers-lazy-requests
github/esphome:jesserockz-2026-369
github/esphome:jesserockz-2026-364
github/esphome:copilot/usb-uart-fix-baud-rate-forwarding
github/esphome:esp32-idf-spaces-path-fix
github/esphome:dnm-memory-impact-proof
github/esphome:koan/vscode-component-not-found-key
github/esphome:core-blocking-warning-source
github/esphome:esp8266-stock-delay-millis
github/esphome:multi-interface-poc
github/esphome:esp32-loop-task-stack-dram-attr
github/esphome:c6-test-partitions
github/esphome:speedup-mipi-display-tests
github/esphome:lvgl-lazy-widget-schemas
github/esphome:ci-uv-installs-probe
github/esphome:ci/sync-device-classes-uv
github/esphome:test-dashboard-deprecation-bot
github/esphome:core-prebuilt-dir-upload
github/esphome:dnm-socket-recv-diag-15953
github/esphome:test-device-builder-ci
github/esphome:claude/network-switching-config-gL3sq
github/esphome:bk72xx-crash-handler
github/esphome:sensor-timeout-filter-scheduler
github/esphome:dnm_test_api_connection_comment
github/esphome:dnm_test_cover_comment
github/esphome:split-hal-per-platform
github/esphome:esp32-preferences-defer-init-log
github/esphome:api-server-incomplete-type-fix
github/esphome:scheduler-memw-outlined
github/esphome:scheduler-memw-only
github/esphome:app-loop-optimize-speed
github/esphome:scheduler-snapshot-counters
github/esphome:config-version-hash-constexpr
github/esphome:core-chunked-setup
github/esphome:pr-15656
github/esphome:light-inline-color-mode-to-bit
github/esphome:ledc-iram-safety
github/esphome:remote-receiver-iram-safety
github/esphome:benchmark-crypto-o2
github/esphome:proto-speed-optimized
github/esphome:fast-millis-rp2040
github/esphome:core-fast-select-scan-stats
github/esphome:api-unroll-varint-encode
github/esphome:sx1509-interrupt-pin
github/esphome:fix-rotary-encoder-templatable-type
github/esphome:max6956_gpio_cache_banks
github/esphome:remove_posix_tz_parser
github/esphome:remove-set-retry
github/esphome:20260327-bsec2-tidying
github/esphome:20260324-ir_rf_proxy-rx-freq
github/esphome:jesserockz-2026-040
github/esphome:copilot/lvgl-v9-api
github/esphome:esp32-log-v2
github/esphome:copilot/audit-assertion-calls
github/esphome:copilot/add-deprecated-component-label
github/esphome:pipsolar_teleinfo
github/esphome:copilot/fix-10045
github/esphome:claude/esphome-action-responses-01EXP5td9nGeLpBoTe8eenre
github/esphome:copilot/fix-internal-gpio-attach-issues
github/esphome:claude/optimize-inkplate-display-01XRaLWTgEsLC7AY9zkMwoWX
github/esphome:copilot/fix-deprecated-pulse-counter-driver
github/esphome:claude/implement-ha-cards-lvgl-01P4a84LZVfkvp74VAeW6byq
github/esphome:claude/bthome-packet-parser-013Zc5fvXF4EUg5mHfDhMegw
github/esphome:claude/add-axp2101-component-01J2hk1SL1x8F31eGwsNaQMF
github/esphome:claude/create-esphome-component-01NmXTzEgrF39phnCSe8viLm
github/esphome:claude/implement-feature-01XZW5wQYzHvETNshAWfKm5q
github/esphome:claude/implement-tcal6416-expander-0131pM94uVv4T87qFicTeKje
github/esphome:claude/add-bmi270-component-01FYE7M2ES2quDQrHgjZPKiA
github/esphome:claude/gpio-expander-interrupts-01HSsYCjopzRVuG4BJ3g3fY4
github/esphome:claude/implement-t-01EW4HWW8XiCCEq2m7GeJzTV
github/esphome:jesserockz-2025-297
github/esphome:jesserockz-2025-423
github/esphome:jesserockz-2025-370
github/esphome:copilot/fix-9982
github/esphome:jesserockz-2025-352
github/esphome:revert-9439-lib_compat_mode_fix
github/esphome:jesserockz-2025-326
github/esphome:jesserockz-2025-322
github/esphome:copilot/fix-9603
github/esphome:jesserockz-2025-287
github/esphome:jesserockz-2025-250
github/esphome:jesserockz-2025-217
github/esphome:jesserockz-2025-102
github/esphome:jesserockz-2025-064
github/esphome:ld2420
github/esphome:jesserockz-2024-578
github/esphome:jesserockz-2024-565
github/esphome:jesserockz-2023-304
github/esphome:jesserockz-2023-232
github/esphome:jesserockz-2023-284
github/esphome:jesserockz-2024-416
github/esphome:power-supply-logs
github/esphome:jesserockz-2024-399
github/esphome:jesserockz-2024-251
github/esphome:jesserockz-2024-248
github/esphome:jesserockz-2024-210
github/esphome:bluetooth-proxy-log-device-requests
github/esphome:jesserockz-2024-196
github/esphome:jesserockz-2024-151
github/esphome:jesserockz-2023-284-2
github/esphome:jesserockz-2023-415
github/esphome:jesserockz-2023-409
github/esphome:ina226-extra-logs
github/esphome:remove-unique-id
github/esphome:jesserockz-2023-284-v2.6
github/esphome:socket-client-mode
github/esphome:dependabot/pip/clang-format-16.0.6
github/esphome:jesserockz-2022-199
github/esphome:jesserockz-2023-121
github/esphome:jesserockz-2023-110
github/esphome:jesserockz-2023-045
github/esphome:jesserockz-2022-398
github/esphome:jesserockz-2022-381
github/esphome:jesserockz-2022-321
github/esphome:jesserockz-2022-284
github/esphome:jesserockz-2022-172
github/esphome:jesserockz-2022-094
github/esphome:ble-server-controller
github/esphome:oral-b-brush
github/esphome:improv_serial/log-levels
github/esphome:2026.10.0b4
github/esphome:2026.10.0b3
github/esphome:2026.10.0b2
github/esphome:2026.10.0b1
github/esphome:2026.9.1
github/esphome:2026.9.0
github/esphome:2026.9.0b5
github/esphome:2026.9.0b4
github/esphome:2026.9.0b3
github/esphome:2026.9.0b2
github/esphome:2026.9.0b1
github/esphome:2026.8.2
github/esphome:2026.8.1
github/esphome:2026.8.0
github/esphome:2026.8.0b6
github/esphome:2026.8.0b5
github/esphome:2026.8.0b4
github/esphome:2026.8.0b3
github/esphome:2026.8.0b2
github/esphome:2026.8.0b1
github/esphome:2026.7.4
github/esphome:2026.7.3
github/esphome:2026.7.2
github/esphome:2026.7.1
github/esphome:2026.7.0
github/esphome:2026.7.0b4
github/esphome:2026.7.0b3
github/esphome:2026.7.0b2
github/esphome:2026.7.0b1
github/esphome:2026.6.5
github/esphome:2026.6.4
github/esphome:2026.6.3
github/esphome:2026.6.2
github/esphome:2026.6.1
github/esphome:2026.6.0
github/esphome:2026.6.0b4
github/esphome:2026.6.0b3
github/esphome:2026.6.0b2
github/esphome:2026.6.0b1
github/esphome:2026.5.3
github/esphome:2026.5.2
github/esphome:2026.5.1
github/esphome:2026.5.0
github/esphome:2026.5.0b4
github/esphome:2026.5.0b3
github/esphome:2026.5.0b2
github/esphome:2026.5.0b1
github/esphome:2026.4.5
github/esphome:2026.4.4
github/esphome:2026.4.3
github/esphome:2026.4.2
github/esphome:2026.4.1
github/esphome:2026.4.0
github/esphome:2026.4.0b3
github/esphome:2026.4.0b2
github/esphome:2026.4.0b1
github/esphome:2026.3.3
github/esphome:2026.3.2
github/esphome:2026.3.1
github/esphome:2026.3.0
github/esphome:2026.3.0b5
github/esphome:2026.3.0b4
github/esphome:2026.3.0b3
github/esphome:2026.3.0b2
github/esphome:2026.3.0b1
github/esphome:2026.2.4
github/esphome:2026.2.3
github/esphome:2026.2.2
github/esphome:2026.2.1
github/esphome:2026.2.0
github/esphome:2026.2.0b5
github/esphome:2026.2.0b4
github/esphome:2026.2.0b3
github/esphome:2026.2.0b2
github/esphome:2026.2.0b1
github/esphome:2026.1.5
github/esphome:2026.1.4
github/esphome:2026.1.3
github/esphome:2026.1.2
github/esphome:2026.1.1
github/esphome:2026.1.0
github/esphome:2026.1.0b4
github/esphome:2026.1.0b3
github/esphome:2025.12.7
github/esphome:2026.1.0b2
github/esphome:2026.1.0b1
github/esphome:2025.12.6
github/esphome:2025.12.5
github/esphome:2025.12.4
github/esphome:2025.12.3
github/esphome:2025.12.2
github/esphome:2025.12.1
github/esphome:2025.12.0
github/esphome:2025.12.0b5
github/esphome:2025.12.0b4
github/esphome:2025.12.0b3
github/esphome:2025.12.0b2
github/esphome:2025.12.0b1
github/esphome:2025.11.5
github/esphome:2025.11.4
github/esphome:2025.11.3
github/esphome:2025.11.2
github/esphome:2025.11.1
github/esphome:2025.11.0
github/esphome:2025.11.0b5
github/esphome:2025.11.0b4
github/esphome:2025.11.0b3
github/esphome:2025.11.0b2
github/esphome:2025.11.0b1
github/esphome:2025.10.5
github/esphome:2025.10.4
github/esphome:2025.10.3
github/esphome:2025.10.2
github/esphome:2025.10.1
github/esphome:2025.10.0
github/esphome:2025.10.0b4
github/esphome:2025.10.0b3
github/esphome:2025.10.0b2
github/esphome:2025.10.0b1
github/esphome:2025.9.3
github/esphome:2025.9.2
github/esphome:2025.9.1
github/esphome:2025.9.0
github/esphome:2025.9.0b4
github/esphome:2025.9.0b3
github/esphome:2025.9.0b2
github/esphome:2025.9.0b1
github/esphome:2025.8.4
github/esphome:2025.8.3
github/esphome:2025.8.2
github/esphome:2025.8.1
github/esphome:2025.8.0
github/esphome:2025.8.0b4
github/esphome:2025.8.0b3
github/esphome:2025.8.0b2
github/esphome:2025.8.0b1
github/esphome:2025.7.5
github/esphome:2025.7.4
github/esphome:2025.7.3
github/esphome:2025.7.2
github/esphome:2025.7.1
github/esphome:2025.7.0
github/esphome:2025.7.0b5
github/esphome:2025.7.0b4
github/esphome:2025.7.0b3
github/esphome:2025.7.0b2
github/esphome:2025.7.0b1
github/esphome:2025.6.3
github/esphome:2025.6.2
github/esphome:2025.6.1
github/esphome:2025.6.0
github/esphome:2025.6.0b3
github/esphome:2025.6.0b2
github/esphome:2025.6.0b1
github/esphome:2025.5.2
github/esphome:2025.5.1
github/esphome:2025.5.0
github/esphome:2025.5.0b6
github/esphome:2025.5.0b5
github/esphome:2025.5.0b4
github/esphome:2025.5.0b3
github/esphome:2025.5.0b2
github/esphome:2025.5.0b1
github/esphome:2025.4.2
github/esphome:2025.4.1
github/esphome:2025.4.0
github/esphome:2025.4.0b3
github/esphome:2025.4.0b2
github/esphome:2025.4.0b1
github/esphome:2025.3.3
github/esphome:2025.3.2
github/esphome:2025.3.1
github/esphome:2025.3.0
github/esphome:2025.3.0b5
github/esphome:2025.3.0b4
github/esphome:2025.3.0b3
github/esphome:2025.3.0b2
github/esphome:2025.3.0b1
github/esphome:2025.2.2
github/esphome:2025.2.1
github/esphome:2025.2.0
github/esphome:2025.2.0b6
github/esphome:2025.2.0b5
github/esphome:2025.2.0b4
github/esphome:2025.2.0b3
github/esphome:2025.2.0b2
github/esphome:2025.2.0b1
github/esphome:2024.12.4
github/esphome:2024.12.3
github/esphome:2024.12.2
github/esphome:2024.12.1
github/esphome:2024.12.0
github/esphome:2024.12.0b3
github/esphome:2024.12.0b2
github/esphome:2024.12.0b1
github/esphome:2024.11.3
github/esphome:2024.11.2
github/esphome:2024.11.1
github/esphome:2024.11.0
github/esphome:2024.11.0b4
github/esphome:2024.11.0b3
github/esphome:2024.11.0b2
github/esphome:2024.11.0b1
github/esphome:2024.10.3
github/esphome:2024.10.2
github/esphome:2024.10.1
github/esphome:2024.10.0
github/esphome:2024.10.0b2
github/esphome:2024.10.0b1
github/esphome:2024.9.2
github/esphome:2024.9.1
github/esphome:2024.9.0
github/esphome:2024.9.0b4
github/esphome:2024.9.0b3
github/esphome:2024.9.0b2
github/esphome:2024.9.0b1
github/esphome:2024.8.3
github/esphome:2024.8.2
github/esphome:2024.8.1
github/esphome:2024.8.0
github/esphome:2024.8.0b4
github/esphome:2024.8.0b3
github/esphome:2024.8.0b2
github/esphome:2024.8.0b1
github/esphome:2024.7.3
github/esphome:2024.7.2
github/esphome:2024.7.1
github/esphome:2024.7.0
github/esphome:2024.7.0b4
github/esphome:2024.7.0b3
github/esphome:2024.7.0b2
github/esphome:2024.7.0b1
github/esphome:2024.6.6
github/esphome:2024.6.5
github/esphome:2024.6.4
github/esphome:2024.6.3
github/esphome:2024.6.2
github/esphome:2024.6.1
github/esphome:2024.6.0
github/esphome:2024.6.0b5
github/esphome:2024.6.0b4
github/esphome:2024.6.0b3
github/esphome:2024.6.0b2
github/esphome:2024.6.0b1
github/esphome:2024.5.5
github/esphome:2024.5.4
github/esphome:2024.5.3
github/esphome:2024.5.2
github/esphome:2024.5.1
github/esphome:2024.5.0
github/esphome:2024.5.0b6
github/esphome:2024.5.0b5
github/esphome:2024.5.0b4
github/esphome:2024.5.0b3
github/esphome:2024.5.0b2
github/esphome:2024.5.0b1
github/esphome:2024.4.2
github/esphome:2024.4.1
github/esphome:2024.4.0
github/esphome:2024.4.0b3
github/esphome:2024.4.0b2
github/esphome:2024.4.0b1
github/esphome:2024.3.2
github/esphome:2024.3.1
github/esphome:2024.3.0
github/esphome:2024.3.0b5
github/esphome:2024.3.0b4
github/esphome:2024.3.0b3
github/esphome:2024.3.0b2
github/esphome:2024.3.0b1
github/esphome:2024.2.2
github/esphome:2024.2.1
github/esphome:2024.2.0
github/esphome:2024.2.0b3
github/esphome:2024.2.0b2
github/esphome:2024.2.0b1
github/esphome:2023.12.9
github/esphome:2023.12.8
github/esphome:2023.12.7
github/esphome:2023.12.6
github/esphome:2023.12.5
github/esphome:2023.12.4
github/esphome:2023.12.3
github/esphome:2023.12.2
github/esphome:2023.12.1
github/esphome:2023.12.0
github/esphome:2023.12.0b6
github/esphome:2023.12.0b5
github/esphome:2023.12.0b4
github/esphome:2023.12.0b3
github/esphome:2023.12.0b2
github/esphome:2023.12.0b1
github/esphome:2023.11.6
github/esphome:2023.11.5
github/esphome:2023.11.4
github/esphome:2023.11.3
github/esphome:2023.11.2
github/esphome:2023.11.1
github/esphome:2023.11.0
github/esphome:2023.11.0b7
github/esphome:2023.11.0b6
github/esphome:2023.11.0b5
github/esphome:2023.11.0b4
github/esphome:2023.11.0b3
github/esphome:2023.11.0b2
github/esphome:2023.11.0b1
github/esphome:2023.10.6
github/esphome:2023.10.5
github/esphome:2023.10.4
github/esphome:2023.10.3
github/esphome:2023.10.2
github/esphome:2023.10.1
github/esphome:2023.10.0
github/esphome:2023.10.0b4
github/esphome:2023.10.0b3
github/esphome:2023.10.0b2
github/esphome:2023.10.0b1
github/esphome:2023.9.3
github/esphome:2023.9.2
github/esphome:2023.9.1
github/esphome:2023.9.0
github/esphome:2023.9.0b4
github/esphome:2023.9.0b3
github/esphome:2023.9.0b2
github/esphome:2023.9.0b1
github/esphome:2023.8.3
github/esphome:2023.8.2
github/esphome:2023.8.1
github/esphome:2023.8.0
github/esphome:2023.8.0b4
github/esphome:2023.8.0b3
github/esphome:2023.8.0b2
github/esphome:2023.8.0b1
github/esphome:2023.7.1
github/esphome:2023.7.0
github/esphome:2023.7.0b3
github/esphome:2023.7.0b2
github/esphome:2023.7.0b1
github/esphome:2023.6.5
github/esphome:2023.6.4
github/esphome:2023.6.3
github/esphome:2023.6.2
github/esphome:2023.6.1
github/esphome:2023.6.0
github/esphome:2023.6.0b7
github/esphome:2023.6.0b6
github/esphome:2023.6.0b5
github/esphome:2023.6.0b4
github/esphome:2023.6.0b3
github/esphome:2023.6.0b2
github/esphome:2023.6.0b1
github/esphome:2023.5.5
github/esphome:2023.5.4
github/esphome:2023.5.3
github/esphome:2023.5.2
github/esphome:2023.5.1
github/esphome:2023.5.0
github/esphome:2023.5.0b5
github/esphome:2023.5.0b4
github/esphome:2023.5.0b3
github/esphome:2023.5.0b2
github/esphome:2023.5.0b1
github/esphome:2023.4.4
github/esphome:2023.4.3
github/esphome:2023.4.2
github/esphome:2023.4.1
github/esphome:2023.4.0
github/esphome:2023.4.0b4
github/esphome:2023.4.0b3
github/esphome:2023.4.0b2
github/esphome:2023.4.0b1
github/esphome:2023.3.2
github/esphome:2023.3.1
github/esphome:2023.3.0
github/esphome:2023.3.0b6
github/esphome:2023.3.0b5
github/esphome:2023.3.0b4
github/esphome:2023.3.0b3
github/esphome:2023.3.0b2
github/esphome:2023.3.0b1
github/esphome:2023.2.4
github/esphome:2023.2.3
github/esphome:2023.2.2
github/esphome:2023.2.1
github/esphome:2023.2.0
github/esphome:2023.2.0b5
github/esphome:2023.2.0b4
github/esphome:2023.2.0b3
github/esphome:2023.2.0b2
github/esphome:2023.2.0b1
github/esphome:2022.12.8
github/esphome:2022.12.7
github/esphome:2022.12.6
github/esphome:2022.12.5
github/esphome:2022.12.4
github/esphome:2022.12.3
github/esphome:2022.12.2
github/esphome:2022.12.1
github/esphome:2022.12.0
github/esphome:2022.12.0b6
github/esphome:2022.12.0b5
github/esphome:2022.12.0b4
github/esphome:2022.12.0b3
github/esphome:2022.12.0b2
github/esphome:2022.12.0b1
github/esphome:2022.11.5
github/esphome:2022.11.4
github/esphome:2022.11.3
github/esphome:2022.11.2
github/esphome:2022.11.1
github/esphome:2022.11.0
github/esphome:2022.11.0b6
github/esphome:2022.11.0b5
github/esphome:2022.11.0b4
github/esphome:2022.11.0b3
github/esphome:2022.11.0b2
github/esphome:2022.11.0b1
github/esphome:2022.10.2
github/esphome:2022.10.1
github/esphome:2022.10.0
github/esphome:2022.10.0b2
github/esphome:2022.10.0b1
github/esphome:2022.9.4
github/esphome:2022.9.3
github/esphome:2022.9.2
github/esphome:2022.9.1
github/esphome:2022.9.0
github/esphome:2022.9.0b5
github/esphome:2022.9.0b4
github/esphome:2022.9.0b3
github/esphome:2022.9.0b2
github/esphome:2022.9.0b1
github/esphome:2022.8.3
github/esphome:2022.8.2
github/esphome:2022.8.1
github/esphome:2022.8.0
github/esphome:2022.8.0b3
github/esphome:2022.8.0b2
github/esphome:2022.8.0b1
github/esphome:2022.6.3
github/esphome:2022.6.2
github/esphome:2022.6.1
github/esphome:2022.6.0
github/esphome:2022.6.0b4
github/esphome:2022.6.0b3
github/esphome:2022.6.0b2
github/esphome:2022.6.0b1
github/esphome:2022.5.1
github/esphome:2022.5.0
github/esphome:2022.5.0b4
github/esphome:2022.5.0b3
github/esphome:2022.5.0b2
github/esphome:2022.5.0b1
github/esphome:2022.4.0
github/esphome:2022.4.0b4
github/esphome:2022.4.0b3
github/esphome:2022.4.0b2
github/esphome:2022.4.0b1
github/esphome:2022.3.2
github/esphome:2022.3.1
github/esphome:2022.3.0
github/esphome:2022.3.0b2
github/esphome:2022.3.0b1
github/esphome:2022.2.6
github/esphome:2022.2.5
github/esphome:2022.2.4
github/esphome:2022.2.3
github/esphome:2022.2.2
github/esphome:2022.2.1
github/esphome:2022.2.0
github/esphome:2022.2.0b3
github/esphome:2022.2.0b2
github/esphome:2022.2.0b1
github/esphome:2022.1.4
github/esphome:2022.1.3
github/esphome:2022.1.2
github/esphome:2022.1.1
github/esphome:2022.1.0
github/esphome:2022.1.0b4
github/esphome:2022.1.0b3
github/esphome:2022.1.0b2
github/esphome:2022.1.0b1
github/esphome:2021.12.3
github/esphome:2021.12.2
github/esphome:2021.12.1
github/esphome:2021.12.0
github/esphome:2021.12.0b6
github/esphome:2021.12.0b5
github/esphome:2021.12.0b4
github/esphome:2021.12.0b3
github/esphome:2021.12.0b2
github/esphome:2021.12.0b1
github/esphome:2021.11.4
github/esphome:2021.11.3
github/esphome:2021.11.2
github/esphome:2021.11.1
github/esphome:2021.11.0
github/esphome:2021.11.0b9
github/esphome:2021.11.0b8
github/esphome:2021.11.0b7
github/esphome:2021.11.0b6
github/esphome:2021.11.0b5
github/esphome:2021.11.0b4
github/esphome:2021.11.0b3
github/esphome:2021.11.0b2
github/esphome:2021.11.0b1
github/esphome:2021.10.3
github/esphome:2021.10.2
github/esphome:2021.10.1
github/esphome:2021.10.0
github/esphome:2021.10.0b11
github/esphome:2021.10.0b10
github/esphome:2021.10.0b9
github/esphome:2021.10.0b8
github/esphome:2021.10.0b7
github/esphome:2021.10.0b6
github/esphome:2021.10.0b5
github/esphome:2021.10.0b4
github/esphome:2021.10.0b3
github/esphome:2021.10.0b2
github/esphome:2021.10.0b1
github/esphome:2021.9.3
github/esphome:2021.9.2
github/esphome:2021.9.1
github/esphome:2021.9.0
github/esphome:2021.9.0b5
github/esphome:2021.9.0b4
github/esphome:2021.9.0b3
github/esphome:2021.9.0b2
github/esphome:2021.9.0b1
github/esphome:2021.8.2
github/esphome:2021.8.1
github/esphome:2021.8.0
github/esphome:v1.21.0b3
github/esphome:v1.21.0b2
github/esphome:v1.21.0b1
github/esphome:v1.20.4
github/esphome:v1.20.3
github/esphome:v1.20.2
github/esphome:v1.20.1
github/esphome:v1.20.0
github/esphome:v1.20.0b6
github/esphome:v1.20.0b5
github/esphome:v1.20.0b4
github/esphome:v1.20.0b3
github/esphome:v1.20.0b2
github/esphome:v1.20.0b1
github/esphome:v1.19.4
github/esphome:v1.19.3
github/esphome:v1.19.2
github/esphome:v1.19.1
github/esphome:v1.19.0
github/esphome:v1.19.0b7
github/esphome:v1.19.0b6
github/esphome:v1.19.0b5
github/esphome:v1.19.0b4
github/esphome:v1.19.0b3
github/esphome:v1.19.0b2
github/esphome:v1.19.0b1
github/esphome:v1.18.0
github/esphome:v1.18.0b4
github/esphome:v1.18.0b3
github/esphome:v1.18.0b2
github/esphome:v1.18.0b1
github/esphome:v1.17.2
github/esphome:v1.17.1
github/esphome:v1.17.0
github/esphome:v1.17.0b1
github/esphome:v1.16.2
github/esphome:v1.16.1
github/esphome:v1.16.0
github/esphome:v1.16.0b8
github/esphome:v1.16.0b7
github/esphome:v1.16.0b6
github/esphome:v1.16.0b5
github/esphome:v1.16.0b4
github/esphome:v1.16.0b3
github/esphome:v1.16.0b2
github/esphome:v1.16.0b1
github/esphome:v1.15.3
github/esphome:v1.15.2
github/esphome:v1.15.1
github/esphome:v1.15.0
github/esphome:v1.15.0b4
github/esphome:v1.15.0b3
github/esphome:v1.15.0b2
github/esphome:v1.15.0b1
github/esphome:v1.14.5
github/esphome:v1.14.4
github/esphome:v1.14.3
github/esphome:v1.14.2
github/esphome:v1.14.1
github/esphome:v1.14.0
github/esphome:v1.14.0b5
github/esphome:v1.14.0b4
github/esphome:v1.14.0b3
github/esphome:v1.14.0b2
github/esphome:v1.14.0b1
github/esphome:v1.13.6
github/esphome:v1.13.5
github/esphome:v1.13.4
github/esphome:v1.13.3
github/esphome:v1.13.2
github/esphome:v1.13.1
github/esphome:v1.13.0
github/esphome:v1.13.0b7
github/esphome:v1.13.0b6
github/esphome:v1.13.0b5
github/esphome:v1.13.0b4
github/esphome:v1.13.0b3
github/esphome:v1.13.0b2
github/esphome:v1.13.0b1
github/esphome:v1.12.2
github/esphome:v1.12.1
github/esphome:v1.12.0
github/esphome:v1.12.0b4
github/esphome:v1.12.0b3
github/esphome:v1.12.0b2
github/esphome:v1.12.0b1
github/esphome:v1.11.2
github/esphome:v1.11.1
github/esphome:v1.11.0
github/esphome:v1.11.0b3
github/esphome:v1.11.0b2
github/esphome:v1.11.0b1
github/esphome:v1.10.1
github/esphome:v1.10.0
github/esphome:v1.10.0b2
github/esphome:v1.10.0b1
github/esphome:v1.9.3
github/esphome:v1.9.2
github/esphome:v1.9.1
github/esphome:v1.9.0
github/esphome:v1.9.0b6
github/esphome:v1.9.0b5
github/esphome:v1.9.0b4
github/esphome:v1.9.0b3
github/esphome:v1.9.0b2
github/esphome:v1.9.0b1
github/esphome:v1.8.2
github/esphome:v1.8.1
github/esphome:v1.8.0
github/esphome:v1.7.0
github/esphome:v1.6.2
github/esphome:v1.6.1
github/esphome:v1.6.0
github/esphome:v1.5.3
github/esphome:v1.5.2
github/esphome:v1.5.1
github/esphome:v1.5.0
github/esphome:v1.4.0
github/esphome:v1.3.0
github/esphome:v1.2.2
github/esphome:v1.2.1
github/esphome:v1.1
11
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
fd3aa3f2ef |
[esp32] IRAM_ATTR on dispatch, document cold path
Put IRAM_ATTR back on esp_log_format (tiny ~43 byte dispatch function) to match esp_log_va's IRAM placement and avoid cache miss. Leave the 512-byte formatting function in flash — it's cold on 99.9% of builds (only runs during early boot and at DEBUG framework log level). |
||
|
|
4fbd0f1595 | [esp32] Rename esp_log_format_early_ to esp_log_format_direct_ | ||
|
|
dc2d241c49 | [esp32] Remove IRAM_ATTR from esp_log_format override | ||
|
|
5adc673981 |
[esp32] Remove pointless ISR check, document flash limitation
The ISR with cache disabled case can't be handled without esp_rom_vprintf — the caller's format string and tag are also in flash, so even esp_rom_printf would crash. This is the same limitation V1 had. Document it and keep the simpler code. |
||
|
|
623f7249b8 |
[esp32] Add ISR safety check for constrained env logging
constrained_env combines three conditions: scheduler not running, in ISR, or cache disabled. Only the first is safe for flash access. Check xPortInIsrContext() (IRAM-resident) explicitly: - In ISR: output tag only via esp_rom_printf (ROM). Flash may be inaccessible. This matches V1 behavior where ISR logging was best-effort. - Not in ISR (scheduler not running, PHY init): call flash-resident esp_log_format_early_ which formats the full message. This ensures the override is safe for all constrained env cases without pulling in esp_rom_vprintf (1.2KB IRAM). |
||
|
|
98f0e53053 | [esp32] Update stale comments and remove unused includes | ||
|
|
159005e91a | [esp32] Use 512-byte stack buffer for early/constrained log formatting | ||
|
|
fac141e3fd |
[esp32] Avoid esp_rom_vprintf and fix constrained env crash
- Route constrained env (PHY init, efuse reads) through the early boot path which uses vsnprintf + esp_rom_printf. This avoids both the fwrite lock crash on USB JTAG devices and pulling in esp_rom_vprintf (1.2KB IRAM). - Call esp_log_vprint_func directly on the normal path instead of going through the esp_log_vprintf inline (which would reference esp_rom_vprintf for the constrained env dispatch). - Remove IRAM_ATTR from esp_log_format_early_ since it's only called when flash is accessible (early boot and constrained env with cache enabled like PHY init and efuse reads). |
||
|
|
d3055ea6ea | [esp32] Drop :000 line number and shorten fallback tag | ||
|
|
99e0dcf563 |
[esp32] Use DRAM_ATTR for format strings in IRAM log override
ESP-IDF places log_format_text.c in IRAM/DRAM via linker fragment (noflash) when CONFIG_LOG_IN_IRAM=y. Our override is in a different compilation unit so string literals would default to flash. In constrained environments where flash cache is disabled, reading flash-resident format strings would fault. Move all format string constants to DRAM_ATTR to match ESP-IDF's own behavior. |
||
|
|
3a491722b2 |
[esp32] Use ESP-IDF Log V2 to reduce flash usage
Switch from ESP-IDF Log V1 to V2, which centralizes log formatting inside esp_log() instead of expanding esp_log_timestamp(), color codes, and LOG_FORMAT() at every ESP_LOGx macro call site. This saves ~9KB of flash by eliminating ~500 per-site macro expansions in ESP-IDF library code (gpio, ethernet, mdns, uart, wifi, etc.). Override esp_log_format() to skip ESP-IDF's own formatting after the ESPHome logger hook is installed, since ESPHome does its own formatting. For early boot and constrained environments (ISR, cache disabled), format messages in ESPHome style with colors using a stack buffer. |
2 changed files with 81 additions and 0 deletions
@@ -1614,6 +1614,11 @@ async def to_code(config):
|
||||
# This saves ~250 bytes of RAM (tag cache) and associated code
|
||||
add_idf_sdkconfig_option("CONFIG_LOG_TAG_LEVEL_IMPL_NONE", True)
|
||||
|
||||
# Use ESP-IDF Log V2 to eliminate per-site esp_log_timestamp() macro expansions
|
||||
# V2 centralizes formatting inside esp_log(), reducing flash usage
|
||||
add_idf_sdkconfig_option("CONFIG_LOG_VERSION_1", False)
|
||||
add_idf_sdkconfig_option("CONFIG_LOG_VERSION_2", True)
|
||||
|
||||
# Reduce PHY TX power in the event of a brownout
|
||||
add_idf_sdkconfig_option("CONFIG_ESP_PHY_REDUCE_TX_POWER", True)
|
||||
|
||||
|
||||
@@ -86,3 +86,79 @@ int HOT esp_idf_log_vprintf_(const char *format, va_list args) { // NOLINT
|
||||
#endif
|
||||
|
||||
} // namespace esphome
|
||||
|
||||
#if defined(USE_ESP32) && !defined(BOOTLOADER_BUILD)
|
||||
// Override esp_log_format to prevent V2's 3-call vprintf fragmentation.
|
||||
// Without this, Log V2 calls the vprintf hook 3 times per message (header,
|
||||
// body, newline) which creates 3 separate log entries in ESPHome's logger.
|
||||
// This strong definition overrides the archive symbol from ESP-IDF's liblog,
|
||||
// affecting all callers including precompiled blobs (e.g. wifi).
|
||||
#include <esp_private/log_message.h>
|
||||
#include <esp_log_write.h>
|
||||
|
||||
// Format an ESP-IDF log message directly to the console, bypassing the
|
||||
// ESPHome logger hook. Used when the hook isn't installed (early boot) or
|
||||
// can't be used safely (constrained env: PHY init, efuse reads — fwrite
|
||||
// locks crash on USB JTAG devices).
|
||||
// Formats in ESPHome style with ANSI colors into a 512-byte stack buffer,
|
||||
// then outputs atomically via esp_rom_printf.
|
||||
// This path is cold on 99.9% of builds — it only runs during early boot
|
||||
// and at DEBUG framework log level (default is ERROR).
|
||||
static void __attribute__((noinline)) esp_log_format_direct_(esp_log_msg_t *message) {
|
||||
// ESP-IDF levels: NONE=0 ERROR=1 WARN=2 INFO=3 DEBUG=4 VERBOSE=5
|
||||
// Color digits: E=1(red) W=3(yellow) I=2(green) D=6(cyan) V=7(gray)
|
||||
static const char color_digit[] = {'\0', '1', '3', '2', '6', '7'};
|
||||
static const char lvl[] = {'\0', 'E', 'W', 'I', 'D', 'V'};
|
||||
// Format into stack buffer and output atomically via esp_rom_printf.
|
||||
// Can't use fwrite (locks crash during early boot and PHY init).
|
||||
char buf[512];
|
||||
int pos = 0;
|
||||
uint8_t level = message->config.opts.log_level;
|
||||
if (level > 0 && level < sizeof(lvl)) {
|
||||
pos = snprintf(buf, sizeof(buf), "\033[0;3%cm[%c][%s]: ", color_digit[level], lvl[level],
|
||||
message->tag ? message->tag : "idf");
|
||||
}
|
||||
if (pos >= 0 && pos < (int) sizeof(buf) - 2) {
|
||||
int body = vsnprintf(buf + pos, sizeof(buf) - pos, message->format, message->args);
|
||||
if (body > 0)
|
||||
pos += (body < (int) sizeof(buf) - pos) ? body : (int) sizeof(buf) - pos - 1;
|
||||
}
|
||||
if (level > 0 && level < sizeof(lvl) && pos < (int) sizeof(buf) - 6) {
|
||||
pos += snprintf(buf + pos, sizeof(buf) - pos, "\033[0m");
|
||||
}
|
||||
if (pos < (int) sizeof(buf) - 1) {
|
||||
buf[pos++] = '\n';
|
||||
}
|
||||
buf[pos] = '\0';
|
||||
esp_rom_printf("%s", buf);
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
// Override esp_log_format from liblog.a to prevent V2's 3-call vprintf
|
||||
// fragmentation. IRAM_ATTR to match esp_log_va's IRAM placement and avoid
|
||||
// an IRAM→flash cache miss on every ESP-IDF log call. This function is
|
||||
// tiny (~43 bytes) so the IRAM cost is negligible.
|
||||
void IRAM_ATTR esp_log_format(esp_log_msg_t *message) {
|
||||
extern vprintf_like_t esp_log_vprint_func;
|
||||
extern int vprintf(const char *, __gnuc_va_list); // NOLINT
|
||||
if (esp_log_vprint_func == &vprintf || message->config.opts.constrained_env) [[unlikely]] {
|
||||
// Early boot or constrained env (PHY init, efuse reads, scheduler not
|
||||
// running). Can't use the ESPHome hook — fwrite locks crash during PHY
|
||||
// init on USB JTAG devices and newlib isn't initialized during early boot.
|
||||
// Format to stack buffer with vsnprintf + esp_rom_printf instead.
|
||||
//
|
||||
// Note: if called from an ISR with flash cache disabled, this will crash
|
||||
// because the format string and tag are in flash. This is the same as V1
|
||||
// where ESP_EARLY_LOGx from ISR also used flash-resident format strings
|
||||
// via esp_rom_printf. No ESP-IDF code is known to log from ISR with
|
||||
// cache disabled.
|
||||
esp_log_format_direct_(message);
|
||||
return;
|
||||
}
|
||||
// After hook installed, normal environment: skip formatting, forward body only.
|
||||
// Call esp_log_vprint_func directly to avoid pulling in esp_rom_vprintf
|
||||
// (1.2KB IRAM) through the esp_log_vprintf inline.
|
||||
esp_log_vprint_func(message->format, message->args);
|
||||
}
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.