1
0

Compare commits

..

245 Commits

28 changed files with 325 additions and 477 deletions

View File

@@ -15,45 +15,47 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true continue-on-error: true
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v4.1.7
- uses: actions/setup-python@v4.7.1 - uses: actions/setup-python@v5.1.1
with: with:
python-version: '3.11' python-version: "3.11"
- run: pip install -r script/requirements.txt - run: pip install -r script/requirements.txt
- run: script/bump-version.py ${{ github.event.inputs.version }} - run: script/bump-version.py ${{ github.event.inputs.version }}
- name: Write Beta changelog - name: Write Beta changelog
run: | if: ${{ !contains(github.event.inputs.version, 'dev') }}
cat > esphome-beta/CHANGELOG.md << 'EOF' run: |
## ${{ github.event.inputs.version }} cat > esphome-beta/CHANGELOG.md << 'EOF'
## ${{ github.event.inputs.version }}
${{ github.event.inputs.content }} ${{ github.event.inputs.content }}
EOF EOF
- name: Write Stable changelog - name: Write Stable changelog
if: ${{ !contains(github.event.inputs.version, 'b') }} if: ${{ !contains(github.event.inputs.version, 'b') && !contains(github.event.inputs.version, 'dev') }}
run: | run: |
cat > esphome/CHANGELOG.md << 'EOF' cat > esphome/CHANGELOG.md << 'EOF'
## ${{ github.event.inputs.version }} ## ${{ github.event.inputs.version }}
${{ github.event.inputs.content }} ${{ github.event.inputs.content }}
EOF EOF
- name: Commit version bump - name: Commit version bump
id: commit_version id: commit_version
run: | run: |
git config user.name esphomebot git config user.name esphomebot
git config user.email esphome@nabucasa.com git config user.email esphome@nabucasa.com
git add . git add .
git commit -m "Bump version to ${{ github.event.inputs.version }}" git commit -m "Bump version to ${{ github.event.inputs.version }}"
git push git push
COMMIT=$(git rev-parse HEAD) COMMIT=$(git rev-parse HEAD)
echo "::set-output name=commit_sha::${COMMIT}" echo "::set-output name=commit_sha::${COMMIT}"
- name: Create a Release - name: Create a Release
uses: actions/create-release@v1.1.4 uses: actions/create-release@v1.1.4
continue-on-error: true continue-on-error: true
env: if: ${{ !contains(github.event.inputs.version, 'dev') }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env:
with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ github.event.inputs.version }} with:
release_name: ${{ github.event.inputs.version }} tag_name: ${{ github.event.inputs.version }}
body: ${{ github.event.inputs.content }} release_name: ${{ github.event.inputs.version }}
prerelease: ${{ contains(github.event.inputs.version, 'b') }} body: ${{ github.event.inputs.content }}
commitish: ${{ steps.commit_version.outputs.commit_sha }} prerelease: ${{ contains(github.event.inputs.version, 'b') }}
commitish: ${{ steps.commit_version.outputs.commit_sha }}

View File

@@ -19,20 +19,20 @@ jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v4.1.7
- name: Log in to the GitHub container registry - name: Log in to the GitHub container registry
uses: docker/login-action@v3.0.0 uses: docker/login-action@v3.2.0
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v3.0.0 uses: docker/setup-qemu-action@v3.1.0
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.0.0 uses: docker/setup-buildx-action@v3.4.0
- name: Build and Push - name: Build and Push
uses: docker/build-push-action@v5.0.0 uses: docker/build-push-action@v6.4.1
with: with:
context: . context: .
file: .devcontainer/Dockerfile file: .devcontainer/Dockerfile

View File

@@ -19,9 +19,9 @@ jobs:
channel: dev channel: dev
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v4.1.1 uses: actions/checkout@v4.1.7
- name: 🛠 Setup Python - name: 🛠 Setup Python
uses: actions/setup-python@v4.7.1 uses: actions/setup-python@v5.1.1
with: with:
python-version: '3.11' python-version: '3.11'
- name: 🛠 Install dependencies - name: 🛠 Install dependencies
@@ -29,6 +29,6 @@ jobs:
- name: 🛠 Generate files from template - name: 🛠 Generate files from template
run: python script/generate.py ${{ matrix.channels.channel }} run: python script/generate.py ${{ matrix.channels.channel }}
- name: 🚀 Run Home Assistant Add-on Lint on ${{ matrix.channels.channel }} - name: 🚀 Run Home Assistant Add-on Lint on ${{ matrix.channels.channel }}
uses: frenck/action-addon-linter@v2.13.2 uses: frenck/action-addon-linter@v2.15.1
with: with:
path: "./${{ matrix.channels.folder }}" path: "./${{ matrix.channels.folder }}"

View File

