mirror of
https://github.com/esphome/esphome.git
synced 2026-10-27 08:22:25 +00:00
Compare commits
base: github/esphome:dev
github/esphome:dev
github/esphome:integration
github/esphome:text-sensor-throttle-timeout-filters
github/esphome:pcm5122-apply-on-success
github/esphome:apply-publish-on-success
github/esphome:sendspin-apply-enabled-switch
github/esphome:espota2-ping-test-clock
github/esphome:wifi-manual-ip-progmem
github/esphome:ethernet-manual-ip-progmem
github/esphome:bump-2026.10.1
github/esphome:web-server-ota-static-handler
github/esphome:web-server-base-static-handlers
github/esphome:integration-ccache-seed
github/esphome:integration-debug-rerun
github/esphome:esp32-ble-conn-param-repeat-log
github/esphome:kahrendt-sendspin-source
github/esphome:kahrendt-resampler-mic-capture-time
github/esphome:kahrendt-i2s-mic-capture-time
github/esphome:bq25186-apply-on-success
github/esphome:bq25186-switch-tests
github/esphome:pcm5122-apply-switch
github/esphome:bq25186-apply-switch
github/esphome:hardware-test-skill-sync-9
github/esphome:ota-inflate-table-decode
github/esphome:rtl87xx-crash-handler
github/esphome:radon-eye-single-node
github/esphome:neutral-ble-client
github/esphome:cli-rotate-key
github/esphome:number-traits-set-range
github/esphome:store-yaml-firmware
github/esphome:ld2420-tables-progmem
github/esphome:copy-follow-entities
github/esphome:clydebarrow/packet-interface-08
github/esphome:clydebarrow/packet-interface-06
github/esphome:clydebarrow/packet-interface-07
github/esphome:clydebarrow/packet-interface-05
github/esphome:wifi-info-ip-sensors-count
github/esphome:ota-http-url-pointer
github/esphome:epaper-spi-fill-dirty-bounds
github/esphome:clydebarrow/packet-interface-09
github/esphome:display-init-sequence-reader-migrate
github/esphome:display-init-sequence-reader
github/esphome:switch-restore-state
github/esphome:core-bit-at
github/esphome:assign-bits-migrate-other
github/esphome:media-player-bitrate-review
github/esphome:sscanf_stub
github/esphome:jesserockz-2026-784
github/esphome:modem-helpers
github/esphome:beta
github/esphome:release
github/esphome:key_collector-no-std-string
github/esphome:ld24xx-inline-safe-publish
github/esphome:tests-assert-device-name-m-z
github/esphome:tests-assert-device-name-a-l
github/esphome:apply-entities-copy-button
github/esphome:cv-ignored-key
github/esphome:apply-entities-copy-atm90e32
github/esphome:light-flash-reuse-transition
github/esphome:host-interrupt-lock
github/esphome:apply-entities-migrate
github/esphome:agents-md-trigger-when-filter
github/esphome:http-request-ota-flash-apply
github/esphome:http-request-ota-flash-tests
github/esphome:http-request-ota-apply-action
github/esphome:nrf52-mdk-usb-dongle
github/esphome:hdmi-cec-part2
github/esphome:hdmi-cec-decoder
github/esphome:homeassistant-action-strings-progmem
github/esphome:esp32-operator-new
github/esphome:autorepeat-progmem-timing
github/esphome:jesserockz-2026-762
github/esphome:restore-17827
github/esphome:jesserockz-2026-446
github/esphome:agents-session-lessons
github/esphome:modbus-client-write-values-tables
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: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: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.0
github/esphome:2026.10.0b6
github/esphome:2026.10.0b5
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:kahrendt-resampler-mic-capture-time
github/esphome:integration
github/esphome:dev
github/esphome:text-sensor-throttle-timeout-filters
github/esphome:pcm5122-apply-on-success
github/esphome:apply-publish-on-success
github/esphome:sendspin-apply-enabled-switch
github/esphome:espota2-ping-test-clock
github/esphome:wifi-manual-ip-progmem
github/esphome:ethernet-manual-ip-progmem
github/esphome:bump-2026.10.1
github/esphome:web-server-ota-static-handler
github/esphome:web-server-base-static-handlers
github/esphome:integration-ccache-seed
github/esphome:integration-debug-rerun
github/esphome:esp32-ble-conn-param-repeat-log
github/esphome:kahrendt-sendspin-source
github/esphome:kahrendt-resampler-mic-capture-time
github/esphome:kahrendt-i2s-mic-capture-time
github/esphome:bq25186-apply-on-success
github/esphome:bq25186-switch-tests
github/esphome:pcm5122-apply-switch
github/esphome:bq25186-apply-switch
github/esphome:hardware-test-skill-sync-9
github/esphome:ota-inflate-table-decode
github/esphome:rtl87xx-crash-handler
github/esphome:radon-eye-single-node
github/esphome:neutral-ble-client
github/esphome:cli-rotate-key
github/esphome:number-traits-set-range
github/esphome:store-yaml-firmware
github/esphome:ld2420-tables-progmem
github/esphome:copy-follow-entities
github/esphome:clydebarrow/packet-interface-08
github/esphome:clydebarrow/packet-interface-06
github/esphome:clydebarrow/packet-interface-07
github/esphome:clydebarrow/packet-interface-05
github/esphome:wifi-info-ip-sensors-count
github/esphome:ota-http-url-pointer
github/esphome:epaper-spi-fill-dirty-bounds
github/esphome:clydebarrow/packet-interface-09
github/esphome:display-init-sequence-reader-migrate
github/esphome:display-init-sequence-reader
github/esphome:switch-restore-state
github/esphome:core-bit-at
github/esphome:assign-bits-migrate-other
github/esphome:media-player-bitrate-review
github/esphome:sscanf_stub
github/esphome:jesserockz-2026-784
github/esphome:modem-helpers
github/esphome:beta
github/esphome:release
github/esphome:key_collector-no-std-string
github/esphome:ld24xx-inline-safe-publish
github/esphome:tests-assert-device-name-m-z
github/esphome:tests-assert-device-name-a-l
github/esphome:apply-entities-copy-button
github/esphome:cv-ignored-key
github/esphome:apply-entities-copy-atm90e32
github/esphome:light-flash-reuse-transition
github/esphome:host-interrupt-lock
github/esphome:apply-entities-migrate
github/esphome:agents-md-trigger-when-filter
github/esphome:http-request-ota-flash-apply
github/esphome:http-request-ota-flash-tests
github/esphome:http-request-ota-apply-action
github/esphome:nrf52-mdk-usb-dongle
github/esphome:hdmi-cec-part2
github/esphome:hdmi-cec-decoder
github/esphome:homeassistant-action-strings-progmem
github/esphome:esp32-operator-new
github/esphome:autorepeat-progmem-timing
github/esphome:jesserockz-2026-762
github/esphome:restore-17827
github/esphome:jesserockz-2026-446
github/esphome:agents-session-lessons
github/esphome:modbus-client-write-values-tables
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: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: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.0
github/esphome:2026.10.0b6
github/esphome:2026.10.0b5
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
3
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
1ea163658a |
[resampler] Include the resampler's position in output capture times
When a call stops because the output is full, the next output can be up to one input frame before (frames taken in - taps / 2), which put block times up to about 100 us late when upsampling from 8 kHz. ART's position gives the exact offset. |
||
|
|
0d9db7d0de | [resampler] Note how held back frames are timed after a source gap | ||
|
|
781f50225d |
[resampler] Carry capture times through the resampler microphone
Each output block's capture time comes from its input chunk's time, the input taken in so far, and the half filter of input the resampler holds back. It is worked out per chunk, so it cannot drift. |
2 changed files with 26 additions and 4 deletions
No files matched your search
@@ -99,8 +99,8 @@ bool ResamplerMicrophone::init_resampler_(const audio::AudioStreamInfo &input_st
|
||||
const audio::AudioStreamInfo output_stream_info(input_stream_info.get_bits_per_sample(),
|
||||
input_stream_info.get_channels(), this->target_sample_rate_);
|
||||
|
||||
auto resampler = make_unique<esp_audio_libs::resampler::Resampler>(
|
||||
input_stream_info.ms_to_samples(BUFFER_DURATION_MS), output_stream_info.ms_to_samples(BUFFER_DURATION_MS));
|
||||
auto resampler = make_unique<PositionResampler>(input_stream_info.ms_to_samples(BUFFER_DURATION_MS),
|
||||
output_stream_info.ms_to_samples(BUFFER_DURATION_MS));
|
||||
|
||||
esp_audio_libs::resampler::ResamplerConfiguration resample_config = {
|
||||
.source_sample_rate = static_cast<float>(input_stream_info.get_sample_rate()),
|
||||
@@ -165,6 +165,8 @@ void ResamplerMicrophone::process_audio_(const microphone::AudioCapture &capture
|
||||
|
||||
const uint8_t *input = capture.data.data();
|
||||
uint32_t input_frames = input_stream_info.bytes_to_frames(capture.data.size());
|
||||
// Input frames of this chunk the resampler has taken in so far
|
||||
int64_t frames_consumed = 0;
|
||||
while (input_frames > 0) {
|
||||
// Stays within the reserved capacity, so this never reallocates
|
||||
this->output_buffer_.resize(this->audio_stream_info_.frames_to_bytes(max_output_frames));
|
||||
@@ -176,10 +178,22 @@ void ResamplerMicrophone::process_audio_(const microphone::AudioCapture &capture
|
||||
|
||||
input += results.frames_used * input_bytes_per_frame;
|
||||
input_frames -= results.frames_used;
|
||||
frames_consumed += results.frames_used;
|
||||
|
||||
if (results.frames_generated > 0) {
|
||||
int64_t output_time_us = 0;
|
||||
if (capture.capture_time_us != 0) {
|
||||
// The resampler holds back half its taps of input, so its next output is near the input frame that far behind
|
||||
// the last one taken in; its position gives the exact offset. The block's first output is one block duration
|
||||
// before that. After a gap in the source, the few frames held back from before it are timed as if there were
|
||||
// no gap.
|
||||
const uint32_t input_rate = input_stream_info.get_sample_rate();
|
||||
output_time_us = capture.capture_time_us + (frames_consumed - this->taps_ / 2) * 1000000 / input_rate +
|
||||
static_cast<int64_t>(this->resampler_->get_position() * 1000000.0f / input_rate) -
|
||||
static_cast<int64_t>(results.frames_generated) * 1000000 / this->target_sample_rate_;
|
||||
}
|
||||
this->output_buffer_.resize(this->audio_stream_info_.frames_to_bytes(results.frames_generated));
|
||||
this->publish_audio_(this->output_buffer_, this->audio_stream_info_);
|
||||
this->publish_audio_(this->output_buffer_, this->audio_stream_info_, output_time_us);
|
||||
} else if (results.frames_used == 0) {
|
||||
break; // No progress; drop the rest of the chunk instead of spinning
|
||||
}
|
||||
|
||||
@@ -15,6 +15,14 @@
|
||||
|
||||
namespace esphome::resampler {
|
||||
|
||||
/// @brief The esp-audio-libs resampler, with its exact position for timestamping output.
|
||||
class PositionResampler : public esp_audio_libs::resampler::Resampler {
|
||||
public:
|
||||
using Resampler::Resampler;
|
||||
/// @brief Input frames from (last frame taken in - taps / 2) to the next output frame; usually within one frame.
|
||||
float get_position() { return esp_audio_libs::art_resampler::resampleGetPosition(this->resampler_); }
|
||||
};
|
||||
|
||||
/// @brief Microphone that converts the audio of a source microphone to a different sample rate.
|
||||
/// The bits per sample and channels are selected by the source's ``MicrophoneSource``; only the sample rate changes.
|
||||
/// Resampling runs in the source microphone's data callback, so it needs no task or ring buffer of its own.
|
||||
@@ -42,7 +50,7 @@ class ResamplerMicrophone final : public Component, public microphone::Microphon
|
||||
void process_audio_(const microphone::AudioCapture &capture);
|
||||
|
||||
microphone::MicrophoneSource *source_;
|
||||
std::unique_ptr<esp_audio_libs::resampler::Resampler> resampler_;
|
||||
std::unique_ptr<PositionResampler> resampler_;
|
||||
// Reused for every chunk so resampling does not allocate
|
||||
std::vector<uint8_t> output_buffer_;
|
||||
|
||||
|
||||
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.