@@ -1,169 +1,126 @@
## 2023.11.0 ## 2024.9.0
## Full list of changes ## Full list of changes
### New Components ### New Components
- Add Support for Sensirion SFA30 sensor [esphome#5519](https://github.com/esphome/esphome/pull/5519) by [@ghsensdev](https://github.com/ghsensdev) (new-integration) - Add HMAC-MD5 support for authenticating OTA updates [esphome#7200](https://github.com/esphome/esphome/pull/7200) by [@dwmw2](https://github.com/dwmw2) (new-integration)
- add uart button [esphome#5540](https://github.com/esphome/esphome/pull/5540) by [@ssieb](https://github.com/ssieb) (new-integration) - Add support for BL0906 energy meter [esphome#7339](https://github.com/esphome/esphome/pull/7339) by [@tarontop](https://github.com/tarontop) (new-integration)
- Add ZH/LT-01 climate component with IR receiver option [esphome#4333](https://github.com/esphome/esphome/pull/4333) by [@cfeenstra1024](https://github.com/cfeenstra1024) (new-integration) - [udp] Implement UDP sensor broadcast [esphome#6865](https://github.com/esphome/esphome/pull/6865) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Feat: Add GREE climateir component [esphome#4464](https://github.com/esphome/esphome/pull/4464) by [@PiuPiuson](https://github.com/PiuPiuson) (new-integration) - CH422G support [esphome#7356](https://github.com/esphome/esphome/pull/7356) by [@jesterret](https://github.com/jesterret) (new-integration)
- AMS iAQ Core CO2 sensor component [esphome#5192](https://github.com/esphome/esphome/pull/5192) by [@yozik04](https://github.com/yozik04) (new-integration) - Add StatsD component [esphome#6642](https://github.com/esphome/esphome/pull/6642) by [@Links2004](https://github.com/Links2004) (new-integration)
- Add IR Noblex climate component [esphome#4913](https://github.com/esphome/esphome/pull/4913) by [@AGalfra](https://github.com/AGalfra) (new-integration) - Add support for using BMP280 with SPI [esphome#7053](https://github.com/esphome/esphome/pull/7053) by [@ademuri](https://github.com/ademuri) (new-integration) (breaking-change)
- Add text component [esphome#5336](https://github.com/esphome/esphome/pull/5336) by [@EternityForest](https://github.com/EternityForest) (new-integration) - LTR-501, LTR-301, LTR-558 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6262](https://github.com/esphome/esphome/pull/6262) by [@latonita](https://github.com/latonita) (new-integration)
- Add support for honeywellabp2 pressure sensor [esphome#5422](https://github.com/esphome/esphome/pull/5422) by [@jpfaff](https://github.com/jpfaff) (new-integration)
- Add Emc2101 [esphome#4491](https://github.com/esphome/esphome/pull/4491) by [@ellull](https://github.com/ellull) (new-integration)
- Add support for Qwiic PIR binary sensor [esphome#5194](https://github.com/esphome/esphome/pull/5194) by [@kahrendt](https://github.com/kahrendt) (new-integration)
- Add dfrobot_sen0395 mmwave radar component [esphome#4203](https://github.com/esphome/esphome/pull/4203) by [@niklasweber](https://github.com/niklasweber) (new-integration)
- Add HLK-LD2420 mmWave Radar module component. [esphome#4847](https://github.com/esphome/esphome/pull/4847) by [@descipher](https://github.com/descipher) (new-integration)
- Add Micronova component [esphome#4760](https://github.com/esphome/esphome/pull/4760) by [@Jorre05](https://github.com/Jorre05) (new-integration)
- Add differential pressure sensor support for CFSensor XGZP68xxD devices [esphome#5562](https://github.com/esphome/esphome/pull/5562) by [@gcormier](https://github.com/gcormier) (new-integration)
- Add spi support for ade7953 [esphome#5439](https://github.com/esphome/esphome/pull/5439) by [@angelnu](https://github.com/angelnu) (new-integration)
- Add resistance_sampler interface for config validation [esphome#5718](https://github.com/esphome/esphome/pull/5718) by [@jesserockz](https://github.com/jesserockz) (new-integration)
### Breaking Changes ### Breaking Changes
- Hydreon updates [esphome#5424](https://github.com/esphome/esphome/pull/5424) by [@jj-uk](https://github.com/jj-uk) (breaking-change) - [ili9xxx] Make `invert_colors` required [esphome#7292](https://github.com/esphome/esphome/pull/7292) by [@gvdhoven](https://github.com/gvdhoven) (breaking-change)
- Fix esp32_rmt_led_strip custom timing units [esphome#5696](https://github.com/esphome/esphome/pull/5696) by [@jesserockz](https://github.com/jesserockz) (breaking-change) - Add support for using BMP280 with SPI [esphome#7053](https://github.com/esphome/esphome/pull/7053) by [@ademuri](https://github.com/ademuri) (new-integration) (breaking-change)
- Move I2S config settings the the base i2sAudio files. Phase 1 [esphome#7183](https://github.com/esphome/esphome/pull/7183) by [@nielsnl68](https://github.com/nielsnl68) (breaking-change)
- [i2s_audio] Add more options to speakers and microphones [esphome#7306](https://github.com/esphome/esphome/pull/7306) by [@pyos](https://github.com/pyos) (breaking-change)
### Beta Changes ### Beta Changes
- Handle nanoseconds in config [esphome#5695](https://github.com/esphome/esphome/pull/5695) by [@jesserockz](https://github.com/jesserockz) - [voice-assistant] Dont error on ``no_wake_word`` timeout error with streaming wake word [esphome#7435](https://github.com/esphome/esphome/pull/7435) by [@jesserockz](https://github.com/jesserockz)
- Fix esp32_rmt_led_strip custom timing units [esphome#5696](https://github.com/esphome/esphome/pull/5696) by [@jesserockz](https://github.com/jesserockz) (breaking-change) - Improve manufacturer data tracing to identify BLE devices a bit easie… [esphome#7332](https://github.com/esphome/esphome/pull/7332) by [@tomer-w](https://github.com/tomer-w)
- Fix static assets cache logic [esphome#5700](https://github.com/esphome/esphome/pull/5700) by [@bdraco](https://github.com/bdraco) - Add sample_bytes to media player supported format [esphome#7451](https://github.com/esphome/esphome/pull/7451) by [@synesthesiam](https://github.com/synesthesiam)
- Use piwheels for armv7 docker image builds [esphome#5703](https://github.com/esphome/esphome/pull/5703) by [@bdraco](https://github.com/bdraco) - [docker] Bump git from 1:2.39.2-1.1 to 1:2.39.5-0+deb12u1 [esphome#7452](https://github.com/esphome/esphome/pull/7452) by [@jesserockz](https://github.com/jesserockz)
- fix: Fix broken bluetooth_proxy and ble_clients after BLE enable/disable [esphome#5704](https://github.com/esphome/esphome/pull/5704) by [@Rapsssito](https://github.com/Rapsssito) - Add voice assistant configuration messages [esphome#7445](https://github.com/esphome/esphome/pull/7445) by [@synesthesiam](https://github.com/synesthesiam)
- Bump aioesphomeapi to 18.2.7 [esphome#5706](https://github.com/esphome/esphome/pull/5706) by [@bdraco](https://github.com/bdraco) - Dont replace project name spaces with underlines [esphome#7455](https://github.com/esphome/esphome/pull/7455) by [@jesserockz](https://github.com/jesserockz)
- Update Dockerfile to use piwheels for armv7 [esphome#5709](https://github.com/esphome/esphome/pull/5709) by [@bdraco](https://github.com/bdraco) - Add voice assistant methods for configuration [esphome#7459](https://github.com/esphome/esphome/pull/7459) by [@synesthesiam](https://github.com/synesthesiam)
- Bump zeroconf from 0.120.0 to 0.122.3 [esphome#5715](https://github.com/esphome/esphome/pull/5715) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add resistance_sampler interface for config validation [esphome#5718](https://github.com/esphome/esphome/pull/5718) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Fix zeroconf name resolution refactoring error [esphome#5725](https://github.com/esphome/esphome/pull/5725) by [@bdraco](https://github.com/bdraco)
- Missed ifdefs [esphome#5727](https://github.com/esphome/esphome/pull/5727) by [@descipher](https://github.com/descipher)
- Bump aioesphomeapi from 18.2.7 to 18.4.0 [esphome#5735](https://github.com/esphome/esphome/pull/5735) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Migrate to using aioesphomeapi for the log runner to fix multiple issues [esphome#5733](https://github.com/esphome/esphome/pull/5733) by [@bdraco](https://github.com/bdraco)
- Bump zeroconf to 0.123.0 [esphome#5736](https://github.com/esphome/esphome/pull/5736) by [@bdraco](https://github.com/bdraco)
- Handle wake word not set up internally [esphome#5738](https://github.com/esphome/esphome/pull/5738) by [@jesserockz](https://github.com/jesserockz)
- dashboard: remove usage of codecs module [esphome#5741](https://github.com/esphome/esphome/pull/5741) by [@bdraco](https://github.com/bdraco)
- dashboard: Run get_serial_ports in the executor [esphome#5740](https://github.com/esphome/esphome/pull/5740) by [@bdraco](https://github.com/bdraco)
- Generate partitions.csv based on flash size [esphome#5697](https://github.com/esphome/esphome/pull/5697) by [@kbx81](https://github.com/kbx81)
- Allow setup to continue past mqtt if network/wifi is disabled [esphome#5754](https://github.com/esphome/esphome/pull/5754) by [@jesserockz](https://github.com/jesserockz)
- Dont dump wifi info when disabled [esphome#5755](https://github.com/esphome/esphome/pull/5755) by [@jesserockz](https://github.com/jesserockz)
### All changes ### All changes
- Splits FastLed test scripts out of test1.yaml [esphome#5522](https://github.com/esphome/esphome/pull/5522) by [@nielsnl68](https://github.com/nielsnl68) - [code-quality] fix performance-unnecessary-value-param [esphome#7274](https://github.com/esphome/esphome/pull/7274) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add round sensor filter [esphome#5532](https://github.com/esphome/esphome/pull/5532) by [@jesserockz](https://github.com/jesserockz) - [code-quality] fix clang-tidy prometheus [esphome#7284](https://github.com/esphome/esphome/pull/7284) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add Support for Sensirion SFA30 sensor [esphome#5519](https://github.com/esphome/esphome/pull/5519) by [@ghsensdev](https://github.com/ghsensdev) (new-integration) - [code-quality] fix clang-tidy ota [esphome#7282](https://github.com/esphome/esphome/pull/7282) by [@tomaszduda23](https://github.com/tomaszduda23)
- Change UART source clock to `UART_SCLK_DEFAULT` when IDF >=v5 [esphome#5533](https://github.com/esphome/esphome/pull/5533) by [@leoshusar](https://github.com/leoshusar) - [code-quality] fix clang-tidy e131 [esphome#7281](https://github.com/esphome/esphome/pull/7281) by [@tomaszduda23](https://github.com/tomaszduda23)
- add uart button [esphome#5540](https://github.com/esphome/esphome/pull/5540) by [@ssieb](https://github.com/ssieb) (new-integration) - [code-quality] fix clang-tidy wireguard [esphome#7287](https://github.com/esphome/esphome/pull/7287) by [@tomaszduda23](https://github.com/tomaszduda23)
- add on/off options for uart switch [esphome#5539](https://github.com/esphome/esphome/pull/5539) by [@ssieb](https://github.com/ssieb) - [code-quality] fix clang-tidy improv_serial [esphome#7283](https://github.com/esphome/esphome/pull/7283) by [@tomaszduda23](https://github.com/tomaszduda23)
- Update docker base and packages + docker python 3.11 [esphome#5473](https://github.com/esphome/esphome/pull/5473) by [@bdraco](https://github.com/bdraco) - [code-quality] fix clang-tidy captive_portal [esphome#7280](https://github.com/esphome/esphome/pull/7280) by [@tomaszduda23](https://github.com/tomaszduda23)
- IDF 5 fixes for various components from test1.yaml [esphome#5451](https://github.com/esphome/esphome/pull/5451) by [@kbx81](https://github.com/kbx81) - Add HMAC-MD5 support for authenticating OTA updates [esphome#7200](https://github.com/esphome/esphome/pull/7200) by [@dwmw2](https://github.com/dwmw2) (new-integration)
- Bump aioesphomeapi from 15.0.0 to 18.0.6 [esphome#5557](https://github.com/esphome/esphome/pull/5557) by [@dependabot[bot]](https://github.com/apps/dependabot) - [const] Add UNIT_LITRE [esphome#7317](https://github.com/esphome/esphome/pull/7317) by [@Roving-Ronin](https://github.com/Roving-Ronin)
- Bump zeroconf from 0.115.1 to 0.119.0 [esphome#5560](https://github.com/esphome/esphome/pull/5560) by [@dependabot[bot]](https://github.com/apps/dependabot) - [code-quality] fix clang-tidy socket [esphome#7285](https://github.com/esphome/esphome/pull/7285) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add config to allow suppression of warnings about use of strapping pins [esphome#5287](https://github.com/esphome/esphome/pull/5287) by [@clydebarrow](https://github.com/clydebarrow) - [code-quality] fix clang-tidy cstddef [esphome#7324](https://github.com/esphome/esphome/pull/7324) by [@tomaszduda23](https://github.com/tomaszduda23)
- Hydreon updates [esphome#5424](https://github.com/esphome/esphome/pull/5424) by [@jj-uk](https://github.com/jj-uk) (breaking-change) - Add output source priority "hybrid" [esphome#7322](https://github.com/esphome/esphome/pull/7322) by [@syssi](https://github.com/syssi)
- Bump actions/checkout from 4.1.0 to 4.1.1 [esphome#5551](https://github.com/esphome/esphome/pull/5551) by [@dependabot[bot]](https://github.com/apps/dependabot) - Enable verbose mode from env ESPHOME_VERBOSE or --verbose [esphome#6987](https://github.com/esphome/esphome/pull/6987) by [@ptr727](https://github.com/ptr727)
- Bump pyupgrade from 3.10.1 to 3.13.0 [esphome#5428](https://github.com/esphome/esphome/pull/5428) by [@dependabot[bot]](https://github.com/apps/dependabot) - Tuya Number: allow to set hidden datapoints [esphome#7024](https://github.com/esphome/esphome/pull/7024) by [@szupi-ipuzs](https://github.com/szupi-ipuzs)
- Bump tzlocal from 5.0.1 to 5.1 [esphome#5480](https://github.com/esphome/esphome/pull/5480) by [@dependabot[bot]](https://github.com/apps/dependabot) - feat: Expand ByteBuffer [esphome#7316](https://github.com/esphome/esphome/pull/7316) by [@Rapsssito](https://github.com/Rapsssito)
- Bump black from 23.9.1 to 23.10.0 [esphome#5561](https://github.com/esphome/esphome/pull/5561) by [@dependabot[bot]](https://github.com/apps/dependabot) - [ledc] Tweak fix in #6997 [esphome#7336](https://github.com/esphome/esphome/pull/7336) by [@kbx81](https://github.com/kbx81)
- Fan no off cycle action [esphome#5564](https://github.com/esphome/esphome/pull/5564) by [@skykingjwc](https://github.com/skykingjwc) - [ledc] Fix maximum brightness on ESP-IDF 5.1 [esphome#7342](https://github.com/esphome/esphome/pull/7342) by [@clydebarrow](https://github.com/clydebarrow)
- Bump aioesphomeapi from 18.0.6 to 18.0.7 [esphome#5573](https://github.com/esphome/esphome/pull/5573) by [@dependabot[bot]](https://github.com/apps/dependabot) - [lvgl] Bug fixes: [esphome#7341](https://github.com/esphome/esphome/pull/7341) by [@clydebarrow](https://github.com/clydebarrow)
- Remove unnecessary checks in Nextion component [esphome#5578](https://github.com/esphome/esphome/pull/5578) by [@edwardtfn](https://github.com/edwardtfn) - [const] Move ``CONF_LINE_FREQUENCY`` to const.py [esphome#7351](https://github.com/esphome/esphome/pull/7351) by [@jesserockz](https://github.com/jesserockz)
- update storage version from mdns [esphome#5584](https://github.com/esphome/esphome/pull/5584) by [@glmnet](https://github.com/glmnet) - bl0942: Fix init sequence, add address and line_frequency options [esphome#7250](https://github.com/esphome/esphome/pull/7250) by [@dwmw2](https://github.com/dwmw2)
- set Nextion protocol reparse mode [esphome#5484](https://github.com/esphome/esphome/pull/5484) by [@edwardtfn](https://github.com/edwardtfn) - Add supported formats to media player [esphome#7318](https://github.com/esphome/esphome/pull/7318) by [@synesthesiam](https://github.com/synesthesiam)
- Add address text sensor to WireGuard [esphome#5576](https://github.com/esphome/esphome/pull/5576) by [@droscy](https://github.com/droscy) - Add reset to esp32_rmt_led_strip [esphome#7354](https://github.com/esphome/esphome/pull/7354) by [@angelnu](https://github.com/angelnu)
- Add LibreTiny hardwares to PR Template [esphome#5575](https://github.com/esphome/esphome/pull/5575) by [@HeMan](https://github.com/HeMan) - [ili9xxx] Make `invert_colors` required [esphome#7292](https://github.com/esphome/esphome/pull/7292) by [@gvdhoven](https://github.com/gvdhoven) (breaking-change)
- Bump pytest-mock from 3.11.1 to 3.12.0 [esphome#5571](https://github.com/esphome/esphome/pull/5571) by [@dependabot[bot]](https://github.com/apps/dependabot) - Add WS2811 to esp32_rmt_led_strip [esphome#7353](https://github.com/esphome/esphome/pull/7353) by [@angelnu](https://github.com/angelnu)
- Bump pyupgrade from 3.13.0 to 3.15.0 [esphome#5570](https://github.com/esphome/esphome/pull/5570) by [@dependabot[bot]](https://github.com/apps/dependabot) - [lvgl] Add lvgl.widget.focus action and related triggers. [esphome#7315](https://github.com/esphome/esphome/pull/7315) by [@clydebarrow](https://github.com/clydebarrow)
- Add ZH/LT-01 climate component with IR receiver option [esphome#4333](https://github.com/esphome/esphome/pull/4333) by [@cfeenstra1024](https://github.com/cfeenstra1024) (new-integration) - esp32_can: suppress compiler warning [esphome#7372](https://github.com/esphome/esphome/pull/7372) by [@mrk-its](https://github.com/mrk-its)
- Feat: Add GREE climateir component [esphome#4464](https://github.com/esphome/esphome/pull/4464) by [@PiuPiuson](https://github.com/PiuPiuson) (new-integration) - Add support for BL0906 energy meter [esphome#7339](https://github.com/esphome/esphome/pull/7339) by [@tarontop](https://github.com/tarontop) (new-integration)
- AMS iAQ Core CO2 sensor component [esphome#5192](https://github.com/esphome/esphome/pull/5192) by [@yozik04](https://github.com/yozik04) (new-integration) - [platformio] Add environments for ESP-IDF 5.3 for development [esphome#7371](https://github.com/esphome/esphome/pull/7371) by [@clydebarrow](https://github.com/clydebarrow)
- Add IR Noblex climate component [esphome#4913](https://github.com/esphome/esphome/pull/4913) by [@AGalfra](https://github.com/AGalfra) (new-integration) - [lvgl] Bug fixes [esphome#7370](https://github.com/esphome/esphome/pull/7370) by [@clydebarrow](https://github.com/clydebarrow)
- Bump aioesphomeapi from 18.0.7 to 18.0.12 [esphome#5597](https://github.com/esphome/esphome/pull/5597) by [@dependabot[bot]](https://github.com/apps/dependabot) - [bytebuffer] Use existing bit_cast operations. [esphome#7374](https://github.com/esphome/esphome/pull/7374) by [@clydebarrow](https://github.com/clydebarrow)
- Add text component [esphome#5336](https://github.com/esphome/esphome/pull/5336) by [@EternityForest](https://github.com/EternityForest) (new-integration) - Bump actions/setup-python from 5.1.0 to 5.2.0 [esphome#7375](https://github.com/esphome/esphome/pull/7375) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix exception handling when loading packages [esphome#5569](https://github.com/esphome/esphome/pull/5569) by [@dentra](https://github.com/dentra) - Bump actions/setup-python from 5.1.1 to 5.2.0 in /.github/actions/restore-python [esphome#7376](https://github.com/esphome/esphome/pull/7376) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add support for honeywellabp2 pressure sensor [esphome#5422](https://github.com/esphome/esphome/pull/5422) by [@jpfaff](https://github.com/jpfaff) (new-integration) - [gt911] Add reset pin config [esphome#7373](https://github.com/esphome/esphome/pull/7373) by [@clydebarrow](https://github.com/clydebarrow)
- Add Emc2101 [esphome#4491](https://github.com/esphome/esphome/pull/4491) by [@ellull](https://github.com/ellull) (new-integration) - [st7701s] Add delay feature in init sequences [esphome#7343](https://github.com/esphome/esphome/pull/7343) by [@clydebarrow](https://github.com/clydebarrow)
- Fix: Incorporate unique serial number in preference's hash for multiple Sensirion sensors [esphome#5479](https://github.com/esphome/esphome/pull/5479) by [@kahrendt](https://github.com/kahrendt) - Add now required `invert_colors` option to test files referencing ili9xxx [esphome#7367](https://github.com/esphome/esphome/pull/7367) by [@clydebarrow](https://github.com/clydebarrow)
- Add support for Qwiic PIR binary sensor [esphome#5194](https://github.com/esphome/esphome/pull/5194) by [@kahrendt](https://github.com/kahrendt) (new-integration) - esp32_can: make queue lengths configurable [esphome#7361](https://github.com/esphome/esphome/pull/7361) by [@mrk-its](https://github.com/mrk-its)
- Add ignore out of range option for clamp filter [esphome#5455](https://github.com/esphome/esphome/pull/5455) by [@kahrendt](https://github.com/kahrendt) - [code-quality] fix clang-tidy web_server and web_server_base [esphome#7286](https://github.com/esphome/esphome/pull/7286) by [@tomaszduda23](https://github.com/tomaszduda23)
- Print text mqtt command topic [esphome#5601](https://github.com/esphome/esphome/pull/5601) by [@jesserockz](https://github.com/jesserockz) - Update MiCS Values [esphome#7173](https://github.com/esphome/esphome/pull/7173) by [@TrevorSchirmer](https://github.com/TrevorSchirmer)
- Correctly allow mqtt topics to be none so ESPHome does not sub/pub to them [esphome#5213](https://github.com/esphome/esphome/pull/5213) by [@jesserockz](https://github.com/jesserockz) - Tuya Number: allow restoring value of hidden datapoints [esphome#7346](https://github.com/esphome/esphome/pull/7346) by [@szupi-ipuzs](https://github.com/szupi-ipuzs)
- SX1509 output debounce fix (resolves esphome/issues#4402) [esphome#4672](https://github.com/esphome/esphome/pull/4672) by [@tracestep](https://github.com/tracestep) - [udp] Implement UDP sensor broadcast [esphome#6865](https://github.com/esphome/esphome/pull/6865) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Add details when error loading package [esphome#5603](https://github.com/esphome/esphome/pull/5603) by [@dentra](https://github.com/dentra) - update logs for bluetooth proxy [esphome#7382](https://github.com/esphome/esphome/pull/7382) by [@tomaszduda23](https://github.com/tomaszduda23)
- Fallback to main secrets.yaml for packages [esphome#5604](https://github.com/esphome/esphome/pull/5604) by [@dentra](https://github.com/dentra) - [font] Make display an auto-load, not a dependency [esphome#7366](https://github.com/esphome/esphome/pull/7366) by [@clydebarrow](https://github.com/clydebarrow)
- Add area (zone) to esphome core config to be suggested through API and MQTT. [esphome#5602](https://github.com/esphome/esphome/pull/5602) by [@Cossid](https://github.com/Cossid) - CH422G support [esphome#7356](https://github.com/esphome/esphome/pull/7356) by [@jesterret](https://github.com/jesterret) (new-integration)
- Devcontainer: allow pip install and dont warn about root user [esphome#5608](https://github.com/esphome/esphome/pull/5608) by [@jesserockz](https://github.com/jesserockz) - [rpi_dpi_rgb] Add enable_pin and reset_display method to driver [esphome#7383](https://github.com/esphome/esphome/pull/7383) by [@lboue](https://github.com/lboue)
- Validate test files before compiling [esphome#5611](https://github.com/esphome/esphome/pull/5611) by [@jesserockz](https://github.com/jesserockz) - Bump actions/upload-artifact from 4.3.4 to 4.4.0 [esphome#7379](https://github.com/esphome/esphome/pull/7379) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Minor defines.h updates [esphome#5610](https://github.com/esphome/esphome/pull/5610) by [@jesserockz](https://github.com/jesserockz) - Fix build for esp32h2 using esp-idf 5.3 [esphome#7393](https://github.com/esphome/esphome/pull/7393) by [@mrene](https://github.com/mrene)
- timeout filter: return value [esphome#5612](https://github.com/esphome/esphome/pull/5612) by [@jesserockz](https://github.com/jesserockz) - Bump mDNS and follow ruff's suggestions [esphome#7308](https://github.com/esphome/esphome/pull/7308) by [@HeMan](https://github.com/HeMan)
- Add dfrobot_sen0395 mmwave radar component [esphome#4203](https://github.com/esphome/esphome/pull/4203) by [@niklasweber](https://github.com/niklasweber) (new-integration) - Bump rp2040 Arduino platform and framework [esphome#7134](https://github.com/esphome/esphome/pull/7134) by [@HeMan](https://github.com/HeMan)
- refactor mcp4728 component [esphome#5609](https://github.com/esphome/esphome/pull/5609) by [@ssieb](https://github.com/ssieb) - [gree] Add support for YX1FF remote [esphome#7298](https://github.com/esphome/esphome/pull/7298) by [@dangreco](https://github.com/dangreco)
- Fix HA error related to incorrect state class [esphome#5605](https://github.com/esphome/esphome/pull/5605) by [@nagyrobi](https://github.com/nagyrobi) - [modbus_controller] Allow duplicate command config [esphome#7311](https://github.com/esphome/esphome/pull/7311) by [@0x3333](https://github.com/0x3333)
- Fix xpt2046 for IDF 5 [esphome#5614](https://github.com/esphome/esphome/pull/5614) by [@kbx81](https://github.com/kbx81) - Better support for task blocking ring buffer reads and writes [esphome#7390](https://github.com/esphome/esphome/pull/7390) by [@kahrendt](https://github.com/kahrendt)
- IDF 5 fixes for various components from test4.yaml [esphome#5622](https://github.com/esphome/esphome/pull/5622) by [@kbx81](https://github.com/kbx81) - Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.0 [esphome#7395](https://github.com/esphome/esphome/pull/7395) by [@dependabot[bot]](https://github.com/apps/dependabot)
- IDF 5 fixes for various components from test2.yaml [esphome#5621](https://github.com/esphome/esphome/pull/5621) by [@kbx81](https://github.com/kbx81) - [api] Remove id from ``MediaPlayerSupportedFormat`` [esphome#7406](https://github.com/esphome/esphome/pull/7406) by [@jesserockz](https://github.com/jesserockz)
- Fix armv7 docker builds [esphome#5630](https://github.com/esphome/esphome/pull/5630) by [@bdraco](https://github.com/bdraco) - Drop max BLE client connections limitation [esphome#7088](https://github.com/esphome/esphome/pull/7088) by [@syssi](https://github.com/syssi)
- Bump aioesphomeapi from 18.0.12 to 18.2.0 [esphome#5606](https://github.com/esphome/esphome/pull/5606) by [@dependabot[bot]](https://github.com/apps/dependabot) - [bl0942] loop and overflow cleanup [esphome#7358](https://github.com/esphome/esphome/pull/7358) by [@dwmw2](https://github.com/dwmw2)
- Add needs-docs workflow to fail CI [esphome#5643](https://github.com/esphome/esphome/pull/5643) by [@jesserockz](https://github.com/jesserockz) - Bump peter-evans/create-pull-request from 6.1.0 to 7.0.0 [esphome#7405](https://github.com/esphome/esphome/pull/7405) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add support for PCA9535 16 bit I/O expander [esphome#5634](https://github.com/esphome/esphome/pull/5634) by [@clydebarrow](https://github.com/clydebarrow) - Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 [esphome#7404](https://github.com/esphome/esphome/pull/7404) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix nextion waveform sending for multiple waveforms [esphome#4408](https://github.com/esphome/esphome/pull/4408) by [@gpambrozio](https://github.com/gpambrozio) - Voice assist improvement - configurable conversation_id timeout [esphome#7385](https://github.com/esphome/esphome/pull/7385) by [@jeffc](https://github.com/jeffc)
- Allow validation of pins based on hub config [esphome#5647](https://github.com/esphome/esphome/pull/5647) by [@jesserockz](https://github.com/jesserockz) - Support BL0942 calibration [esphome#7299](https://github.com/esphome/esphome/pull/7299) by [@dwmw2](https://github.com/dwmw2)
- Bump aioesphomeapi from 18.2.0 to 18.2.1 [esphome#5653](https://github.com/esphome/esphome/pull/5653) by [@dependabot[bot]](https://github.com/apps/dependabot) - [micro_wake_word] Remove duplicated download code [esphome#7401](https://github.com/esphome/esphome/pull/7401) by [@jesserockz](https://github.com/jesserockz)
- Validate sn74hc595 pin number are within range [esphome#5655](https://github.com/esphome/esphome/pull/5655) by [@jesserockz](https://github.com/jesserockz) - Add StatsD component [esphome#6642](https://github.com/esphome/esphome/pull/6642) by [@Links2004](https://github.com/Links2004) (new-integration)
- Update PCA9554 pin checks to new facility [esphome#5656](https://github.com/esphome/esphome/pull/5656) by [@clydebarrow](https://github.com/clydebarrow) - [homeassistant-switch] Support different entity domains [esphome#7331](https://github.com/esphome/esphome/pull/7331) by [@jesserockz](https://github.com/jesserockz)
- Update mDNS component to 1.2.2 [esphome#5654](https://github.com/esphome/esphome/pull/5654) by [@HeMan](https://github.com/HeMan) - Add support for using BMP280 with SPI [esphome#7053](https://github.com/esphome/esphome/pull/7053) by [@ademuri](https://github.com/ademuri) (new-integration) (breaking-change)
- Fix return value of run_external_command [esphome#5657](https://github.com/esphome/esphome/pull/5657) by [@jesserockz](https://github.com/jesserockz) - Add voice assistant announce [esphome#7377](https://github.com/esphome/esphome/pull/7377) by [@synesthesiam](https://github.com/synesthesiam)
- Update RTTTL component to allow I2S [esphome#5177](https://github.com/esphome/esphome/pull/5177) by [@nielsnl68](https://github.com/nielsnl68) - [lvgl] Msgbox fixes and enhancements [esphome#7380](https://github.com/esphome/esphome/pull/7380) by [@clydebarrow](https://github.com/clydebarrow)
- Bump flake8 version in pre-commit to match requirements file [esphome#5658](https://github.com/esphome/esphome/pull/5658) by [@jesserockz](https://github.com/jesserockz) - libretiny: Allow specifying version of explicitly imported sources [esphome#7408](https://github.com/esphome/esphome/pull/7408) by [@dwmw2](https://github.com/dwmw2)
- Bump pytest from 7.4.2 to 7.4.3 [esphome#5599](https://github.com/esphome/esphome/pull/5599) by [@dependabot[bot]](https://github.com/apps/dependabot) - [libretiny] Report version 1.7.0 for 'dev' and 'latest' [esphome#7415](https://github.com/esphome/esphome/pull/7415) by [@dwmw2](https://github.com/dwmw2)
- Bump tzlocal from 5.1 to 5.2 [esphome#5594](https://github.com/esphome/esphome/pull/5594) by [@dependabot[bot]](https://github.com/apps/dependabot) - LTR-501, LTR-301, LTR-558 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6262](https://github.com/esphome/esphome/pull/6262) by [@latonita](https://github.com/latonita) (new-integration)
- Bump black from 23.10.0 to 23.10.1 [esphome#5593](https://github.com/esphome/esphome/pull/5593) by [@dependabot[bot]](https://github.com/apps/dependabot) - Fix armv7 container builds [esphome#7426](https://github.com/esphome/esphome/pull/7426) by [@jesserockz](https://github.com/jesserockz)
- Add Healthcheck to Dockerfile [esphome#5651](https://github.com/esphome/esphome/pull/5651) by [@JcMinarro](https://github.com/JcMinarro) - [gh-actions] Don't produce docker build summaries [esphome#7430](https://github.com/esphome/esphome/pull/7430) by [@jesserockz](https://github.com/jesserockz)
- Add HLK-LD2420 mmWave Radar module component. [esphome#4847](https://github.com/esphome/esphome/pull/4847) by [@descipher](https://github.com/descipher) (new-integration) - Add BK72xx support to require_framework_version() [esphome#7409](https://github.com/esphome/esphome/pull/7409) by [@dwmw2](https://github.com/dwmw2)
- Add Micronova component [esphome#4760](https://github.com/esphome/esphome/pull/4760) by [@Jorre05](https://github.com/Jorre05) (new-integration) - Switch IPv6 platform check to use require_framework_version() [esphome#7410](https://github.com/esphome/esphome/pull/7410) by [@dwmw2](https://github.com/dwmw2)
- Add basic shell autocompletion using argcomplete [esphome#5618](https://github.com/esphome/esphome/pull/5618) by [@Nardol](https://github.com/Nardol) - [bl0942] Improve energy reporting [esphome#7428](https://github.com/esphome/esphome/pull/7428) by [@dwmw2](https://github.com/dwmw2)
- Fixed int variables for user defined service in case of ESP32-C3 [esphome#5675](https://github.com/esphome/esphome/pull/5675) by [@paveldn](https://github.com/paveldn) - [rpi_dpi_rgb] Add bounce_buffer config for ESP-IDF 5.x [esphome#7423](https://github.com/esphome/esphome/pull/7423) by [@clydebarrow](https://github.com/clydebarrow)
- Add callback for raw sml messages [esphome#5668](https://github.com/esphome/esphome/pull/5668) by [@micw](https://github.com/micw) - [LVGL] Add color gradients [esphome#7427](https://github.com/esphome/esphome/pull/7427) by [@clydebarrow](https://github.com/clydebarrow)
- Fix compile with latest esp-idf on esp32c6 [esphome#5677](https://github.com/esphome/esphome/pull/5677) by [@DAVe3283](https://github.com/DAVe3283) - [dsmr] Add internal 'telegram' text_sensor to support bridging [esphome#6841](https://github.com/esphome/esphome/pull/6841) by [@marcovaneck](https://github.com/marcovaneck)
- Null topic_prefix disables MQTT publishing/subscription unless topic is explicitly configured [esphome#5644](https://github.com/esphome/esphome/pull/5644) by [@kahrendt](https://github.com/kahrendt) - Pull in new AsyncTCP for IPv6 on BK72xx [esphome#7431](https://github.com/esphome/esphome/pull/7431) by [@dwmw2](https://github.com/dwmw2)
- feat: Add ESP32 BLE enable/disable automations [esphome#5616](https://github.com/esphome/esphome/pull/5616) by [@Rapsssito](https://github.com/Rapsssito) - Bump LibreTiny recommended version to 1.7.0 [esphome#7432](https://github.com/esphome/esphome/pull/7432) by [@dwmw2](https://github.com/dwmw2)
- ble_client rssi sensor fix when not connected [esphome#5632](https://github.com/esphome/esphome/pull/5632) by [@jesserockz](https://github.com/jesserockz) - Enable IPv6 support for BK72xx [esphome#7398](https://github.com/esphome/esphome/pull/7398) by [@dwmw2](https://github.com/dwmw2)
- Add Byron Doorbell RF protocol [esphome#4718](https://github.com/esphome/esphome/pull/4718) by [@marshn](https://github.com/marshn) - Move I2S config settings the the base i2sAudio files. Phase 1 [esphome#7183](https://github.com/esphome/esphome/pull/7183) by [@nielsnl68](https://github.com/nielsnl68) (breaking-change)
- Refactor dashboard zeroconf support [esphome#5681](https://github.com/esphome/esphome/pull/5681) by [@bdraco](https://github.com/bdraco) - Implement all supported thermocouple types for MAX31856 [esphome#7218](https://github.com/esphome/esphome/pull/7218) by [@ArkanStasarik](https://github.com/ArkanStasarik)
- Allow static assets to be cached if not in debug mode [esphome#5684](https://github.com/esphome/esphome/pull/5684) by [@jesserockz](https://github.com/jesserockz) - [i2s_audio] Add more options to speakers and microphones [esphome#7306](https://github.com/esphome/esphome/pull/7306) by [@pyos](https://github.com/pyos) (breaking-change)
- Remove extra code in old sgp40 [esphome#5685](https://github.com/esphome/esphome/pull/5685) by [@jesserockz](https://github.com/jesserockz) - [uponor_smatrix] Modifies sending algorithm [esphome#7326](https://github.com/esphome/esphome/pull/7326) by [@skasi7](https://github.com/skasi7)
- Allow pulse light effect to have separate on and off transition lengths [esphome#5659](https://github.com/esphome/esphome/pull/5659) by [@jesserockz](https://github.com/jesserockz) - User configurable frame buffer. [esphome#7360](https://github.com/esphome/esphome/pull/7360) by [@ajwahab](https://github.com/ajwahab)
- Add differential pressure sensor support for CFSensor XGZP68xxD devices [esphome#5562](https://github.com/esphome/esphome/pull/5562) by [@gcormier](https://github.com/gcormier) (new-integration) - [Modbus Controller] Added preference to change command retries [esphome#7312](https://github.com/esphome/esphome/pull/7312) by [@0x3333](https://github.com/0x3333)
- Bump zeroconf from 0.119.0 to 0.120.0 [esphome#5682](https://github.com/esphome/esphome/pull/5682) by [@dependabot[bot]](https://github.com/apps/dependabot) - [voice-assistant] Dont error on ``no_wake_word`` timeout error with streaming wake word [esphome#7435](https://github.com/esphome/esphome/pull/7435) by [@jesserockz](https://github.com/jesserockz)
- Add spi support for ade7953 [esphome#5439](https://github.com/esphome/esphome/pull/5439) by [@angelnu](https://github.com/angelnu) (new-integration) - Improve manufacturer data tracing to identify BLE devices a bit easie… [esphome#7332](https://github.com/esphome/esphome/pull/7332) by [@tomer-w](https://github.com/tomer-w)
- Remove page jump on Nextion startup [esphome#5673](https://github.com/esphome/esphome/pull/5673) by [@edwardtfn](https://github.com/edwardtfn) - Add sample_bytes to media player supported format [esphome#7451](https://github.com/esphome/esphome/pull/7451) by [@synesthesiam](https://github.com/synesthesiam)
- [web_server] Adds the ability to handle Private Network Access preflight requests [esphome#5669](https://github.com/esphome/esphome/pull/5669) by [@DanielBaulig](https://github.com/DanielBaulig) - [docker] Bump git from 1:2.39.2-1.1 to 1:2.39.5-0+deb12u1 [esphome#7452](https://github.com/esphome/esphome/pull/7452) by [@jesserockz](https://github.com/jesserockz)
- Update esphome-dashboard to version 20231107.0 [esphome#5686](https://github.com/esphome/esphome/pull/5686) by [@jesserockz](https://github.com/jesserockz) - Add voice assistant configuration messages [esphome#7445](https://github.com/esphome/esphome/pull/7445) by [@synesthesiam](https://github.com/synesthesiam)
- add wifi.on_connect and wifi.on_disconnect triggers [esphome#3639](https://github.com/esphome/esphome/pull/3639) by [@ChemicalXandco](https://github.com/ChemicalXandco) - Dont replace project name spaces with underlines [esphome#7455](https://github.com/esphome/esphome/pull/7455) by [@jesserockz](https://github.com/jesserockz)
- Implement a memory cache for dashboard entries to avoid frequent disk reads [esphome#5687](https://github.com/esphome/esphome/pull/5687) by [@bdraco](https://github.com/bdraco) - Add voice assistant methods for configuration [esphome#7459](https://github.com/esphome/esphome/pull/7459) by [@synesthesiam](https://github.com/synesthesiam)
- support spi for sn74hc595 [esphome#5491](https://github.com/esphome/esphome/pull/5491) by [@angelnu](https://github.com/angelnu)
- Handle on_disconnect when Wi-Fi is disabled [esphome#5691](https://github.com/esphome/esphome/pull/5691) by [@kbx81](https://github.com/kbx81)
- Bump aioesphomeapi from 18.2.1 to 18.2.4 [esphome#5692](https://github.com/esphome/esphome/pull/5692) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Handle nanoseconds in config [esphome#5695](https://github.com/esphome/esphome/pull/5695) by [@jesserockz](https://github.com/jesserockz)
- Fix esp32_rmt_led_strip custom timing units [esphome#5696](https://github.com/esphome/esphome/pull/5696) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Fix static assets cache logic [esphome#5700](https://github.com/esphome/esphome/pull/5700) by [@bdraco](https://github.com/bdraco)
- Use piwheels for armv7 docker image builds [esphome#5703](https://github.com/esphome/esphome/pull/5703) by [@bdraco](https://github.com/bdraco)
- fix: Fix broken bluetooth_proxy and ble_clients after BLE enable/disable [esphome#5704](https://github.com/esphome/esphome/pull/5704) by [@Rapsssito](https://github.com/Rapsssito)
- Bump aioesphomeapi to 18.2.7 [esphome#5706](https://github.com/esphome/esphome/pull/5706) by [@bdraco](https://github.com/bdraco)
- Update Dockerfile to use piwheels for armv7 [esphome#5709](https://github.com/esphome/esphome/pull/5709) by [@bdraco](https://github.com/bdraco)
- Bump zeroconf from 0.120.0 to 0.122.3 [esphome#5715](https://github.com/esphome/esphome/pull/5715) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add resistance_sampler interface for config validation [esphome#5718](https://github.com/esphome/esphome/pull/5718) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Fix zeroconf name resolution refactoring error [esphome#5725](https://github.com/esphome/esphome/pull/5725) by [@bdraco](https://github.com/bdraco)
- Missed ifdefs [esphome#5727](https://github.com/esphome/esphome/pull/5727) by [@descipher](https://github.com/descipher)
- Bump aioesphomeapi from 18.2.7 to 18.4.0 [esphome#5735](https://github.com/esphome/esphome/pull/5735) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Migrate to using aioesphomeapi for the log runner to fix multiple issues [esphome#5733](https://github.com/esphome/esphome/pull/5733) by [@bdraco](https://github.com/bdraco)
- Bump zeroconf to 0.123.0 [esphome#5736](https://github.com/esphome/esphome/pull/5736) by [@bdraco](https://github.com/bdraco)
- Handle wake word not set up internally [esphome#5738](https://github.com/esphome/esphome/pull/5738) by [@jesserockz](https://github.com/jesserockz)
- dashboard: remove usage of codecs module [esphome#5741](https://github.com/esphome/esphome/pull/5741) by [@bdraco](https://github.com/bdraco)
- dashboard: Run get_serial_ports in the executor [esphome#5740](https://github.com/esphome/esphome/pull/5740) by [@bdraco](https://github.com/bdraco)
- Generate partitions.csv based on flash size [esphome#5697](https://github.com/esphome/esphome/pull/5697) by [@kbx81](https://github.com/kbx81)
- Allow setup to continue past mqtt if network/wifi is disabled [esphome#5754](https://github.com/esphome/esphome/pull/5754) by [@jesserockz](https://github.com/jesserockz)
- Dont dump wifi info when disabled [esphome#5755](https://github.com/esphome/esphome/pull/5755) by [@jesserockz](https://github.com/jesserockz)

View File

@@ -30,8 +30,9 @@ schema:
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome (beta) name: ESPHome (beta)
version: 2023.11.0 version: 2024.9.0
slug: esphome-beta slug: esphome-beta
description: Beta version of ESPHome add-on description: Beta version of ESPHome add-on
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@@ -1 +1 @@
See https://esphome.io/changelog/index.html See https://github.com/esphome/esphome/commits/dev

View File

@@ -1,10 +0,0 @@
ARG BUILD_FROM=esphome/esphome-hassio-amd64:dev
FROM ${BUILD_FROM}
# Copy root filesystem
COPY rootfs /
# Labels
LABEL \
io.hass.type="addon" \
io.hass.version=dev

View File

@@ -1,5 +0,0 @@
---
build_from:
aarch64: ghcr.io/esphome/esphome-hassio:dev
amd64: ghcr.io/esphome/esphome-hassio:dev
armv7: ghcr.io/esphome/esphome-hassio:dev

View File

@@ -31,10 +31,12 @@ schema:
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome (dev) name: ESPHome (dev)
version: dev version: 2024.10.0-dev20240918
slug: esphome-dev slug: esphome-dev
description: Development version of ESPHome add-on description: Development version of ESPHome add-on
image: ghcr.io/esphome/esphome-hassio
stage: experimental stage: experimental
advanced: true advanced: true
options: options:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@@ -1,47 +0,0 @@
#!/usr/bin/with-contenv bashio
# ==============================================================================
# Community Hass.io Add-ons: ESPHome
# This files installs the user ESPHome fork if specified
# The fork must be up to date with the latest ESPHome dev branch
# and have no conflicts
# ==============================================================================
declare esphome_fork
if bashio::config.has_value 'esphome_fork'; then
esphome_fork=$(bashio::config 'esphome_fork')
if [[ $esphome_fork == *":"* ]]; then
IFS=':' read -r -a array <<< "$esphome_fork"
username=${array[0]}
ref=${array[1]}
else
username="esphome"
ref=$esphome_fork
fi
full_url="https://github.com/${username}/esphome/archive/${ref}.tar.gz"
bashio::log.info "Checking forked ESPHome"
dev_version=$(python3 -c "from esphome.const import __version__; print(__version__)")
bashio::log.info "Downloading ESPHome from fork '${esphome_fork}' (${full_url})..."
curl -L -o /tmp/esphome.tar.gz "${full_url}" -qq \
|| bashio::exit.nok "Failed downloading ESPHome fork."
bashio::log.info "Installing ESPHome from fork '${esphome_fork}' (${full_url})..."
rm -rf /esphome || bashio::exit.nok "Failed to remove ESPHome."
mkdir /esphome
tar -zxf /tmp/esphome.tar.gz -C /esphome --strip-components=1 \
|| bashio::exit.nok "Failed installing ESPHome from fork."
pip install -U -e /esphome || bashio::exit.nok "Failed installing ESPHome from fork."
rm -f /tmp/esphome.tar.gz
fork_version=$(python3 -c "from esphome.const import __version__; print(__version__)")
if [[ "$fork_version" != "$dev_version" ]]; then
bashio::log.error "############################"
bashio::log.error "Uninstalled fork as version does not match"
bashio::log.error "Update (or ask the author to update) the branch"
bashio::log.error "This is important as the dev addon and the dev ESPHome"
bashio::log.error "branch can have changes that are not compatible with old forks"
bashio::log.error "and get reported as bugs which we cannot solve easily."
bashio::log.error "############################"
bashio::exit.nok
fi
bashio::log.info "Installed ESPHome from fork '${esphome_fork}' (${full_url})..."
fi

View File

@@ -1,169 +1,126 @@
## 2023.11.0 ## 2024.9.0
## Full list of changes ## Full list of changes
### New Components ### New Components
- Add Support for Sensirion SFA30 sensor [esphome#5519](https://github.com/esphome/esphome/pull/5519) by [@ghsensdev](https://github.com/ghsensdev) (new-integration) - Add HMAC-MD5 support for authenticating OTA updates [esphome#7200](https://github.com/esphome/esphome/pull/7200) by [@dwmw2](https://github.com/dwmw2) (new-integration)
- add uart button [esphome#5540](https://github.com/esphome/esphome/pull/5540) by [@ssieb](https://github.com/ssieb) (new-integration) - Add support for BL0906 energy meter [esphome#7339](https://github.com/esphome/esphome/pull/7339) by [@tarontop](https://github.com/tarontop) (new-integration)
- Add ZH/LT-01 climate component with IR receiver option [esphome#4333](https://github.com/esphome/esphome/pull/4333) by [@cfeenstra1024](https://github.com/cfeenstra1024) (new-integration) - [udp] Implement UDP sensor broadcast [esphome#6865](https://github.com/esphome/esphome/pull/6865) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Feat: Add GREE climateir component [esphome#4464](https://github.com/esphome/esphome/pull/4464) by [@PiuPiuson](https://github.com/PiuPiuson) (new-integration) - CH422G support [esphome#7356](https://github.com/esphome/esphome/pull/7356) by [@jesterret](https://github.com/jesterret) (new-integration)
- AMS iAQ Core CO2 sensor component [esphome#5192](https://github.com/esphome/esphome/pull/5192) by [@yozik04](https://github.com/yozik04) (new-integration) - Add StatsD component [esphome#6642](https://github.com/esphome/esphome/pull/6642) by [@Links2004](https://github.com/Links2004) (new-integration)
- Add IR Noblex climate component [esphome#4913](https://github.com/esphome/esphome/pull/4913) by [@AGalfra](https://github.com/AGalfra) (new-integration) - Add support for using BMP280 with SPI [esphome#7053](https://github.com/esphome/esphome/pull/7053) by [@ademuri](https://github.com/ademuri) (new-integration) (breaking-change)
- Add text component [esphome#5336](https://github.com/esphome/esphome/pull/5336) by [@EternityForest](https://github.com/EternityForest) (new-integration) - LTR-501, LTR-301, LTR-558 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6262](https://github.com/esphome/esphome/pull/6262) by [@latonita](https://github.com/latonita) (new-integration)
- Add support for honeywellabp2 pressure sensor [esphome#5422](https://github.com/esphome/esphome/pull/5422) by [@jpfaff](https://github.com/jpfaff) (new-integration)
- Add Emc2101 [esphome#4491](https://github.com/esphome/esphome/pull/4491) by [@ellull](https://github.com/ellull) (new-integration)
- Add support for Qwiic PIR binary sensor [esphome#5194](https://github.com/esphome/esphome/pull/5194) by [@kahrendt](https://github.com/kahrendt) (new-integration)
- Add dfrobot_sen0395 mmwave radar component [esphome#4203](https://github.com/esphome/esphome/pull/4203) by [@niklasweber](https://github.com/niklasweber) (new-integration)
- Add HLK-LD2420 mmWave Radar module component. [esphome#4847](https://github.com/esphome/esphome/pull/4847) by [@descipher](https://github.com/descipher) (new-integration)
- Add Micronova component [esphome#4760](https://github.com/esphome/esphome/pull/4760) by [@Jorre05](https://github.com/Jorre05) (new-integration)
- Add differential pressure sensor support for CFSensor XGZP68xxD devices [esphome#5562](https://github.com/esphome/esphome/pull/5562) by [@gcormier](https://github.com/gcormier) (new-integration)
- Add spi support for ade7953 [esphome#5439](https://github.com/esphome/esphome/pull/5439) by [@angelnu](https://github.com/angelnu) (new-integration)
- Add resistance_sampler interface for config validation [esphome#5718](https://github.com/esphome/esphome/pull/5718) by [@jesserockz](https://github.com/jesserockz) (new-integration)
### Breaking Changes ### Breaking Changes
- Hydreon updates [esphome#5424](https://github.com/esphome/esphome/pull/5424) by [@jj-uk](https://github.com/jj-uk) (breaking-change) - [ili9xxx] Make `invert_colors` required [esphome#7292](https://github.com/esphome/esphome/pull/7292) by [@gvdhoven](https://github.com/gvdhoven) (breaking-change)
- Fix esp32_rmt_led_strip custom timing units [esphome#5696](https://github.com/esphome/esphome/pull/5696) by [@jesserockz](https://github.com/jesserockz) (breaking-change) - Add support for using BMP280 with SPI [esphome#7053](https://github.com/esphome/esphome/pull/7053) by [@ademuri](https://github.com/ademuri) (new-integration) (breaking-change)
- Move I2S config settings the the base i2sAudio files. Phase 1 [esphome#7183](https://github.com/esphome/esphome/pull/7183) by [@nielsnl68](https://github.com/nielsnl68) (breaking-change)
- [i2s_audio] Add more options to speakers and microphones [esphome#7306](https://github.com/esphome/esphome/pull/7306) by [@pyos](https://github.com/pyos) (breaking-change)
### Beta Changes ### Beta Changes
- Handle nanoseconds in config [esphome#5695](https://github.com/esphome/esphome/pull/5695) by [@jesserockz](https://github.com/jesserockz) - [voice-assistant] Dont error on ``no_wake_word`` timeout error with streaming wake word [esphome#7435](https://github.com/esphome/esphome/pull/7435) by [@jesserockz](https://github.com/jesserockz)
- Fix esp32_rmt_led_strip custom timing units [esphome#5696](https://github.com/esphome/esphome/pull/5696) by [@jesserockz](https://github.com/jesserockz) (breaking-change) - Improve manufacturer data tracing to identify BLE devices a bit easie… [esphome#7332](https://github.com/esphome/esphome/pull/7332) by [@tomer-w](https://github.com/tomer-w)
- Fix static assets cache logic [esphome#5700](https://github.com/esphome/esphome/pull/5700) by [@bdraco](https://github.com/bdraco) - Add sample_bytes to media player supported format [esphome#7451](https://github.com/esphome/esphome/pull/7451) by [@synesthesiam](https://github.com/synesthesiam)
- Use piwheels for armv7 docker image builds [esphome#5703](https://github.com/esphome/esphome/pull/5703) by [@bdraco](https://github.com/bdraco) - [docker] Bump git from 1:2.39.2-1.1 to 1:2.39.5-0+deb12u1 [esphome#7452](https://github.com/esphome/esphome/pull/7452) by [@jesserockz](https://github.com/jesserockz)
- fix: Fix broken bluetooth_proxy and ble_clients after BLE enable/disable [esphome#5704](https://github.com/esphome/esphome/pull/5704) by [@Rapsssito](https://github.com/Rapsssito) - Add voice assistant configuration messages [esphome#7445](https://github.com/esphome/esphome/pull/7445) by [@synesthesiam](https://github.com/synesthesiam)
- Bump aioesphomeapi to 18.2.7 [esphome#5706](https://github.com/esphome/esphome/pull/5706) by [@bdraco](https://github.com/bdraco) - Dont replace project name spaces with underlines [esphome#7455](https://github.com/esphome/esphome/pull/7455) by [@jesserockz](https://github.com/jesserockz)
- Update Dockerfile to use piwheels for armv7 [esphome#5709](https://github.com/esphome/esphome/pull/5709) by [@bdraco](https://github.com/bdraco) - Add voice assistant methods for configuration [esphome#7459](https://github.com/esphome/esphome/pull/7459) by [@synesthesiam](https://github.com/synesthesiam)
- Bump zeroconf from 0.120.0 to 0.122.3 [esphome#5715](https://github.com/esphome/esphome/pull/5715) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add resistance_sampler interface for config validation [esphome#5718](https://github.com/esphome/esphome/pull/5718) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Fix zeroconf name resolution refactoring error [esphome#5725](https://github.com/esphome/esphome/pull/5725) by [@bdraco](https://github.com/bdraco)
- Missed ifdefs [esphome#5727](https://github.com/esphome/esphome/pull/5727) by [@descipher](https://github.com/descipher)
- Bump aioesphomeapi from 18.2.7 to 18.4.0 [esphome#5735](https://github.com/esphome/esphome/pull/5735) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Migrate to using aioesphomeapi for the log runner to fix multiple issues [esphome#5733](https://github.com/esphome/esphome/pull/5733) by [@bdraco](https://github.com/bdraco)
- Bump zeroconf to 0.123.0 [esphome#5736](https://github.com/esphome/esphome/pull/5736) by [@bdraco](https://github.com/bdraco)
- Handle wake word not set up internally [esphome#5738](https://github.com/esphome/esphome/pull/5738) by [@jesserockz](https://github.com/jesserockz)
- dashboard: remove usage of codecs module [esphome#5741](https://github.com/esphome/esphome/pull/5741) by [@bdraco](https://github.com/bdraco)
- dashboard: Run get_serial_ports in the executor [esphome#5740](https://github.com/esphome/esphome/pull/5740) by [@bdraco](https://github.com/bdraco)
- Generate partitions.csv based on flash size [esphome#5697](https://github.com/esphome/esphome/pull/5697) by [@kbx81](https://github.com/kbx81)
- Allow setup to continue past mqtt if network/wifi is disabled [esphome#5754](https://github.com/esphome/esphome/pull/5754) by [@jesserockz](https://github.com/jesserockz)
- Dont dump wifi info when disabled [esphome#5755](https://github.com/esphome/esphome/pull/5755) by [@jesserockz](https://github.com/jesserockz)
### All changes ### All changes
- Splits FastLed test scripts out of test1.yaml [esphome#5522](https://github.com/esphome/esphome/pull/5522) by [@nielsnl68](https://github.com/nielsnl68) - [code-quality] fix performance-unnecessary-value-param [esphome#7274](https://github.com/esphome/esphome/pull/7274) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add round sensor filter [esphome#5532](https://github.com/esphome/esphome/pull/5532) by [@jesserockz](https://github.com/jesserockz) - [code-quality] fix clang-tidy prometheus [esphome#7284](https://github.com/esphome/esphome/pull/7284) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add Support for Sensirion SFA30 sensor [esphome#5519](https://github.com/esphome/esphome/pull/5519) by [@ghsensdev](https://github.com/ghsensdev) (new-integration) - [code-quality] fix clang-tidy ota [esphome#7282](https://github.com/esphome/esphome/pull/7282) by [@tomaszduda23](https://github.com/tomaszduda23)
- Change UART source clock to `UART_SCLK_DEFAULT` when IDF >=v5 [esphome#5533](https://github.com/esphome/esphome/pull/5533) by [@leoshusar](https://github.com/leoshusar) - [code-quality] fix clang-tidy e131 [esphome#7281](https://github.com/esphome/esphome/pull/7281) by [@tomaszduda23](https://github.com/tomaszduda23)
- add uart button [esphome#5540](https://github.com/esphome/esphome/pull/5540) by [@ssieb](https://github.com/ssieb) (new-integration) - [code-quality] fix clang-tidy wireguard [esphome#7287](https://github.com/esphome/esphome/pull/7287) by [@tomaszduda23](https://github.com/tomaszduda23)
- add on/off options for uart switch [esphome#5539](https://github.com/esphome/esphome/pull/5539) by [@ssieb](https://github.com/ssieb) - [code-quality] fix clang-tidy improv_serial [esphome#7283](https://github.com/esphome/esphome/pull/7283) by [@tomaszduda23](https://github.com/tomaszduda23)
- Update docker base and packages + docker python 3.11 [esphome#5473](https://github.com/esphome/esphome/pull/5473) by [@bdraco](https://github.com/bdraco) - [code-quality] fix clang-tidy captive_portal [esphome#7280](https://github.com/esphome/esphome/pull/7280) by [@tomaszduda23](https://github.com/tomaszduda23)
- IDF 5 fixes for various components from test1.yaml [esphome#5451](https://github.com/esphome/esphome/pull/5451) by [@kbx81](https://github.com/kbx81) - Add HMAC-MD5 support for authenticating OTA updates [esphome#7200](https://github.com/esphome/esphome/pull/7200) by [@dwmw2](https://github.com/dwmw2) (new-integration)
- Bump aioesphomeapi from 15.0.0 to 18.0.6 [esphome#5557](https://github.com/esphome/esphome/pull/5557) by [@dependabot[bot]](https://github.com/apps/dependabot) - [const] Add UNIT_LITRE [esphome#7317](https://github.com/esphome/esphome/pull/7317) by [@Roving-Ronin](https://github.com/Roving-Ronin)
- Bump zeroconf from 0.115.1 to 0.119.0 [esphome#5560](https://github.com/esphome/esphome/pull/5560) by [@dependabot[bot]](https://github.com/apps/dependabot) - [code-quality] fix clang-tidy socket [esphome#7285](https://github.com/esphome/esphome/pull/7285) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add config to allow suppression of warnings about use of strapping pins [esphome#5287](https://github.com/esphome/esphome/pull/5287) by [@clydebarrow](https://github.com/clydebarrow) - [code-quality] fix clang-tidy cstddef [esphome#7324](https://github.com/esphome/esphome/pull/7324) by [@tomaszduda23](https://github.com/tomaszduda23)
- Hydreon updates [esphome#5424](https://github.com/esphome/esphome/pull/5424) by [@jj-uk](https://github.com/jj-uk) (breaking-change) - Add output source priority "hybrid" [esphome#7322](https://github.com/esphome/esphome/pull/7322) by [@syssi](https://github.com/syssi)
- Bump actions/checkout from 4.1.0 to 4.1.1 [esphome#5551](https://github.com/esphome/esphome/pull/5551) by [@dependabot[bot]](https://github.com/apps/dependabot) - Enable verbose mode from env ESPHOME_VERBOSE or --verbose [esphome#6987](https://github.com/esphome/esphome/pull/6987) by [@ptr727](https://github.com/ptr727)
- Bump pyupgrade from 3.10.1 to 3.13.0 [esphome#5428](https://github.com/esphome/esphome/pull/5428) by [@dependabot[bot]](https://github.com/apps/dependabot) - Tuya Number: allow to set hidden datapoints [esphome#7024](https://github.com/esphome/esphome/pull/7024) by [@szupi-ipuzs](https://github.com/szupi-ipuzs)
- Bump tzlocal from 5.0.1 to 5.1 [esphome#5480](https://github.com/esphome/esphome/pull/5480) by [@dependabot[bot]](https://github.com/apps/dependabot) - feat: Expand ByteBuffer [esphome#7316](https://github.com/esphome/esphome/pull/7316) by [@Rapsssito](https://github.com/Rapsssito)
- Bump black from 23.9.1 to 23.10.0 [esphome#5561](https://github.com/esphome/esphome/pull/5561) by [@dependabot[bot]](https://github.com/apps/dependabot) - [ledc] Tweak fix in #6997 [esphome#7336](https://github.com/esphome/esphome/pull/7336) by [@kbx81](https://github.com/kbx81)
- Fan no off cycle action [esphome#5564](https://github.com/esphome/esphome/pull/5564) by [@skykingjwc](https://github.com/skykingjwc) - [ledc] Fix maximum brightness on ESP-IDF 5.1 [esphome#7342](https://github.com/esphome/esphome/pull/7342) by [@clydebarrow](https://github.com/clydebarrow)
- Bump aioesphomeapi from 18.0.6 to 18.0.7 [esphome#5573](https://github.com/esphome/esphome/pull/5573) by [@dependabot[bot]](https://github.com/apps/dependabot) - [lvgl] Bug fixes: [esphome#7341](https://github.com/esphome/esphome/pull/7341) by [@clydebarrow](https://github.com/clydebarrow)
- Remove unnecessary checks in Nextion component [esphome#5578](https://github.com/esphome/esphome/pull/5578) by [@edwardtfn](https://github.com/edwardtfn) - [const] Move ``CONF_LINE_FREQUENCY`` to const.py [esphome#7351](https://github.com/esphome/esphome/pull/7351) by [@jesserockz](https://github.com/jesserockz)
- update storage version from mdns [esphome#5584](https://github.com/esphome/esphome/pull/5584) by [@glmnet](https://github.com/glmnet) - bl0942: Fix init sequence, add address and line_frequency options [esphome#7250](https://github.com/esphome/esphome/pull/7250) by [@dwmw2](https://github.com/dwmw2)
- set Nextion protocol reparse mode [esphome#5484](https://github.com/esphome/esphome/pull/5484) by [@edwardtfn](https://github.com/edwardtfn) - Add supported formats to media player [esphome#7318](https://github.com/esphome/esphome/pull/7318) by [@synesthesiam](https://github.com/synesthesiam)
- Add address text sensor to WireGuard [esphome#5576](https://github.com/esphome/esphome/pull/5576) by [@droscy](https://github.com/droscy) - Add reset to esp32_rmt_led_strip [esphome#7354](https://github.com/esphome/esphome/pull/7354) by [@angelnu](https://github.com/angelnu)
- Add LibreTiny hardwares to PR Template [esphome#5575](https://github.com/esphome/esphome/pull/5575) by [@HeMan](https://github.com/HeMan) - [ili9xxx] Make `invert_colors` required [esphome#7292](https://github.com/esphome/esphome/pull/7292) by [@gvdhoven](https://github.com/gvdhoven) (breaking-change)
- Bump pytest-mock from 3.11.1 to 3.12.0 [esphome#5571](https://github.com/esphome/esphome/pull/5571) by [@dependabot[bot]](https://github.com/apps/dependabot) - Add WS2811 to esp32_rmt_led_strip [esphome#7353](https://github.com/esphome/esphome/pull/7353) by [@angelnu](https://github.com/angelnu)
- Bump pyupgrade from 3.13.0 to 3.15.0 [esphome#5570](https://github.com/esphome/esphome/pull/5570) by [@dependabot[bot]](https://github.com/apps/dependabot) - [lvgl] Add lvgl.widget.focus action and related triggers. [esphome#7315](https://github.com/esphome/esphome/pull/7315) by [@clydebarrow](https://github.com/clydebarrow)
- Add ZH/LT-01 climate component with IR receiver option [esphome#4333](https://github.com/esphome/esphome/pull/4333) by [@cfeenstra1024](https://github.com/cfeenstra1024) (new-integration) - esp32_can: suppress compiler warning [esphome#7372](https://github.com/esphome/esphome/pull/7372) by [@mrk-its](https://github.com/mrk-its)
- Feat: Add GREE climateir component [esphome#4464](https://github.com/esphome/esphome/pull/4464) by [@PiuPiuson](https://github.com/PiuPiuson) (new-integration) - Add support for BL0906 energy meter [esphome#7339](https://github.com/esphome/esphome/pull/7339) by [@tarontop](https://github.com/tarontop) (new-integration)
- AMS iAQ Core CO2 sensor component [esphome#5192](https://github.com/esphome/esphome/pull/5192) by [@yozik04](https://github.com/yozik04) (new-integration) - [platformio] Add environments for ESP-IDF 5.3 for development [esphome#7371](https://github.com/esphome/esphome/pull/7371) by [@clydebarrow](https://github.com/clydebarrow)
- Add IR Noblex climate component [esphome#4913](https://github.com/esphome/esphome/pull/4913) by [@AGalfra](https://github.com/AGalfra) (new-integration) - [lvgl] Bug fixes [esphome#7370](https://github.com/esphome/esphome/pull/7370) by [@clydebarrow](https://github.com/clydebarrow)
- Bump aioesphomeapi from 18.0.7 to 18.0.12 [esphome#5597](https://github.com/esphome/esphome/pull/5597) by [@dependabot[bot]](https://github.com/apps/dependabot) - [bytebuffer] Use existing bit_cast operations. [esphome#7374](https://github.com/esphome/esphome/pull/7374) by [@clydebarrow](https://github.com/clydebarrow)
- Add text component [esphome#5336](https://github.com/esphome/esphome/pull/5336) by [@EternityForest](https://github.com/EternityForest) (new-integration) - Bump actions/setup-python from 5.1.0 to 5.2.0 [esphome#7375](https://github.com/esphome/esphome/pull/7375) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix exception handling when loading packages [esphome#5569](https://github.com/esphome/esphome/pull/5569) by [@dentra](https://github.com/dentra) - Bump actions/setup-python from 5.1.1 to 5.2.0 in /.github/actions/restore-python [esphome#7376](https://github.com/esphome/esphome/pull/7376) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add support for honeywellabp2 pressure sensor [esphome#5422](https://github.com/esphome/esphome/pull/5422) by [@jpfaff](https://github.com/jpfaff) (new-integration) - [gt911] Add reset pin config [esphome#7373](https://github.com/esphome/esphome/pull/7373) by [@clydebarrow](https://github.com/clydebarrow)
- Add Emc2101 [esphome#4491](https://github.com/esphome/esphome/pull/4491) by [@ellull](https://github.com/ellull) (new-integration) - [st7701s] Add delay feature in init sequences [esphome#7343](https://github.com/esphome/esphome/pull/7343) by [@clydebarrow](https://github.com/clydebarrow)
- Fix: Incorporate unique serial number in preference's hash for multiple Sensirion sensors [esphome#5479](https://github.com/esphome/esphome/pull/5479) by [@kahrendt](https://github.com/kahrendt) - Add now required `invert_colors` option to test files referencing ili9xxx [esphome#7367](https://github.com/esphome/esphome/pull/7367) by [@clydebarrow](https://github.com/clydebarrow)
- Add support for Qwiic PIR binary sensor [esphome#5194](https://github.com/esphome/esphome/pull/5194) by [@kahrendt](https://github.com/kahrendt) (new-integration) - esp32_can: make queue lengths configurable [esphome#7361](https://github.com/esphome/esphome/pull/7361) by [@mrk-its](https://github.com/mrk-its)
- Add ignore out of range option for clamp filter [esphome#5455](https://github.com/esphome/esphome/pull/5455) by [@kahrendt](https://github.com/kahrendt) - [code-quality] fix clang-tidy web_server and web_server_base [esphome#7286](https://github.com/esphome/esphome/pull/7286) by [@tomaszduda23](https://github.com/tomaszduda23)
- Print text mqtt command topic [esphome#5601](https://github.com/esphome/esphome/pull/5601) by [@jesserockz](https://github.com/jesserockz) - Update MiCS Values [esphome#7173](https://github.com/esphome/esphome/pull/7173) by [@TrevorSchirmer](https://github.com/TrevorSchirmer)
- Correctly allow mqtt topics to be none so ESPHome does not sub/pub to them [esphome#5213](https://github.com/esphome/esphome/pull/5213) by [@jesserockz](https://github.com/jesserockz) - Tuya Number: allow restoring value of hidden datapoints [esphome#7346](https://github.com/esphome/esphome/pull/7346) by [@szupi-ipuzs](https://github.com/szupi-ipuzs)
- SX1509 output debounce fix (resolves esphome/issues#4402) [esphome#4672](https://github.com/esphome/esphome/pull/4672) by [@tracestep](https://github.com/tracestep) - [udp] Implement UDP sensor broadcast [esphome#6865](https://github.com/esphome/esphome/pull/6865) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Add details when error loading package [esphome#5603](https://github.com/esphome/esphome/pull/5603) by [@dentra](https://github.com/dentra) - update logs for bluetooth proxy [esphome#7382](https://github.com/esphome/esphome/pull/7382) by [@tomaszduda23](https://github.com/tomaszduda23)
- Fallback to main secrets.yaml for packages [esphome#5604](https://github.com/esphome/esphome/pull/5604) by [@dentra](https://github.com/dentra) - [font] Make display an auto-load, not a dependency [esphome#7366](https://github.com/esphome/esphome/pull/7366) by [@clydebarrow](https://github.com/clydebarrow)
- Add area (zone) to esphome core config to be suggested through API and MQTT. [esphome#5602](https://github.com/esphome/esphome/pull/5602) by [@Cossid](https://github.com/Cossid) - CH422G support [esphome#7356](https://github.com/esphome/esphome/pull/7356) by [@jesterret](https://github.com/jesterret) (new-integration)
- Devcontainer: allow pip install and dont warn about root user [esphome#5608](https://github.com/esphome/esphome/pull/5608) by [@jesserockz](https://github.com/jesserockz) - [rpi_dpi_rgb] Add enable_pin and reset_display method to driver [esphome#7383](https://github.com/esphome/esphome/pull/7383) by [@lboue](https://github.com/lboue)
- Validate test files before compiling [esphome#5611](https://github.com/esphome/esphome/pull/5611) by [@jesserockz](https://github.com/jesserockz) - Bump actions/upload-artifact from 4.3.4 to 4.4.0 [esphome#7379](https://github.com/esphome/esphome/pull/7379) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Minor defines.h updates [esphome#5610](https://github.com/esphome/esphome/pull/5610) by [@jesserockz](https://github.com/jesserockz) - Fix build for esp32h2 using esp-idf 5.3 [esphome#7393](https://github.com/esphome/esphome/pull/7393) by [@mrene](https://github.com/mrene)
- timeout filter: return value [esphome#5612](https://github.com/esphome/esphome/pull/5612) by [@jesserockz](https://github.com/jesserockz) - Bump mDNS and follow ruff's suggestions [esphome#7308](https://github.com/esphome/esphome/pull/7308) by [@HeMan](https://github.com/HeMan)
- Add dfrobot_sen0395 mmwave radar component [esphome#4203](https://github.com/esphome/esphome/pull/4203) by [@niklasweber](https://github.com/niklasweber) (new-integration) - Bump rp2040 Arduino platform and framework [esphome#7134](https://github.com/esphome/esphome/pull/7134) by [@HeMan](https://github.com/HeMan)
- refactor mcp4728 component [esphome#5609](https://github.com/esphome/esphome/pull/5609) by [@ssieb](https://github.com/ssieb) - [gree] Add support for YX1FF remote [esphome#7298](https://github.com/esphome/esphome/pull/7298) by [@dangreco](https://github.com/dangreco)
- Fix HA error related to incorrect state class [esphome#5605](https://github.com/esphome/esphome/pull/5605) by [@nagyrobi](https://github.com/nagyrobi) - [modbus_controller] Allow duplicate command config [esphome#7311](https://github.com/esphome/esphome/pull/7311) by [@0x3333](https://github.com/0x3333)
- Fix xpt2046 for IDF 5 [esphome#5614](https://github.com/esphome/esphome/pull/5614) by [@kbx81](https://github.com/kbx81) - Better support for task blocking ring buffer reads and writes [esphome#7390](https://github.com/esphome/esphome/pull/7390) by [@kahrendt](https://github.com/kahrendt)
- IDF 5 fixes for various components from test4.yaml [esphome#5622](https://github.com/esphome/esphome/pull/5622) by [@kbx81](https://github.com/kbx81) - Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.0 [esphome#7395](https://github.com/esphome/esphome/pull/7395) by [@dependabot[bot]](https://github.com/apps/dependabot)
- IDF 5 fixes for various components from test2.yaml [esphome#5621](https://github.com/esphome/esphome/pull/5621) by [@kbx81](https://github.com/kbx81) - [api] Remove id from ``MediaPlayerSupportedFormat`` [esphome#7406](https://github.com/esphome/esphome/pull/7406) by [@jesserockz](https://github.com/jesserockz)
- Fix armv7 docker builds [esphome#5630](https://github.com/esphome/esphome/pull/5630) by [@bdraco](https://github.com/bdraco) - Drop max BLE client connections limitation [esphome#7088](https://github.com/esphome/esphome/pull/7088) by [@syssi](https://github.com/syssi)
- Bump aioesphomeapi from 18.0.12 to 18.2.0 [esphome#5606](https://github.com/esphome/esphome/pull/5606) by [@dependabot[bot]](https://github.com/apps/dependabot) - [bl0942] loop and overflow cleanup [esphome#7358](https://github.com/esphome/esphome/pull/7358) by [@dwmw2](https://github.com/dwmw2)
- Add needs-docs workflow to fail CI [esphome#5643](https://github.com/esphome/esphome/pull/5643) by [@jesserockz](https://github.com/jesserockz) - Bump peter-evans/create-pull-request from 6.1.0 to 7.0.0 [esphome#7405](https://github.com/esphome/esphome/pull/7405) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add support for PCA9535 16 bit I/O expander [esphome#5634](https://github.com/esphome/esphome/pull/5634) by [@clydebarrow](https://github.com/clydebarrow) - Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 [esphome#7404](https://github.com/esphome/esphome/pull/7404) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix nextion waveform sending for multiple waveforms [esphome#4408](https://github.com/esphome/esphome/pull/4408) by [@gpambrozio](https://github.com/gpambrozio) - Voice assist improvement - configurable conversation_id timeout [esphome#7385](https://github.com/esphome/esphome/pull/7385) by [@jeffc](https://github.com/jeffc)
- Allow validation of pins based on hub config [esphome#5647](https://github.com/esphome/esphome/pull/5647) by [@jesserockz](https://github.com/jesserockz) - Support BL0942 calibration [esphome#7299](https://github.com/esphome/esphome/pull/7299) by [@dwmw2](https://github.com/dwmw2)
- Bump aioesphomeapi from 18.2.0 to 18.2.1 [esphome#5653](https://github.com/esphome/esphome/pull/5653) by [@dependabot[bot]](https://github.com/apps/dependabot) - [micro_wake_word] Remove duplicated download code [esphome#7401](https://github.com/esphome/esphome/pull/7401) by [@jesserockz](https://github.com/jesserockz)
- Validate sn74hc595 pin number are within range [esphome#5655](https://github.com/esphome/esphome/pull/5655) by [@jesserockz](https://github.com/jesserockz) - Add StatsD component [esphome#6642](https://github.com/esphome/esphome/pull/6642) by [@Links2004](https://github.com/Links2004) (new-integration)
- Update PCA9554 pin checks to new facility [esphome#5656](https://github.com/esphome/esphome/pull/5656) by [@clydebarrow](https://github.com/clydebarrow) - [homeassistant-switch] Support different entity domains [esphome#7331](https://github.com/esphome/esphome/pull/7331) by [@jesserockz](https://github.com/jesserockz)
- Update mDNS component to 1.2.2 [esphome#5654](https://github.com/esphome/esphome/pull/5654) by [@HeMan](https://github.com/HeMan) - Add support for using BMP280 with SPI [esphome#7053](https://github.com/esphome/esphome/pull/7053) by [@ademuri](https://github.com/ademuri) (new-integration) (breaking-change)
- Fix return value of run_external_command [esphome#5657](https://github.com/esphome/esphome/pull/5657) by [@jesserockz](https://github.com/jesserockz) - Add voice assistant announce [esphome#7377](https://github.com/esphome/esphome/pull/7377) by [@synesthesiam](https://github.com/synesthesiam)
- Update RTTTL component to allow I2S [esphome#5177](https://github.com/esphome/esphome/pull/5177) by [@nielsnl68](https://github.com/nielsnl68) - [lvgl] Msgbox fixes and enhancements [esphome#7380](https://github.com/esphome/esphome/pull/7380) by [@clydebarrow](https://github.com/clydebarrow)
- Bump flake8 version in pre-commit to match requirements file [esphome#5658](https://github.com/esphome/esphome/pull/5658) by [@jesserockz](https://github.com/jesserockz) - libretiny: Allow specifying version of explicitly imported sources [esphome#7408](https://github.com/esphome/esphome/pull/7408) by [@dwmw2](https://github.com/dwmw2)
- Bump pytest from 7.4.2 to 7.4.3 [esphome#5599](https://github.com/esphome/esphome/pull/5599) by [@dependabot[bot]](https://github.com/apps/dependabot) - [libretiny] Report version 1.7.0 for 'dev' and 'latest' [esphome#7415](https://github.com/esphome/esphome/pull/7415) by [@dwmw2](https://github.com/dwmw2)
- Bump tzlocal from 5.1 to 5.2 [esphome#5594](https://github.com/esphome/esphome/pull/5594) by [@dependabot[bot]](https://github.com/apps/dependabot) - LTR-501, LTR-301, LTR-558 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6262](https://github.com/esphome/esphome/pull/6262) by [@latonita](https://github.com/latonita) (new-integration)
- Bump black from 23.10.0 to 23.10.1 [esphome#5593](https://github.com/esphome/esphome/pull/5593) by [@dependabot[bot]](https://github.com/apps/dependabot) - Fix armv7 container builds [esphome#7426](https://github.com/esphome/esphome/pull/7426) by [@jesserockz](https://github.com/jesserockz)
- Add Healthcheck to Dockerfile [esphome#5651](https://github.com/esphome/esphome/pull/5651) by [@JcMinarro](https://github.com/JcMinarro) - [gh-actions] Don't produce docker build summaries [esphome#7430](https://github.com/esphome/esphome/pull/7430) by [@jesserockz](https://github.com/jesserockz)
- Add HLK-LD2420 mmWave Radar module component. [esphome#4847](https://github.com/esphome/esphome/pull/4847) by [@descipher](https://github.com/descipher) (new-integration) - Add BK72xx support to require_framework_version() [esphome#7409](https://github.com/esphome/esphome/pull/7409) by [@dwmw2](https://github.com/dwmw2)
- Add Micronova component [esphome#4760](https://github.com/esphome/esphome/pull/4760) by [@Jorre05](https://github.com/Jorre05) (new-integration) - Switch IPv6 platform check to use require_framework_version() [esphome#7410](https://github.com/esphome/esphome/pull/7410) by [@dwmw2](https://github.com/dwmw2)
- Add basic shell autocompletion using argcomplete [esphome#5618](https://github.com/esphome/esphome/pull/5618) by [@Nardol](https://github.com/Nardol) - [bl0942] Improve energy reporting [esphome#7428](https://github.com/esphome/esphome/pull/7428) by [@dwmw2](https://github.com/dwmw2)
- Fixed int variables for user defined service in case of ESP32-C3 [esphome#5675](https://github.com/esphome/esphome/pull/5675) by [@paveldn](https://github.com/paveldn) - [rpi_dpi_rgb] Add bounce_buffer config for ESP-IDF 5.x [esphome#7423](https://github.com/esphome/esphome/pull/7423) by [@clydebarrow](https://github.com/clydebarrow)
- Add callback for raw sml messages [esphome#5668](https://github.com/esphome/esphome/pull/5668) by [@micw](https://github.com/micw) - [LVGL] Add color gradients [esphome#7427](https://github.com/esphome/esphome/pull/7427) by [@clydebarrow](https://github.com/clydebarrow)
- Fix compile with latest esp-idf on esp32c6 [esphome#5677](https://github.com/esphome/esphome/pull/5677) by [@DAVe3283](https://github.com/DAVe3283) - [dsmr] Add internal 'telegram' text_sensor to support bridging [esphome#6841](https://github.com/esphome/esphome/pull/6841) by [@marcovaneck](https://github.com/marcovaneck)
- Null topic_prefix disables MQTT publishing/subscription unless topic is explicitly configured [esphome#5644](https://github.com/esphome/esphome/pull/5644) by [@kahrendt](https://github.com/kahrendt) - Pull in new AsyncTCP for IPv6 on BK72xx [esphome#7431](https://github.com/esphome/esphome/pull/7431) by [@dwmw2](https://github.com/dwmw2)
- feat: Add ESP32 BLE enable/disable automations [esphome#5616](https://github.com/esphome/esphome/pull/5616) by [@Rapsssito](https://github.com/Rapsssito) - Bump LibreTiny recommended version to 1.7.0 [esphome#7432](https://github.com/esphome/esphome/pull/7432) by [@dwmw2](https://github.com/dwmw2)
- ble_client rssi sensor fix when not connected [esphome#5632](https://github.com/esphome/esphome/pull/5632) by [@jesserockz](https://github.com/jesserockz) - Enable IPv6 support for BK72xx [esphome#7398](https://github.com/esphome/esphome/pull/7398) by [@dwmw2](https://github.com/dwmw2)
- Add Byron Doorbell RF protocol [esphome#4718](https://github.com/esphome/esphome/pull/4718) by [@marshn](https://github.com/marshn) - Move I2S config settings the the base i2sAudio files. Phase 1 [esphome#7183](https://github.com/esphome/esphome/pull/7183) by [@nielsnl68](https://github.com/nielsnl68) (breaking-change)
- Refactor dashboard zeroconf support [esphome#5681](https://github.com/esphome/esphome/pull/5681) by [@bdraco](https://github.com/bdraco) - Implement all supported thermocouple types for MAX31856 [esphome#7218](https://github.com/esphome/esphome/pull/7218) by [@ArkanStasarik](https://github.com/ArkanStasarik)
- Allow static assets to be cached if not in debug mode [esphome#5684](https://github.com/esphome/esphome/pull/5684) by [@jesserockz](https://github.com/jesserockz) - [i2s_audio] Add more options to speakers and microphones [esphome#7306](https://github.com/esphome/esphome/pull/7306) by [@pyos](https://github.com/pyos) (breaking-change)
- Remove extra code in old sgp40 [esphome#5685](https://github.com/esphome/esphome/pull/5685) by [@jesserockz](https://github.com/jesserockz) - [uponor_smatrix] Modifies sending algorithm [esphome#7326](https://github.com/esphome/esphome/pull/7326) by [@skasi7](https://github.com/skasi7)
- Allow pulse light effect to have separate on and off transition lengths [esphome#5659](https://github.com/esphome/esphome/pull/5659) by [@jesserockz](https://github.com/jesserockz) - User configurable frame buffer. [esphome#7360](https://github.com/esphome/esphome/pull/7360) by [@ajwahab](https://github.com/ajwahab)
- Add differential pressure sensor support for CFSensor XGZP68xxD devices [esphome#5562](https://github.com/esphome/esphome/pull/5562) by [@gcormier](https://github.com/gcormier) (new-integration) - [Modbus Controller] Added preference to change command retries [esphome#7312](https://github.com/esphome/esphome/pull/7312) by [@0x3333](https://github.com/0x3333)
- Bump zeroconf from 0.119.0 to 0.120.0 [esphome#5682](https://github.com/esphome/esphome/pull/5682) by [@dependabot[bot]](https://github.com/apps/dependabot) - [voice-assistant] Dont error on ``no_wake_word`` timeout error with streaming wake word [esphome#7435](https://github.com/esphome/esphome/pull/7435) by [@jesserockz](https://github.com/jesserockz)
- Add spi support for ade7953 [esphome#5439](https://github.com/esphome/esphome/pull/5439) by [@angelnu](https://github.com/angelnu) (new-integration) - Improve manufacturer data tracing to identify BLE devices a bit easie… [esphome#7332](https://github.com/esphome/esphome/pull/7332) by [@tomer-w](https://github.com/tomer-w)
- Remove page jump on Nextion startup [esphome#5673](https://github.com/esphome/esphome/pull/5673) by [@edwardtfn](https://github.com/edwardtfn) - Add sample_bytes to media player supported format [esphome#7451](https://github.com/esphome/esphome/pull/7451) by [@synesthesiam](https://github.com/synesthesiam)
- [web_server] Adds the ability to handle Private Network Access preflight requests [esphome#5669](https://github.com/esphome/esphome/pull/5669) by [@DanielBaulig](https://github.com/DanielBaulig) - [docker] Bump git from 1:2.39.2-1.1 to 1:2.39.5-0+deb12u1 [esphome#7452](https://github.com/esphome/esphome/pull/7452) by [@jesserockz](https://github.com/jesserockz)
- Update esphome-dashboard to version 20231107.0 [esphome#5686](https://github.com/esphome/esphome/pull/5686) by [@jesserockz](https://github.com/jesserockz) - Add voice assistant configuration messages [esphome#7445](https://github.com/esphome/esphome/pull/7445) by [@synesthesiam](https://github.com/synesthesiam)
- add wifi.on_connect and wifi.on_disconnect triggers [esphome#3639](https://github.com/esphome/esphome/pull/3639) by [@ChemicalXandco](https://github.com/ChemicalXandco) - Dont replace project name spaces with underlines [esphome#7455](https://github.com/esphome/esphome/pull/7455) by [@jesserockz](https://github.com/jesserockz)
- Implement a memory cache for dashboard entries to avoid frequent disk reads [esphome#5687](https://github.com/esphome/esphome/pull/5687) by [@bdraco](https://github.com/bdraco) - Add voice assistant methods for configuration [esphome#7459](https://github.com/esphome/esphome/pull/7459) by [@synesthesiam](https://github.com/synesthesiam)
- support spi for sn74hc595 [esphome#5491](https://github.com/esphome/esphome/pull/5491) by [@angelnu](https://github.com/angelnu)
- Handle on_disconnect when Wi-Fi is disabled [esphome#5691](https://github.com/esphome/esphome/pull/5691) by [@kbx81](https://github.com/kbx81)
- Bump aioesphomeapi from 18.2.1 to 18.2.4 [esphome#5692](https://github.com/esphome/esphome/pull/5692) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Handle nanoseconds in config [esphome#5695](https://github.com/esphome/esphome/pull/5695) by [@jesserockz](https://github.com/jesserockz)
- Fix esp32_rmt_led_strip custom timing units [esphome#5696](https://github.com/esphome/esphome/pull/5696) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Fix static assets cache logic [esphome#5700](https://github.com/esphome/esphome/pull/5700) by [@bdraco](https://github.com/bdraco)
- Use piwheels for armv7 docker image builds [esphome#5703](https://github.com/esphome/esphome/pull/5703) by [@bdraco](https://github.com/bdraco)
- fix: Fix broken bluetooth_proxy and ble_clients after BLE enable/disable [esphome#5704](https://github.com/esphome/esphome/pull/5704) by [@Rapsssito](https://github.com/Rapsssito)
- Bump aioesphomeapi to 18.2.7 [esphome#5706](https://github.com/esphome/esphome/pull/5706) by [@bdraco](https://github.com/bdraco)
- Update Dockerfile to use piwheels for armv7 [esphome#5709](https://github.com/esphome/esphome/pull/5709) by [@bdraco](https://github.com/bdraco)
- Bump zeroconf from 0.120.0 to 0.122.3 [esphome#5715](https://github.com/esphome/esphome/pull/5715) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add resistance_sampler interface for config validation [esphome#5718](https://github.com/esphome/esphome/pull/5718) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Fix zeroconf name resolution refactoring error [esphome#5725](https://github.com/esphome/esphome/pull/5725) by [@bdraco](https://github.com/bdraco)
- Missed ifdefs [esphome#5727](https://github.com/esphome/esphome/pull/5727) by [@descipher](https://github.com/descipher)
- Bump aioesphomeapi from 18.2.7 to 18.4.0 [esphome#5735](https://github.com/esphome/esphome/pull/5735) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Migrate to using aioesphomeapi for the log runner to fix multiple issues [esphome#5733](https://github.com/esphome/esphome/pull/5733) by [@bdraco](https://github.com/bdraco)
- Bump zeroconf to 0.123.0 [esphome#5736](https://github.com/esphome/esphome/pull/5736) by [@bdraco](https://github.com/bdraco)
- Handle wake word not set up internally [esphome#5738](https://github.com/esphome/esphome/pull/5738) by [@jesserockz](https://github.com/jesserockz)
- dashboard: remove usage of codecs module [esphome#5741](https://github.com/esphome/esphome/pull/5741) by [@bdraco](https://github.com/bdraco)
- dashboard: Run get_serial_ports in the executor [esphome#5740](https://github.com/esphome/esphome/pull/5740) by [@bdraco](https://github.com/bdraco)
- Generate partitions.csv based on flash size [esphome#5697](https://github.com/esphome/esphome/pull/5697) by [@kbx81](https://github.com/kbx81)
- Allow setup to continue past mqtt if network/wifi is disabled [esphome#5754](https://github.com/esphome/esphome/pull/5754) by [@jesserockz](https://github.com/jesserockz)
- Dont dump wifi info when disabled [esphome#5755](https://github.com/esphome/esphome/pull/5755) by [@jesserockz](https://github.com/jesserockz)

View File

@@ -30,8 +30,9 @@ schema:
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome name: ESPHome
version: 2023.11.0 version: 2024.9.0
slug: esphome slug: esphome
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -2,7 +2,6 @@
import argparse import argparse
import re import re
import subprocess
from dataclasses import dataclass from dataclasses import dataclass
import sys import sys
import os import os
@@ -17,72 +16,71 @@ class Version:
minor: int minor: int
patch: int patch: int
beta: int = 0 beta: int = 0
dev: bool = False dev: str = ""
def __str__(self): def __str__(self):
return f'{self.major}.{self.minor}.{self.full_patch}' return f"{self.major}.{self.minor}.{self.full_patch}"
@property @property
def full_patch(self): def full_patch(self):
res = f'{self.patch}' res = f"{self.patch}"
if self.beta > 0: if self.beta > 0:
res += f'b{self.beta}' res += f"b{self.beta}"
if self.dev: if self.dev:
res += '-dev' res += f"-dev{self.dev}"
return res return res
@classmethod @classmethod
def parse(cls, value): def parse(cls, value):
match = re.match(r'(\d+).(\d+).(\d+)(b\d+)?(-dev)?', value) match = re.match(r"(\d+).(\d+).(\d+)(b\d+)?(-dev\d+)?", value)
assert match is not None assert match is not None
major = int(match[1]) major = int(match[1])
minor = int(match[2]) minor = int(match[2])
patch = int(match[3]) patch = int(match[3])
beta = int(match[4][1:]) if match[4] else 0 beta = int(match[4][1:]) if match[4] else 0
dev = bool(match[5]) dev = str(match[5][4:]) if match[5] else ""
return Version( return Version(major=major, minor=minor, patch=patch, beta=beta, dev=dev)
major=major, minor=minor, patch=patch,
beta=beta, dev=dev
)
def sub(path, pattern, repl, expected_count=1): def _sub(path, pattern, repl, expected_count=1):
with open(path) as fh: with open(path, encoding="utf-8") as fh:
content = fh.read() content = fh.read()
content, count = re.subn(pattern, repl, content, flags=re.MULTILINE) content, count = re.subn(pattern, repl, content, flags=re.NOFLAG)
if expected_count is not None: if expected_count is not None:
assert count == expected_count, f"Pattern {pattern} replacement failed!" assert count == expected_count, f"Pattern {pattern} replacement failed!"
with open(path, "wt") as fh: with open(path, "wt", encoding="utf-8") as fh:
fh.write(content) fh.write(content)
def write_version(target: str, version: Version): def _write_version(target: str, version: Version):
# version: '1.14.5' # BETA # version: "2024.5.0-dev20240412" # DEV
# version: '1.14.5' # STABLE # version: "1.14.5" # BETA
sub( # version: "1.14.5" # STABLE
'template/addon_config.yaml', _sub(
r" version: '[^']+' # {}".format(target.upper()), "template/addon_config.yaml",
f" version: '{version}' # {target.upper()}" f' version: "[^"]+" # {target.upper()}',
f' version: "{version}" # {target.upper()}',
) )
def main(): def main():
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument('new_version', type=str) parser.add_argument("new_version", type=str)
args = parser.parse_args() args = parser.parse_args()
version = Version.parse(args.new_version) version = Version.parse(args.new_version)
assert not version.dev
print(f"Bumping to {version}") print(f"Bumping to {version}")
if version.beta: if version.dev:
write_version('beta', version) _write_version("dev", version)
generate.main(['beta']) generate.main(["dev"])
elif version.beta:
_write_version("beta", version)
generate.main(["beta"])
else: else:
assert not version.beta _write_version("stable", version)
write_version('stable', version) _write_version("beta", version)
write_version('beta', version) generate.main(["stable", "beta"])
generate.main(['stable', 'beta'])
return 0 return 0

View File

@@ -1,13 +1,14 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import argparse import argparse
import yaml
from pathlib import Path from pathlib import Path
from enum import Enum from enum import Enum
from shutil import copyfile from shutil import copyfile
import sys import sys
import os import os
import yaml
class Channel(Enum): class Channel(Enum):
stable = "stable" stable = "stable"
@@ -25,17 +26,16 @@ def main(args):
root = Path(__file__).parent.parent root = Path(__file__).parent.parent
templ = root / "template" templ = root / "template"
with open(templ / "addon_config.yaml", "r") as f: with open(templ / "addon_config.yaml", "r", encoding="utf-8") as f:
config = yaml.safe_load(f) config = yaml.safe_load(f)
copyf = config["copy_files"] copyf = config["copy_files"]
for channel in args.channels: for channel in args.channels:
conf = config[f"esphome-{channel.value}"] conf = config[f"esphome-{channel.value}"]
base_image = conf.pop("base_image", None)
dir_ = root / conf.pop("directory") dir_ = root / conf.pop("directory")
path = dir_ / "config.yaml" path = dir_ / "config.yaml"
with open(path, "w") as f: with open(path, "w", encoding="utf-8") as f:
yaml.dump(conf, f, indent=2, sort_keys=False, explicit_start=True) yaml.dump(conf, f, indent=2, sort_keys=False, explicit_start=True)
for file_ in copyf: for file_ in copyf:
@@ -46,19 +46,9 @@ def main(args):
copyfile(templ / file_, dir_ / file_) copyfile(templ / file_, dir_ / file_)
path = dir_ / "FILES ARE GENERATED DO NOT EDIT" path = dir_ / "FILES ARE GENERATED DO NOT EDIT"
with open(path, "w") as f: with open(path, "w", encoding="utf-8") as f:
f.write("Any edits should be made to the files in the 'template' directory") f.write("Any edits should be made to the files in the 'template' directory")
if channel == Channel.dev:
path = dir_ / "build.yaml"
build_conf = {
"build_from": {
arch: base_image for arch in conf["arch"]
}
}
with open(path, "w") as f:
yaml.dump(build_conf, f, indent=2, sort_keys=True, explicit_start=True)
if __name__ == "__main__": if __name__ == "__main__":
main(sys.argv[1:]) main(sys.argv[1:])

View File

@@ -16,11 +16,11 @@ base: &base
# Ingress settings # Ingress settings
ingress: true ingress: true
ingress_port: 0 ingress_port: 0
panel_icon: 'mdi:chip' panel_icon: "mdi:chip"
# Automatically add UART devices to add-on # Automatically add UART devices to add-on
uart: true uart: true
ports: ports:
'6052/tcp': null "6052/tcp": null
map: map:
- ssl:ro - ssl:ro
- config:rw - config:rw
@@ -39,15 +39,18 @@ base: &base
- "*/*/" - "*/*/"
# Disable docker init for s6 # Disable docker init for s6
init: false init: false
# Make sure dashboard is available for core
startup: services
esphome-dev: esphome-dev:
<<: *base <<: *base
directory: esphome-dev directory: esphome-dev
name: ESPHome (dev) name: ESPHome (dev)
version: 'dev' # DEV version: "2024.10.0-dev20240918" # DEV
slug: esphome-dev slug: esphome-dev
description: "Development version of ESPHome add-on" description: "Development version of ESPHome add-on"
url: https://next.esphome.io/ url: https://next.esphome.io/
image: ghcr.io/esphome/esphome-hassio
stage: experimental stage: experimental
advanced: true advanced: true
schema: schema:
@@ -60,15 +63,14 @@ esphome-dev:
certfile: str? certfile: str?
keyfile: str? keyfile: str?
leave_front_door_open: bool? leave_front_door_open: bool?
base_image: ghcr.io/esphome/esphome-hassio:dev
options: options:
home_assistant_dashboard_integration: false home_assistant_dashboard_integration: false
esphome-beta: esphome-beta:
<<: *base <<: *base
directory: esphome-beta directory: esphome-beta
name: ESPHome (beta) name: ESPHome (beta)
version: '2023.11.0' # BETA version: "2024.9.0" # BETA
slug: esphome-beta slug: esphome-beta
description: "Beta version of ESPHome add-on" description: "Beta version of ESPHome add-on"
url: https://beta.esphome.io/ url: https://beta.esphome.io/
@@ -76,13 +78,13 @@ esphome-beta:
stage: experimental stage: experimental
advanced: true advanced: true
options: options:
home_assistant_dashboard_integration: false home_assistant_dashboard_integration: false
esphome-stable: esphome-stable:
<<: *base <<: *base
directory: esphome directory: esphome
name: ESPHome name: ESPHome
version: '2023.11.0' # STABLE version: "2024.9.0" # STABLE
slug: esphome slug: esphome
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices" description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio

BIN
template/beta/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
template/beta/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
template/dev/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
template/dev/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB