1
0

Compare commits

..

132 Commits

28 changed files with 308 additions and 383 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.8.0 - uses: actions/setup-python@v5.1.0
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.1.0 uses: docker/build-push-action@v6.2.0
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.8.0 uses: actions/setup-python@v5.1.0
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.15.0 uses: frenck/action-addon-linter@v2.15.1
with: with:
path: "./${{ matrix.channels.folder }}" path: "./${{ matrix.channels.folder }}"

View File

@@ -1,121 +1,119 @@
## 2024.4.0 ## 2024.7.0
## Full list of changes ## Full list of changes
### New Components ### New Features
- Add sun_gtil2 component (for SUN-1000G2 / SUN-2000G2 grid tie inverters) [esphome#4958](https://github.com/esphome/esphome/pull/4958) by [@Mat931](https://github.com/Mat931) (new-integration) - [uptime] Add new timestamp type for uptime sensor [esphome#7029](https://github.com/esphome/esphome/pull/7029) by [@jesserockz](https://github.com/jesserockz) (new-feature)
- Add support for AT581x component [esphome#6297](https://github.com/esphome/esphome/pull/6297) by [@X-Ryl669](https://github.com/X-Ryl669) (new-integration)
- Add new Component: Ultrasonic Distance Sensor JSN-SR04T [esphome#6023](https://github.com/esphome/esphome/pull/6023) by [@Mafus1](https://github.com/Mafus1) (new-integration)
- feat: Add Daikin ARC (tested on Daikin ARC472A62) [esphome#6429](https://github.com/esphome/esphome/pull/6429) by [@magicbear](https://github.com/magicbear) (new-integration)
- add support for Tuya pink version of miflora [esphome#5402](https://github.com/esphome/esphome/pull/5402) by [@fariouche](https://github.com/fariouche) (new-integration)
- Implemented support for the TLC5971 as an output component [esphome#6494](https://github.com/esphome/esphome/pull/6494) by [@IJIJI](https://github.com/IJIJI) (new-integration)
### Breaking Changes ### Breaking Changes
- Add support for new modes in Tuya Climate [esphome#5159](https://github.com/esphome/esphome/pull/5159) by [@moriahmorgan](https://github.com/moriahmorgan) (breaking-change) - [dooya] Flip bit timings [esphome#6947](https://github.com/esphome/esphome/pull/6947) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- IPv6 string representation follows RFC5952 [esphome#6449](https://github.com/esphome/esphome/pull/6449) by [@HeMan](https://github.com/HeMan) (breaking-change) - [modbus_text_sensor] new default ANSI encoding type [esphome#6975](https://github.com/esphome/esphome/pull/6975) by [@dudanov](https://github.com/dudanov) (breaking-change)
- [micro_wake_word] Version 2 [esphome#7032](https://github.com/esphome/esphome/pull/7032) by [@kahrendt](https://github.com/kahrendt) (breaking-change)
### Beta Changes ### Beta Changes
- Add dooya remote transmitter test [esphome#6508](https://github.com/esphome/esphome/pull/6508) by [@jesserockz](https://github.com/jesserockz) - helpers.cpp: Fix GLIBCXX_RELEASE check < 8 [esphome#7062](https://github.com/esphome/esphome/pull/7062) by [@ferbar](https://github.com/ferbar)
- ads1115: remove auto-load and split sensor into platform folder [esphome#5981](https://github.com/esphome/esphome/pull/5981) by [@jesserockz](https://github.com/jesserockz) - Fix pmsa003i cold boot marked as failed on ESP32 et al [esphome#7064](https://github.com/esphome/esphome/pull/7064) by [@z3liff](https://github.com/z3liff)
- Bump esphome-dashboard to 20240412.0 [esphome#6517](https://github.com/esphome/esphome/pull/6517) by [@jesserockz](https://github.com/jesserockz) - [http_request] Fix follow_redirects on arduino [esphome#7054](https://github.com/esphome/esphome/pull/7054) by [@guillempages](https://github.com/guillempages)
- Fix missing ifdefs in voice assistant [esphome#6520](https://github.com/esphome/esphome/pull/6520) by [@jesserockz](https://github.com/jesserockz) - [ethernet] Fix compile warning for IPv6 [esphome#7048](https://github.com/esphome/esphome/pull/7048) by [@HeMan](https://github.com/HeMan)
- Fix project version longer than 30 characters breaking compilation [esphome#6535](https://github.com/esphome/esphome/pull/6535) by [@jesserockz](https://github.com/jesserockz) - Update webserver local assets to 20240704-081526 [esphome#7041](https://github.com/esphome/esphome/pull/7041) by [@esphomebot](https://github.com/esphomebot)
- Fix no-release bug on ft6x36 [esphome#6527](https://github.com/esphome/esphome/pull/6527) by [@clydebarrow](https://github.com/clydebarrow) - Add braces to if statement to avoid compiler warning. [esphome#7036](https://github.com/esphome/esphome/pull/7036) by [@colmbuckley](https://github.com/colmbuckley)
- [mitsubishi] Fix current temperature [esphome#6909](https://github.com/esphome/esphome/pull/6909) by [@ttaborda](https://github.com/ttaborda)
- [climate] fix dump output of unsupported features [esphome#7005](https://github.com/esphome/esphome/pull/7005) by [@dudanov](https://github.com/dudanov)
- [climate-traits] improved performance [esphome#7006](https://github.com/esphome/esphome/pull/7006) by [@dudanov](https://github.com/dudanov)
- Add default icon to restart button [esphome#7076](https://github.com/esphome/esphome/pull/7076) by [@leejoow](https://github.com/leejoow)
- Add support for the Gree YAC1FB9 in climate_ir [esphome#7056](https://github.com/esphome/esphome/pull/7056) by [@topeju](https://github.com/topeju)
- add ESP32-C6 support to esp32_can [esphome#7063](https://github.com/esphome/esphome/pull/7063) by [@Adminius](https://github.com/Adminius)
- Fix voice assistant crash when no speaker configured [esphome#7075](https://github.com/esphome/esphome/pull/7075) by [@kevdliu](https://github.com/kevdliu)
- Bump HeatpumpIR, add protocols, remove IRremoteESP8266 [esphome#6996](https://github.com/esphome/esphome/pull/6996) by [@nagyrobi](https://github.com/nagyrobi)
- LTR390 separate ALS and UV gain and resolution [esphome#7026](https://github.com/esphome/esphome/pull/7026) by [@latonita](https://github.com/latonita)
- [improv_serial] Fix linker error created in #6998 [esphome#7082](https://github.com/esphome/esphome/pull/7082) by [@kbx81](https://github.com/kbx81)
- [i2s_audio] Allow config for primary/secondary i2s mode [esphome#7092](https://github.com/esphome/esphome/pull/7092) by [@jesserockz](https://github.com/jesserockz)
- [micro_wake_word] Allow simpler model config [esphome#7094](https://github.com/esphome/esphome/pull/7094) by [@jesserockz](https://github.com/jesserockz)
- [ota] Print Arduino update errors [esphome#7096](https://github.com/esphome/esphome/pull/7096) by [@jesserockz](https://github.com/jesserockz)
### All changes ### All changes
- Bump docker/login-action from 3.0.0 to 3.1.0 [esphome#6367](https://github.com/esphome/esphome/pull/6367) by [@dependabot[bot]](https://github.com/apps/dependabot) - [CI] Update device class sync script for update entities [esphome#6895](https://github.com/esphome/esphome/pull/6895) by [@jesserockz](https://github.com/jesserockz)
- Bump peter-evans/create-pull-request from 6.0.1 to 6.0.2 [esphome#6361](https://github.com/esphome/esphome/pull/6361) by [@dependabot[bot]](https://github.com/apps/dependabot) - X9c operation speed [esphome#6898](https://github.com/esphome/esphome/pull/6898) by [@oliverhihn](https://github.com/oliverhihn)
- Bump docker/build-push-action from 5.2.0 to 5.3.0 in /.github/actions/build-image [esphome#6373](https://github.com/esphome/esphome/pull/6373) by [@dependabot[bot]](https://github.com/apps/dependabot) - Bump actions/checkout from 4.1.6 to 4.1.7 [esphome#6900](https://github.com/esphome/esphome/pull/6900) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-buildx-action from 3.1.0 to 3.2.0 [esphome#6372](https://github.com/esphome/esphome/pull/6372) by [@dependabot[bot]](https://github.com/apps/dependabot) - [CI] Allow clang-tidy to see IDF components [esphome#6903](https://github.com/esphome/esphome/pull/6903) by [@kbx81](https://github.com/kbx81)
- Fix deep_sleep for ESP32-C6 [esphome#6377](https://github.com/esphome/esphome/pull/6377) by [@ferrets6](https://github.com/ferrets6) - [esp32_camera] Use newer library version (for #6802) [esphome#6809](https://github.com/esphome/esphome/pull/6809) by [@kbx81](https://github.com/kbx81)
- Fix keeloq for IDF 5+ [esphome#6382](https://github.com/esphome/esphome/pull/6382) by [@kbx81](https://github.com/kbx81) - [micro_wake_word] Pin to esp-tflite-micro v1.3.1 [esphome#6906](https://github.com/esphome/esphome/pull/6906) by [@kbx81](https://github.com/kbx81)
- Fix Nextion set_component_picture call [esphome#6378](https://github.com/esphome/esphome/pull/6378) by [@edwardtfn](https://github.com/edwardtfn) - VEML7700 Fix GCC build warnings [esphome#6881](https://github.com/esphome/esphome/pull/6881) by [@latonita](https://github.com/latonita)
- Add line_at_angle method to Display component [esphome#6381](https://github.com/esphome/esphome/pull/6381) by [@deisterhold](https://github.com/deisterhold) - IDF 5 fixes for #6802 [esphome#6911](https://github.com/esphome/esphome/pull/6911) by [@kbx81](https://github.com/kbx81)
- Check generated proto files are as expected if any are modified in PRs [esphome#6254](https://github.com/esphome/esphome/pull/6254) by [@jesserockz](https://github.com/jesserockz) - [CI-ethernet] Add/fix/organize/clean up ethernet component tests [esphome#6916](https://github.com/esphome/esphome/pull/6916) by [@kbx81](https://github.com/kbx81)
- ld2420: fix energy mode documentation [esphome#6225](https://github.com/esphome/esphome/pull/6225) by [@andresv](https://github.com/andresv) - [CI-a01nyub] Consolidate test files [esphome#6917](https://github.com/esphome/esphome/pull/6917) by [@kbx81](https://github.com/kbx81)
- Add actions for component tests A, B and C [esphome#6256](https://github.com/esphome/esphome/pull/6256) by [@kbx81](https://github.com/kbx81) - [CI-api] Test fix for IDF 5+ [esphome#6918](https://github.com/esphome/esphome/pull/6918) by [@kbx81](https://github.com/kbx81)
- Add some components to the new testing framework (V) [esphome#6231](https://github.com/esphome/esphome/pull/6231) by [@kbx81](https://github.com/kbx81) - [CI-http_request] Test fix for IDF 5+ [esphome#6919](https://github.com/esphome/esphome/pull/6919) by [@kbx81](https://github.com/kbx81)
- Add some components to the new testing framework (X,Y,Z) [esphome#6233](https://github.com/esphome/esphome/pull/6233) by [@kbx81](https://github.com/kbx81) - [CI-wireguard] Test file consolidation [esphome#6920](https://github.com/esphome/esphome/pull/6920) by [@kbx81](https://github.com/kbx81)
- Add some components to the new testing framework (E) [esphome#6176](https://github.com/esphome/esphome/pull/6176) by [@kbx81](https://github.com/kbx81) - [CI-esp32_hall] Remove IDF test [esphome#6921](https://github.com/esphome/esphome/pull/6921) by [@kbx81](https://github.com/kbx81)
- Make SPI compile with IDF >= 5.0 [esphome#6383](https://github.com/esphome/esphome/pull/6383) by [@HeMan](https://github.com/HeMan) - [CI] Introduce testing for IDF 5 (and other arbitrary framework versions) [esphome#6802](https://github.com/esphome/esphome/pull/6802) by [@kbx81](https://github.com/kbx81)
- Fix esp32-camera test yaml [esphome#6398](https://github.com/esphome/esphome/pull/6398) by [@kbx81](https://github.com/kbx81) - uart: allow setting the UART id in final_validate_device_schema [esphome#6923](https://github.com/esphome/esphome/pull/6923) by [@paravoid](https://github.com/paravoid)
- Bump pytest-asyncio from 0.23.5.post1 to 0.23.6 [esphome#6402](https://github.com/esphome/esphome/pull/6402) by [@dependabot[bot]](https://github.com/apps/dependabot) - Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0 [esphome#6935](https://github.com/esphome/esphome/pull/6935) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/cache from 4.0.1 to 4.0.2 in /.github/actions/restore-python [esphome#6403](https://github.com/esphome/esphome/pull/6403) by [@dependabot[bot]](https://github.com/apps/dependabot) - Fix garbled graphics on LILYGO T4-S3 display [esphome#6910](https://github.com/esphome/esphome/pull/6910) by [@manuelkasper](https://github.com/manuelkasper)
- Bump actions/cache from 4.0.1 to 4.0.2 [esphome#6404](https://github.com/esphome/esphome/pull/6404) by [@dependabot[bot]](https://github.com/apps/dependabot) - Update cover.h for open() and close() compiler warnings [esphome#6936](https://github.com/esphome/esphome/pull/6936) by [@peter--s](https://github.com/peter--s)
- Bump ESP8266 Arduino versions [esphome#5359](https://github.com/esphome/esphome/pull/5359) by [@HeMan](https://github.com/HeMan) - [CI] Add debug component test for LibreTiny [esphome#6945](https://github.com/esphome/esphome/pull/6945) by [@kbx81](https://github.com/kbx81)
- Allow accept/reject delta to be specified. [esphome#5060](https://github.com/esphome/esphome/pull/5060) by [@cvwillegen](https://github.com/cvwillegen) - [dooya] Flip bit timings [esphome#6947](https://github.com/esphome/esphome/pull/6947) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Allow setting htop for ledc [esphome#6340](https://github.com/esphome/esphome/pull/6340) by [@Gagootron](https://github.com/Gagootron) - [qspi_amoled] Fix display remaining blank after update() before setup completion [esphome#6958](https://github.com/esphome/esphome/pull/6958) by [@manuelkasper](https://github.com/manuelkasper)
- sm2135: add separate_modes option to support different chip variants [esphome#6152](https://github.com/esphome/esphome/pull/6152) by [@jasperro](https://github.com/jasperro) - Bump docker/build-push-action from 6.0.1 to 6.1.0 in /.github/actions/build-image [esphome#6962](https://github.com/esphome/esphome/pull/6962) by [@dependabot[bot]](https://github.com/apps/dependabot)
- AHT10: fix temperature-only operation; add warning/error messages [esphome#6405](https://github.com/esphome/esphome/pull/6405) by [@clydebarrow](https://github.com/clydebarrow) - Synchronise Device Classes from Home Assistant [esphome#6966](https://github.com/esphome/esphome/pull/6966) by [@esphomebot](https://github.com/esphomebot)
- Add support for new modes in Tuya Climate [esphome#5159](https://github.com/esphome/esphome/pull/5159) by [@moriahmorgan](https://github.com/moriahmorgan) (breaking-change) - [qspi_amoled] Fix clear/fill with rotation [esphome#6960](https://github.com/esphome/esphome/pull/6960) by [@manuelkasper](https://github.com/manuelkasper)
- Add sun_gtil2 component (for SUN-1000G2 / SUN-2000G2 grid tie inverters) [esphome#4958](https://github.com/esphome/esphome/pull/4958) by [@Mat931](https://github.com/Mat931) (new-integration) - [script] allow template parameters [esphome#6972](https://github.com/esphome/esphome/pull/6972) by [@ssieb](https://github.com/ssieb)
- SPI: Make some validation failures give more useful messages. [esphome#6413](https://github.com/esphome/esphome/pull/6413) by [@clydebarrow](https://github.com/clydebarrow) - [haier] climate ID auto generation [esphome#6949](https://github.com/esphome/esphome/pull/6949) by [@dudanov](https://github.com/dudanov)
- Bump aioesphomeapi from 23.1.1 to 23.2.0 [esphome#6412](https://github.com/esphome/esphome/pull/6412) by [@dependabot[bot]](https://github.com/apps/dependabot) - [core] Add script to extract actions, conditions, and pin_providers [esphome#6929](https://github.com/esphome/esphome/pull/6929) by [@jesserockz](https://github.com/jesserockz)
- Add check for use of GPIOXX in config [esphome#6419](https://github.com/esphome/esphome/pull/6419) by [@clydebarrow](https://github.com/clydebarrow) - [external_files] Move common ``download_content`` function to ``external_files.py`` [esphome#6982](https://github.com/esphome/esphome/pull/6982) by [@jesserockz](https://github.com/jesserockz)
- WireGuard for esp8266 [esphome#6365](https://github.com/esphome/esphome/pull/6365) by [@droscy](https://github.com/droscy) - Do not build mDNS when mDNS is disabled via yaml [esphome#6979](https://github.com/esphome/esphome/pull/6979) by [@Links2004](https://github.com/Links2004)
- setup.cfg: drop duplicate, underintended trove classifier [esphome#6421](https://github.com/esphome/esphome/pull/6421) by [@mweinelt](https://github.com/mweinelt) - Bump HeatpumpIR and IRremoteESP8266 [esphome#6948](https://github.com/esphome/esphome/pull/6948) by [@nagyrobi](https://github.com/nagyrobi)
- Store preferences in disk file on host platform [esphome#6428](https://github.com/esphome/esphome/pull/6428) by [@clydebarrow](https://github.com/clydebarrow) - [CI] Add more mdns and safe_mode tests [esphome#6990](https://github.com/esphome/esphome/pull/6990) by [@kbx81](https://github.com/kbx81)
- Add support for AT581x component [esphome#6297](https://github.com/esphome/esphome/pull/6297) by [@X-Ryl669](https://github.com/X-Ryl669) (new-integration) - [CI] Remove old test yamls from CI runs [esphome#6991](https://github.com/esphome/esphome/pull/6991) by [@kbx81](https://github.com/kbx81)
- Add some components to the new testing framework (F) [esphome#6177](https://github.com/esphome/esphome/pull/6177) by [@kbx81](https://github.com/kbx81) - [CI] Update tests to run against IDF 5.1 [esphome#6992](https://github.com/esphome/esphome/pull/6992) by [@kbx81](https://github.com/kbx81)
- Add get_contrast() and get_brightness() to SSD1306 class to get protected variables [esphome#6435](https://github.com/esphome/esphome/pull/6435) by [@benediktkr](https://github.com/benediktkr) - Bump docker/build-push-action from 6.1.0 to 6.2.0 in /.github/actions/build-image [esphome#6999](https://github.com/esphome/esphome/pull/6999) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add new Component: Ultrasonic Distance Sensor JSN-SR04T [esphome#6023](https://github.com/esphome/esphome/pull/6023) by [@Mafus1](https://github.com/Mafus1) (new-integration) - [tuya] implement command 0x22 - datapoint-async [esphome#6980](https://github.com/esphome/esphome/pull/6980) by [@christiaanderidder](https://github.com/christiaanderidder)
- Add some components to the new testing framework (G) [esphome#6178](https://github.com/esphome/esphome/pull/6178) by [@kbx81](https://github.com/kbx81) - Allow wireguard to bind to PPP interface [esphome#6989](https://github.com/esphome/esphome/pull/6989) by [@droscy](https://github.com/droscy)
- Add some components to the new testing framework (K) [esphome#6186](https://github.com/esphome/esphome/pull/6186) by [@kbx81](https://github.com/kbx81) - [modbus_text_sensor] new default ANSI encoding type [esphome#6975](https://github.com/esphome/esphome/pull/6975) by [@dudanov](https://github.com/dudanov) (breaking-change)
- Add some components to the new testing framework (N) [esphome#6210](https://github.com/esphome/esphome/pull/6210) by [@kbx81](https://github.com/kbx81) - [CI] Remove old test yaml files [esphome#7002](https://github.com/esphome/esphome/pull/7002) by [@kbx81](https://github.com/kbx81)
- Add some components to the new testing framework (Q) [esphome#6218](https://github.com/esphome/esphome/pull/6218) by [@kbx81](https://github.com/kbx81) - Revert "[CI] Update tests to run against IDF 5.1" [esphome#7003](https://github.com/esphome/esphome/pull/7003) by [@jesserockz](https://github.com/jesserockz)
- Add some components to the new testing framework (U) [esphome#6230](https://github.com/esphome/esphome/pull/6230) by [@kbx81](https://github.com/kbx81) - Enable devcontainer linters [esphome#7019](https://github.com/esphome/esphome/pull/7019) by [@orland0m](https://github.com/orland0m)
- Fix spacing in new test yaml [esphome#6441](https://github.com/esphome/esphome/pull/6441) by [@kbx81](https://github.com/kbx81) - 'uart' and 'improv_serial' need to understand non-UART logger configurations [esphome#6998](https://github.com/esphome/esphome/pull/6998) by [@kpfleming](https://github.com/kpfleming)
- Add some components to the new testing framework (W) [esphome#6232](https://github.com/esphome/esphome/pull/6232) by [@kbx81](https://github.com/kbx81) - Make crc8 const-correct [esphome#7027](https://github.com/esphome/esphome/pull/7027) by [@nattgris](https://github.com/nattgris)
- Add some components to the new testing framework (L) [esphome#6195](https://github.com/esphome/esphome/pull/6195) by [@kbx81](https://github.com/kbx81) - [CI] Run all tests when a base test changes [esphome#7010](https://github.com/esphome/esphome/pull/7010) by [@kbx81](https://github.com/kbx81)
- feat: Add Daikin ARC (tested on Daikin ARC472A62) [esphome#6429](https://github.com/esphome/esphome/pull/6429) by [@magicbear](https://github.com/magicbear) (new-integration) - [CI] Update tests to run against IDF 5.1 [esphome#7011](https://github.com/esphome/esphome/pull/7011) by [@kbx81](https://github.com/kbx81)
- Disable truthy yamllint rule [esphome#6442](https://github.com/esphome/esphome/pull/6442) by [@jesserockz](https://github.com/jesserockz) - [uptime] Add new timestamp type for uptime sensor [esphome#7029](https://github.com/esphome/esphome/pull/7029) by [@jesserockz](https://github.com/jesserockz) (new-feature)
- Add get_size method to QR Code header [esphome#6430](https://github.com/esphome/esphome/pull/6430) by [@deisterhold](https://github.com/deisterhold) - Fix compile errors on ESP32-C6 with W5500 SPI ethernet [esphome#7030](https://github.com/esphome/esphome/pull/7030) by [@LeeHanYeong](https://github.com/LeeHanYeong)
- Minor change to support sht85 sensor [esphome#6415](https://github.com/esphome/esphome/pull/6415) by [@mrtoy-me](https://github.com/mrtoy-me) - Bump docker/setup-buildx-action from 3.3.0 to 3.4.0 [esphome#7043](https://github.com/esphome/esphome/pull/7043) by [@dependabot[bot]](https://github.com/apps/dependabot)
- IPv6 string representation follows RFC5952 [esphome#6449](https://github.com/esphome/esphome/pull/6449) by [@HeMan](https://github.com/HeMan) (breaking-change) - Bump docker/build-push-action from 6.2.0 to 6.3.0 in /.github/actions/build-image [esphome#7038](https://github.com/esphome/esphome/pull/7038) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/setup-python from 5.0.0 to 5.1.0 [esphome#6437](https://github.com/esphome/esphome/pull/6437) by [@dependabot[bot]](https://github.com/apps/dependabot) - Bump docker/setup-qemu-action from 3.0.0 to 3.1.0 [esphome#7039](https://github.com/esphome/esphome/pull/7039) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/setup-python from 5.0.0 to 5.1.0 in /.github/actions/restore-python [esphome#6438](https://github.com/esphome/esphome/pull/6438) by [@dependabot[bot]](https://github.com/apps/dependabot) - Bump actions/upload-artifact from 4.3.3 to 4.3.4 [esphome#7047](https://github.com/esphome/esphome/pull/7047) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Optimize QMC5883L: Read registers only for enabled sensors [esphome#6458](https://github.com/esphome/esphome/pull/6458) by [@tronikos](https://github.com/tronikos) - Bump actions/download-artifact from 4.1.7 to 4.1.8 [esphome#7046](https://github.com/esphome/esphome/pull/7046) by [@dependabot[bot]](https://github.com/apps/dependabot)
- minor refactor to allow commit hash as ref value. [esphome#6446](https://github.com/esphome/esphome/pull/6446) by [@LelandSindt](https://github.com/LelandSindt) - Fix display of update state in webinterfae [esphome#7045](https://github.com/esphome/esphome/pull/7045) by [@leejoow](https://github.com/leejoow)
- TMP117 fix polling period config [esphome#6452](https://github.com/esphome/esphome/pull/6452) by [@mrtoy-me](https://github.com/mrtoy-me) - Haier component update to support more protocol variations [esphome#7040](https://github.com/esphome/esphome/pull/7040) by [@paveldn](https://github.com/paveldn)
- Bump Arduino Pico Framework to 3.7.2 and Platform to 1.12.0 [esphome#6386](https://github.com/esphome/esphome/pull/6386) by [@HeMan](https://github.com/HeMan) - Don't test for IPv6 addresses when min_ipv6_addr_count is 0 [esphome#7037](https://github.com/esphome/esphome/pull/7037) by [@colmbuckley](https://github.com/colmbuckley)
- Display menu: Allow "left" key to exit current menu if not editing [esphome#6460](https://github.com/esphome/esphome/pull/6460) by [@jesserockz](https://github.com/jesserockz) - [CI] Allow running specific target test(s) only [esphome#7051](https://github.com/esphome/esphome/pull/7051) by [@tomaszduda23](https://github.com/tomaszduda23)
- Fix NOLINT on inclusive-language check [esphome#6464](https://github.com/esphome/esphome/pull/6464) by [@jesserockz](https://github.com/jesserockz) - Bump actions/setup-python from 5.1.0 to 5.1.1 in /.github/actions/restore-python [esphome#7071](https://github.com/esphome/esphome/pull/7071) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add yamllint to dev requirements [esphome#6466](https://github.com/esphome/esphome/pull/6466) by [@jesserockz](https://github.com/jesserockz) - Fix RC Switch protocol not transmitting correctly via IR [esphome#5411](https://github.com/esphome/esphome/pull/5411) by [@michd](https://github.com/michd)
- Add temperature for QMC5883L [esphome#6456](https://github.com/esphome/esphome/pull/6456) by [@tronikos](https://github.com/tronikos) - [micro_wake_word] Version 2 [esphome#7032](https://github.com/esphome/esphome/pull/7032) by [@kahrendt](https://github.com/kahrendt) (breaking-change)
- web_server: Return early if no clients connected [esphome#6467](https://github.com/esphome/esphome/pull/6467) by [@jesserockz](https://github.com/jesserockz) - UART component support added for host platform [esphome#6912](https://github.com/esphome/esphome/pull/6912) by [@paveldn](https://github.com/paveldn)
- ESP32 Arduino WiFi: misc bug fixes [esphome#6470](https://github.com/esphome/esphome/pull/6470) by [@paravoid](https://github.com/paravoid) - Configure ap ip for RP2040 [esphome#7065](https://github.com/esphome/esphome/pull/7065) by [@HeMan](https://github.com/HeMan)
- Replace std::regex with sscanf calls [esphome#6468](https://github.com/esphome/esphome/pull/6468) by [@jesserockz](https://github.com/jesserockz) - helpers.cpp: Fix GLIBCXX_RELEASE check < 8 [esphome#7062](https://github.com/esphome/esphome/pull/7062) by [@ferbar](https://github.com/ferbar)
- Include "Failed" status in config log. [esphome#6482](https://github.com/esphome/esphome/pull/6482) by [@clydebarrow](https://github.com/clydebarrow) - Fix pmsa003i cold boot marked as failed on ESP32 et al [esphome#7064](https://github.com/esphome/esphome/pull/7064) by [@z3liff](https://github.com/z3liff)
- Fix Microphone IsCapturingCondition [esphome#6490](https://github.com/esphome/esphome/pull/6490) by [@RaymiiOrg](https://github.com/RaymiiOrg) - [http_request] Fix follow_redirects on arduino [esphome#7054](https://github.com/esphome/esphome/pull/7054) by [@guillempages](https://github.com/guillempages)
- Remove misleading tag/line in messages [esphome#6495](https://github.com/esphome/esphome/pull/6495) by [@clydebarrow](https://github.com/clydebarrow) - [ethernet] Fix compile warning for IPv6 [esphome#7048](https://github.com/esphome/esphome/pull/7048) by [@HeMan](https://github.com/HeMan)
- Send/Receive Voice Assistant audio via API [esphome#6471](https://github.com/esphome/esphome/pull/6471) by [@jesserockz](https://github.com/jesserockz) - Update webserver local assets to 20240704-081526 [esphome#7041](https://github.com/esphome/esphome/pull/7041) by [@esphomebot](https://github.com/esphomebot)
- Datetime date initial value fix [esphome#6483](https://github.com/esphome/esphome/pull/6483) by [@RFDarter](https://github.com/RFDarter) - Add braces to if statement to avoid compiler warning. [esphome#7036](https://github.com/esphome/esphome/pull/7036) by [@colmbuckley](https://github.com/colmbuckley)
- If the loop() took more than the required time, don't delay further [esphome#6496](https://github.com/esphome/esphome/pull/6496) by [@clydebarrow](https://github.com/clydebarrow) - [mitsubishi] Fix current temperature [esphome#6909](https://github.com/esphome/esphome/pull/6909) by [@ttaborda](https://github.com/ttaborda)
- Bump LibreTiny version to 1.5.1 [esphome#6500](https://github.com/esphome/esphome/pull/6500) by [@kuba2k2](https://github.com/kuba2k2) - [climate] fix dump output of unsupported features [esphome#7005](https://github.com/esphome/esphome/pull/7005) by [@dudanov](https://github.com/dudanov)
- Internal temperature: Support Beken platform [esphome#6491](https://github.com/esphome/esphome/pull/6491) by [@Mat931](https://github.com/Mat931) - [climate-traits] improved performance [esphome#7006](https://github.com/esphome/esphome/pull/7006) by [@dudanov](https://github.com/dudanov)
- Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 [esphome#6502](https://github.com/esphome/esphome/pull/6502) by [@dependabot[bot]](https://github.com/apps/dependabot) - Add default icon to restart button [esphome#7076](https://github.com/esphome/esphome/pull/7076) by [@leejoow](https://github.com/leejoow)
- add support for Tuya pink version of miflora [esphome#5402](https://github.com/esphome/esphome/pull/5402) by [@fariouche](https://github.com/fariouche) (new-integration) - Add support for the Gree YAC1FB9 in climate_ir [esphome#7056](https://github.com/esphome/esphome/pull/7056) by [@topeju](https://github.com/topeju)
- Add MAC address to WiFi config reply [esphome#6489](https://github.com/esphome/esphome/pull/6489) by [@cvwillegen](https://github.com/cvwillegen) - add ESP32-C6 support to esp32_can [esphome#7063](https://github.com/esphome/esphome/pull/7063) by [@Adminius](https://github.com/Adminius)
- Adds i2c timeout config [esphome#4614](https://github.com/esphome/esphome/pull/4614) by [@tracestep](https://github.com/tracestep) - Fix voice assistant crash when no speaker configured [esphome#7075](https://github.com/esphome/esphome/pull/7075) by [@kevdliu](https://github.com/kevdliu)
- Add ABB-Welcome / Busch-Welcome Door Intercom Protocol [esphome#4689](https://github.com/esphome/esphome/pull/4689) by [@Mat931](https://github.com/Mat931) - Bump HeatpumpIR, add protocols, remove IRremoteESP8266 [esphome#6996](https://github.com/esphome/esphome/pull/6996) by [@nagyrobi](https://github.com/nagyrobi)
- Add support for time entities [esphome#6399](https://github.com/esphome/esphome/pull/6399) by [@jesserockz](https://github.com/jesserockz) - LTR390 separate ALS and UV gain and resolution [esphome#7026](https://github.com/esphome/esphome/pull/7026) by [@latonita](https://github.com/latonita)
- Fix Match by IRK [esphome#6499](https://github.com/esphome/esphome/pull/6499) by [@MRemy2](https://github.com/MRemy2) - [improv_serial] Fix linker error created in #6998 [esphome#7082](https://github.com/esphome/esphome/pull/7082) by [@kbx81](https://github.com/kbx81)
- Add rmt_channel to remote_transmitter and remote_receiver [esphome#6497](https://github.com/esphome/esphome/pull/6497) by [@jesserockz](https://github.com/jesserockz) - [i2s_audio] Allow config for primary/secondary i2s mode [esphome#7092](https://github.com/esphome/esphome/pull/7092) by [@jesserockz](https://github.com/jesserockz)
- Rework tlc5947 to remove AUTO_LOAD [esphome#6503](https://github.com/esphome/esphome/pull/6503) by [@jesserockz](https://github.com/jesserockz) - [micro_wake_word] Allow simpler model config [esphome#7094](https://github.com/esphome/esphome/pull/7094) by [@jesserockz](https://github.com/jesserockz)
- UART: ignore require_tx/rx if not a native uart implementation [esphome#6504](https://github.com/esphome/esphome/pull/6504) by [@jesserockz](https://github.com/jesserockz) - [ota] Print Arduino update errors [esphome#7096](https://github.com/esphome/esphome/pull/7096) by [@jesserockz](https://github.com/jesserockz)
- esp32_rmt_led_strip bugfixes [esphome#6506](https://github.com/esphome/esphome/pull/6506) by [@Mat931](https://github.com/Mat931)
- Implemented support for the TLC5971 as an output component [esphome#6494](https://github.com/esphome/esphome/pull/6494) by [@IJIJI](https://github.com/IJIJI) (new-integration)
- Add Dooya protocol to remote_base [esphome#6488](https://github.com/esphome/esphome/pull/6488) by [@bukureckid](https://github.com/bukureckid)
- Only give error for connected sensors at startup [esphome#6474](https://github.com/esphome/esphome/pull/6474) by [@leejoow](https://github.com/leejoow)
- Webserver float to string fix [esphome#6507](https://github.com/esphome/esphome/pull/6507) by [@RFDarter](https://github.com/RFDarter)
- Add dooya remote transmitter test [esphome#6508](https://github.com/esphome/esphome/pull/6508) by [@jesserockz](https://github.com/jesserockz)
- ads1115: remove auto-load and split sensor into platform folder [esphome#5981](https://github.com/esphome/esphome/pull/5981) by [@jesserockz](https://github.com/jesserockz)
- Bump esphome-dashboard to 20240412.0 [esphome#6517](https://github.com/esphome/esphome/pull/6517) by [@jesserockz](https://github.com/jesserockz)
- Fix missing ifdefs in voice assistant [esphome#6520](https://github.com/esphome/esphome/pull/6520) by [@jesserockz](https://github.com/jesserockz)
- Fix project version longer than 30 characters breaking compilation [esphome#6535](https://github.com/esphome/esphome/pull/6535) by [@jesserockz](https://github.com/jesserockz)
- Fix no-release bug on ft6x36 [esphome#6527](https://github.com/esphome/esphome/pull/6527) by [@clydebarrow](https://github.com/clydebarrow)

View File

@@ -32,7 +32,7 @@ backup_exclude:
init: false init: false
startup: services startup: services
name: ESPHome (beta) name: ESPHome (beta)
version: 2024.4.0 version: 2024.7.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

@@ -33,9 +33,10 @@ backup_exclude:
init: false init: false
startup: services startup: services
name: ESPHome (dev) name: ESPHome (dev)
version: dev version: 2024.8.0-dev20240717
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,121 +1,119 @@
## 2024.4.0 ## 2024.7.0
## Full list of changes ## Full list of changes
### New Components ### New Features
- Add sun_gtil2 component (for SUN-1000G2 / SUN-2000G2 grid tie inverters) [esphome#4958](https://github.com/esphome/esphome/pull/4958) by [@Mat931](https://github.com/Mat931) (new-integration) - [uptime] Add new timestamp type for uptime sensor [esphome#7029](https://github.com/esphome/esphome/pull/7029) by [@jesserockz](https://github.com/jesserockz) (new-feature)
- Add support for AT581x component [esphome#6297](https://github.com/esphome/esphome/pull/6297) by [@X-Ryl669](https://github.com/X-Ryl669) (new-integration)
- Add new Component: Ultrasonic Distance Sensor JSN-SR04T [esphome#6023](https://github.com/esphome/esphome/pull/6023) by [@Mafus1](https://github.com/Mafus1) (new-integration)
- feat: Add Daikin ARC (tested on Daikin ARC472A62) [esphome#6429](https://github.com/esphome/esphome/pull/6429) by [@magicbear](https://github.com/magicbear) (new-integration)
- add support for Tuya pink version of miflora [esphome#5402](https://github.com/esphome/esphome/pull/5402) by [@fariouche](https://github.com/fariouche) (new-integration)
- Implemented support for the TLC5971 as an output component [esphome#6494](https://github.com/esphome/esphome/pull/6494) by [@IJIJI](https://github.com/IJIJI) (new-integration)
### Breaking Changes ### Breaking Changes
- Add support for new modes in Tuya Climate [esphome#5159](https://github.com/esphome/esphome/pull/5159) by [@moriahmorgan](https://github.com/moriahmorgan) (breaking-change) - [dooya] Flip bit timings [esphome#6947](https://github.com/esphome/esphome/pull/6947) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- IPv6 string representation follows RFC5952 [esphome#6449](https://github.com/esphome/esphome/pull/6449) by [@HeMan](https://github.com/HeMan) (breaking-change) - [modbus_text_sensor] new default ANSI encoding type [esphome#6975](https://github.com/esphome/esphome/pull/6975) by [@dudanov](https://github.com/dudanov) (breaking-change)
- [micro_wake_word] Version 2 [esphome#7032](https://github.com/esphome/esphome/pull/7032) by [@kahrendt](https://github.com/kahrendt) (breaking-change)
### Beta Changes ### Beta Changes
- Add dooya remote transmitter test [esphome#6508](https://github.com/esphome/esphome/pull/6508) by [@jesserockz](https://github.com/jesserockz) - helpers.cpp: Fix GLIBCXX_RELEASE check < 8 [esphome#7062](https://github.com/esphome/esphome/pull/7062) by [@ferbar](https://github.com/ferbar)
- ads1115: remove auto-load and split sensor into platform folder [esphome#5981](https://github.com/esphome/esphome/pull/5981) by [@jesserockz](https://github.com/jesserockz) - Fix pmsa003i cold boot marked as failed on ESP32 et al [esphome#7064](https://github.com/esphome/esphome/pull/7064) by [@z3liff](https://github.com/z3liff)
- Bump esphome-dashboard to 20240412.0 [esphome#6517](https://github.com/esphome/esphome/pull/6517) by [@jesserockz](https://github.com/jesserockz) - [http_request] Fix follow_redirects on arduino [esphome#7054](https://github.com/esphome/esphome/pull/7054) by [@guillempages](https://github.com/guillempages)
- Fix missing ifdefs in voice assistant [esphome#6520](https://github.com/esphome/esphome/pull/6520) by [@jesserockz](https://github.com/jesserockz) - [ethernet] Fix compile warning for IPv6 [esphome#7048](https://github.com/esphome/esphome/pull/7048) by [@HeMan](https://github.com/HeMan)
- Fix project version longer than 30 characters breaking compilation [esphome#6535](https://github.com/esphome/esphome/pull/6535) by [@jesserockz](https://github.com/jesserockz) - Update webserver local assets to 20240704-081526 [esphome#7041](https://github.com/esphome/esphome/pull/7041) by [@esphomebot](https://github.com/esphomebot)
- Fix no-release bug on ft6x36 [esphome#6527](https://github.com/esphome/esphome/pull/6527) by [@clydebarrow](https://github.com/clydebarrow) - Add braces to if statement to avoid compiler warning. [esphome#7036](https://github.com/esphome/esphome/pull/7036) by [@colmbuckley](https://github.com/colmbuckley)
- [mitsubishi] Fix current temperature [esphome#6909](https://github.com/esphome/esphome/pull/6909) by [@ttaborda](https://github.com/ttaborda)
- [climate] fix dump output of unsupported features [esphome#7005](https://github.com/esphome/esphome/pull/7005) by [@dudanov](https://github.com/dudanov)
- [climate-traits] improved performance [esphome#7006](https://github.com/esphome/esphome/pull/7006) by [@dudanov](https://github.com/dudanov)
- Add default icon to restart button [esphome#7076](https://github.com/esphome/esphome/pull/7076) by [@leejoow](https://github.com/leejoow)
- Add support for the Gree YAC1FB9 in climate_ir [esphome#7056](https://github.com/esphome/esphome/pull/7056) by [@topeju](https://github.com/topeju)
- add ESP32-C6 support to esp32_can [esphome#7063](https://github.com/esphome/esphome/pull/7063) by [@Adminius](https://github.com/Adminius)
- Fix voice assistant crash when no speaker configured [esphome#7075](https://github.com/esphome/esphome/pull/7075) by [@kevdliu](https://github.com/kevdliu)
- Bump HeatpumpIR, add protocols, remove IRremoteESP8266 [esphome#6996](https://github.com/esphome/esphome/pull/6996) by [@nagyrobi](https://github.com/nagyrobi)
- LTR390 separate ALS and UV gain and resolution [esphome#7026](https://github.com/esphome/esphome/pull/7026) by [@latonita](https://github.com/latonita)
- [improv_serial] Fix linker error created in #6998 [esphome#7082](https://github.com/esphome/esphome/pull/7082) by [@kbx81](https://github.com/kbx81)
- [i2s_audio] Allow config for primary/secondary i2s mode [esphome#7092](https://github.com/esphome/esphome/pull/7092) by [@jesserockz](https://github.com/jesserockz)
- [micro_wake_word] Allow simpler model config [esphome#7094](https://github.com/esphome/esphome/pull/7094) by [@jesserockz](https://github.com/jesserockz)
- [ota] Print Arduino update errors [esphome#7096](https://github.com/esphome/esphome/pull/7096) by [@jesserockz](https://github.com/jesserockz)
### All changes ### All changes
- Bump docker/login-action from 3.0.0 to 3.1.0 [esphome#6367](https://github.com/esphome/esphome/pull/6367) by [@dependabot[bot]](https://github.com/apps/dependabot) - [CI] Update device class sync script for update entities [esphome#6895](https://github.com/esphome/esphome/pull/6895) by [@jesserockz](https://github.com/jesserockz)
- Bump peter-evans/create-pull-request from 6.0.1 to 6.0.2 [esphome#6361](https://github.com/esphome/esphome/pull/6361) by [@dependabot[bot]](https://github.com/apps/dependabot) - X9c operation speed [esphome#6898](https://github.com/esphome/esphome/pull/6898) by [@oliverhihn](https://github.com/oliverhihn)
- Bump docker/build-push-action from 5.2.0 to 5.3.0 in /.github/actions/build-image [esphome#6373](https://github.com/esphome/esphome/pull/6373) by [@dependabot[bot]](https://github.com/apps/dependabot) - Bump actions/checkout from 4.1.6 to 4.1.7 [esphome#6900](https://github.com/esphome/esphome/pull/6900) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-buildx-action from 3.1.0 to 3.2.0 [esphome#6372](https://github.com/esphome/esphome/pull/6372) by [@dependabot[bot]](https://github.com/apps/dependabot) - [CI] Allow clang-tidy to see IDF components [esphome#6903](https://github.com/esphome/esphome/pull/6903) by [@kbx81](https://github.com/kbx81)
- Fix deep_sleep for ESP32-C6 [esphome#6377](https://github.com/esphome/esphome/pull/6377) by [@ferrets6](https://github.com/ferrets6) - [esp32_camera] Use newer library version (for #6802) [esphome#6809](https://github.com/esphome/esphome/pull/6809) by [@kbx81](https://github.com/kbx81)
- Fix keeloq for IDF 5+ [esphome#6382](https://github.com/esphome/esphome/pull/6382) by [@kbx81](https://github.com/kbx81) - [micro_wake_word] Pin to esp-tflite-micro v1.3.1 [esphome#6906](https://github.com/esphome/esphome/pull/6906) by [@kbx81](https://github.com/kbx81)
- Fix Nextion set_component_picture call [esphome#6378](https://github.com/esphome/esphome/pull/6378) by [@edwardtfn](https://github.com/edwardtfn) - VEML7700 Fix GCC build warnings [esphome#6881](https://github.com/esphome/esphome/pull/6881) by [@latonita](https://github.com/latonita)
- Add line_at_angle method to Display component [esphome#6381](https://github.com/esphome/esphome/pull/6381) by [@deisterhold](https://github.com/deisterhold) - IDF 5 fixes for #6802 [esphome#6911](https://github.com/esphome/esphome/pull/6911) by [@kbx81](https://github.com/kbx81)
- Check generated proto files are as expected if any are modified in PRs [esphome#6254](https://github.com/esphome/esphome/pull/6254) by [@jesserockz](https://github.com/jesserockz) - [CI-ethernet] Add/fix/organize/clean up ethernet component tests [esphome#6916](https://github.com/esphome/esphome/pull/6916) by [@kbx81](https://github.com/kbx81)
- ld2420: fix energy mode documentation [esphome#6225](https://github.com/esphome/esphome/pull/6225) by [@andresv](https://github.com/andresv) - [CI-a01nyub] Consolidate test files [esphome#6917](https://github.com/esphome/esphome/pull/6917) by [@kbx81](https://github.com/kbx81)
- Add actions for component tests A, B and C [esphome#6256](https://github.com/esphome/esphome/pull/6256) by [@kbx81](https://github.com/kbx81) - [CI-api] Test fix for IDF 5+ [esphome#6918](https://github.com/esphome/esphome/pull/6918) by [@kbx81](https://github.com/kbx81)
- Add some components to the new testing framework (V) [esphome#6231](https://github.com/esphome/esphome/pull/6231) by [@kbx81](https://github.com/kbx81) - [CI-http_request] Test fix for IDF 5+ [esphome#6919](https://github.com/esphome/esphome/pull/6919) by [@kbx81](https://github.com/kbx81)
- Add some components to the new testing framework (X,Y,Z) [esphome#6233](https://github.com/esphome/esphome/pull/6233) by [@kbx81](https://github.com/kbx81) - [CI-wireguard] Test file consolidation [esphome#6920](https://github.com/esphome/esphome/pull/6920) by [@kbx81](https://github.com/kbx81)
- Add some components to the new testing framework (E) [esphome#6176](https://github.com/esphome/esphome/pull/6176) by [@kbx81](https://github.com/kbx81) - [CI-esp32_hall] Remove IDF test [esphome#6921](https://github.com/esphome/esphome/pull/6921) by [@kbx81](https://github.com/kbx81)
- Make SPI compile with IDF >= 5.0 [esphome#6383](https://github.com/esphome/esphome/pull/6383) by [@HeMan](https://github.com/HeMan) - [CI] Introduce testing for IDF 5 (and other arbitrary framework versions) [esphome#6802](https://github.com/esphome/esphome/pull/6802) by [@kbx81](https://github.com/kbx81)
- Fix esp32-camera test yaml [esphome#6398](https://github.com/esphome/esphome/pull/6398) by [@kbx81](https://github.com/kbx81) - uart: allow setting the UART id in final_validate_device_schema [esphome#6923](https://github.com/esphome/esphome/pull/6923) by [@paravoid](https://github.com/paravoid)
- Bump pytest-asyncio from 0.23.5.post1 to 0.23.6 [esphome#6402](https://github.com/esphome/esphome/pull/6402) by [@dependabot[bot]](https://github.com/apps/dependabot) - Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0 [esphome#6935](https://github.com/esphome/esphome/pull/6935) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/cache from 4.0.1 to 4.0.2 in /.github/actions/restore-python [esphome#6403](https://github.com/esphome/esphome/pull/6403) by [@dependabot[bot]](https://github.com/apps/dependabot) - Fix garbled graphics on LILYGO T4-S3 display [esphome#6910](https://github.com/esphome/esphome/pull/6910) by [@manuelkasper](https://github.com/manuelkasper)
- Bump actions/cache from 4.0.1 to 4.0.2 [esphome#6404](https://github.com/esphome/esphome/pull/6404) by [@dependabot[bot]](https://github.com/apps/dependabot) - Update cover.h for open() and close() compiler warnings [esphome#6936](https://github.com/esphome/esphome/pull/6936) by [@peter--s](https://github.com/peter--s)
- Bump ESP8266 Arduino versions [esphome#5359](https://github.com/esphome/esphome/pull/5359) by [@HeMan](https://github.com/HeMan) - [CI] Add debug component test for LibreTiny [esphome#6945](https://github.com/esphome/esphome/pull/6945) by [@kbx81](https://github.com/kbx81)
- Allow accept/reject delta to be specified. [esphome#5060](https://github.com/esphome/esphome/pull/5060) by [@cvwillegen](https://github.com/cvwillegen) - [dooya] Flip bit timings [esphome#6947](https://github.com/esphome/esphome/pull/6947) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Allow setting htop for ledc [esphome#6340](https://github.com/esphome/esphome/pull/6340) by [@Gagootron](https://github.com/Gagootron) - [qspi_amoled] Fix display remaining blank after update() before setup completion [esphome#6958](https://github.com/esphome/esphome/pull/6958) by [@manuelkasper](https://github.com/manuelkasper)
- sm2135: add separate_modes option to support different chip variants [esphome#6152](https://github.com/esphome/esphome/pull/6152) by [@jasperro](https://github.com/jasperro) - Bump docker/build-push-action from 6.0.1 to 6.1.0 in /.github/actions/build-image [esphome#6962](https://github.com/esphome/esphome/pull/6962) by [@dependabot[bot]](https://github.com/apps/dependabot)
- AHT10: fix temperature-only operation; add warning/error messages [esphome#6405](https://github.com/esphome/esphome/pull/6405) by [@clydebarrow](https://github.com/clydebarrow) - Synchronise Device Classes from Home Assistant [esphome#6966](https://github.com/esphome/esphome/pull/6966) by [@esphomebot](https://github.com/esphomebot)
- Add support for new modes in Tuya Climate [esphome#5159](https://github.com/esphome/esphome/pull/5159) by [@moriahmorgan](https://github.com/moriahmorgan) (breaking-change) - [qspi_amoled] Fix clear/fill with rotation [esphome#6960](https://github.com/esphome/esphome/pull/6960) by [@manuelkasper](https://github.com/manuelkasper)
- Add sun_gtil2 component (for SUN-1000G2 / SUN-2000G2 grid tie inverters) [esphome#4958](https://github.com/esphome/esphome/pull/4958) by [@Mat931](https://github.com/Mat931) (new-integration) - [script] allow template parameters [esphome#6972](https://github.com/esphome/esphome/pull/6972) by [@ssieb](https://github.com/ssieb)
- SPI: Make some validation failures give more useful messages. [esphome#6413](https://github.com/esphome/esphome/pull/6413) by [@clydebarrow](https://github.com/clydebarrow) - [haier] climate ID auto generation [esphome#6949](https://github.com/esphome/esphome/pull/6949) by [@dudanov](https://github.com/dudanov)
- Bump aioesphomeapi from 23.1.1 to 23.2.0 [esphome#6412](https://github.com/esphome/esphome/pull/6412) by [@dependabot[bot]](https://github.com/apps/dependabot) - [core] Add script to extract actions, conditions, and pin_providers [esphome#6929](https://github.com/esphome/esphome/pull/6929) by [@jesserockz](https://github.com/jesserockz)
- Add check for use of GPIOXX in config [esphome#6419](https://github.com/esphome/esphome/pull/6419) by [@clydebarrow](https://github.com/clydebarrow) - [external_files] Move common ``download_content`` function to ``external_files.py`` [esphome#6982](https://github.com/esphome/esphome/pull/6982) by [@jesserockz](https://github.com/jesserockz)
- WireGuard for esp8266 [esphome#6365](https://github.com/esphome/esphome/pull/6365) by [@droscy](https://github.com/droscy) - Do not build mDNS when mDNS is disabled via yaml [esphome#6979](https://github.com/esphome/esphome/pull/6979) by [@Links2004](https://github.com/Links2004)
- setup.cfg: drop duplicate, underintended trove classifier [esphome#6421](https://github.com/esphome/esphome/pull/6421) by [@mweinelt](https://github.com/mweinelt) - Bump HeatpumpIR and IRremoteESP8266 [esphome#6948](https://github.com/esphome/esphome/pull/6948) by [@nagyrobi](https://github.com/nagyrobi)
- Store preferences in disk file on host platform [esphome#6428](https://github.com/esphome/esphome/pull/6428) by [@clydebarrow](https://github.com/clydebarrow) - [CI] Add more mdns and safe_mode tests [esphome#6990](https://github.com/esphome/esphome/pull/6990) by [@kbx81](https://github.com/kbx81)
- Add support for AT581x component [esphome#6297](https://github.com/esphome/esphome/pull/6297) by [@X-Ryl669](https://github.com/X-Ryl669) (new-integration) - [CI] Remove old test yamls from CI runs [esphome#6991](https://github.com/esphome/esphome/pull/6991) by [@kbx81](https://github.com/kbx81)
- Add some components to the new testing framework (F) [esphome#6177](https://github.com/esphome/esphome/pull/6177) by [@kbx81](https://github.com/kbx81) - [CI] Update tests to run against IDF 5.1 [esphome#6992](https://github.com/esphome/esphome/pull/6992) by [@kbx81](https://github.com/kbx81)
- Add get_contrast() and get_brightness() to SSD1306 class to get protected variables [esphome#6435](https://github.com/esphome/esphome/pull/6435) by [@benediktkr](https://github.com/benediktkr) - Bump docker/build-push-action from 6.1.0 to 6.2.0 in /.github/actions/build-image [esphome#6999](https://github.com/esphome/esphome/pull/6999) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add new Component: Ultrasonic Distance Sensor JSN-SR04T [esphome#6023](https://github.com/esphome/esphome/pull/6023) by [@Mafus1](https://github.com/Mafus1) (new-integration) - [tuya] implement command 0x22 - datapoint-async [esphome#6980](https://github.com/esphome/esphome/pull/6980) by [@christiaanderidder](https://github.com/christiaanderidder)
- Add some components to the new testing framework (G) [esphome#6178](https://github.com/esphome/esphome/pull/6178) by [@kbx81](https://github.com/kbx81) - Allow wireguard to bind to PPP interface [esphome#6989](https://github.com/esphome/esphome/pull/6989) by [@droscy](https://github.com/droscy)
- Add some components to the new testing framework (K) [esphome#6186](https://github.com/esphome/esphome/pull/6186) by [@kbx81](https://github.com/kbx81) - [modbus_text_sensor] new default ANSI encoding type [esphome#6975](https://github.com/esphome/esphome/pull/6975) by [@dudanov](https://github.com/dudanov) (breaking-change)
- Add some components to the new testing framework (N) [esphome#6210](https://github.com/esphome/esphome/pull/6210) by [@kbx81](https://github.com/kbx81) - [CI] Remove old test yaml files [esphome#7002](https://github.com/esphome/esphome/pull/7002) by [@kbx81](https://github.com/kbx81)
- Add some components to the new testing framework (Q) [esphome#6218](https://github.com/esphome/esphome/pull/6218) by [@kbx81](https://github.com/kbx81) - Revert "[CI] Update tests to run against IDF 5.1" [esphome#7003](https://github.com/esphome/esphome/pull/7003) by [@jesserockz](https://github.com/jesserockz)
- Add some components to the new testing framework (U) [esphome#6230](https://github.com/esphome/esphome/pull/6230) by [@kbx81](https://github.com/kbx81) - Enable devcontainer linters [esphome#7019](https://github.com/esphome/esphome/pull/7019) by [@orland0m](https://github.com/orland0m)
- Fix spacing in new test yaml [esphome#6441](https://github.com/esphome/esphome/pull/6441) by [@kbx81](https://github.com/kbx81) - 'uart' and 'improv_serial' need to understand non-UART logger configurations [esphome#6998](https://github.com/esphome/esphome/pull/6998) by [@kpfleming](https://github.com/kpfleming)
- Add some components to the new testing framework (W) [esphome#6232](https://github.com/esphome/esphome/pull/6232) by [@kbx81](https://github.com/kbx81) - Make crc8 const-correct [esphome#7027](https://github.com/esphome/esphome/pull/7027) by [@nattgris](https://github.com/nattgris)
- Add some components to the new testing framework (L) [esphome#6195](https://github.com/esphome/esphome/pull/6195) by [@kbx81](https://github.com/kbx81) - [CI] Run all tests when a base test changes [esphome#7010](https://github.com/esphome/esphome/pull/7010) by [@kbx81](https://github.com/kbx81)
- feat: Add Daikin ARC (tested on Daikin ARC472A62) [esphome#6429](https://github.com/esphome/esphome/pull/6429) by [@magicbear](https://github.com/magicbear) (new-integration) - [CI] Update tests to run against IDF 5.1 [esphome#7011](https://github.com/esphome/esphome/pull/7011) by [@kbx81](https://github.com/kbx81)
- Disable truthy yamllint rule [esphome#6442](https://github.com/esphome/esphome/pull/6442) by [@jesserockz](https://github.com/jesserockz) - [uptime] Add new timestamp type for uptime sensor [esphome#7029](https://github.com/esphome/esphome/pull/7029) by [@jesserockz](https://github.com/jesserockz) (new-feature)
- Add get_size method to QR Code header [esphome#6430](https://github.com/esphome/esphome/pull/6430) by [@deisterhold](https://github.com/deisterhold) - Fix compile errors on ESP32-C6 with W5500 SPI ethernet [esphome#7030](https://github.com/esphome/esphome/pull/7030) by [@LeeHanYeong](https://github.com/LeeHanYeong)
- Minor change to support sht85 sensor [esphome#6415](https://github.com/esphome/esphome/pull/6415) by [@mrtoy-me](https://github.com/mrtoy-me) - Bump docker/setup-buildx-action from 3.3.0 to 3.4.0 [esphome#7043](https://github.com/esphome/esphome/pull/7043) by [@dependabot[bot]](https://github.com/apps/dependabot)
- IPv6 string representation follows RFC5952 [esphome#6449](https://github.com/esphome/esphome/pull/6449) by [@HeMan](https://github.com/HeMan) (breaking-change) - Bump docker/build-push-action from 6.2.0 to 6.3.0 in /.github/actions/build-image [esphome#7038](https://github.com/esphome/esphome/pull/7038) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/setup-python from 5.0.0 to 5.1.0 [esphome#6437](https://github.com/esphome/esphome/pull/6437) by [@dependabot[bot]](https://github.com/apps/dependabot) - Bump docker/setup-qemu-action from 3.0.0 to 3.1.0 [esphome#7039](https://github.com/esphome/esphome/pull/7039) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/setup-python from 5.0.0 to 5.1.0 in /.github/actions/restore-python [esphome#6438](https://github.com/esphome/esphome/pull/6438) by [@dependabot[bot]](https://github.com/apps/dependabot) - Bump actions/upload-artifact from 4.3.3 to 4.3.4 [esphome#7047](https://github.com/esphome/esphome/pull/7047) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Optimize QMC5883L: Read registers only for enabled sensors [esphome#6458](https://github.com/esphome/esphome/pull/6458) by [@tronikos](https://github.com/tronikos) - Bump actions/download-artifact from 4.1.7 to 4.1.8 [esphome#7046](https://github.com/esphome/esphome/pull/7046) by [@dependabot[bot]](https://github.com/apps/dependabot)
- minor refactor to allow commit hash as ref value. [esphome#6446](https://github.com/esphome/esphome/pull/6446) by [@LelandSindt](https://github.com/LelandSindt) - Fix display of update state in webinterfae [esphome#7045](https://github.com/esphome/esphome/pull/7045) by [@leejoow](https://github.com/leejoow)
- TMP117 fix polling period config [esphome#6452](https://github.com/esphome/esphome/pull/6452) by [@mrtoy-me](https://github.com/mrtoy-me) - Haier component update to support more protocol variations [esphome#7040](https://github.com/esphome/esphome/pull/7040) by [@paveldn](https://github.com/paveldn)
- Bump Arduino Pico Framework to 3.7.2 and Platform to 1.12.0 [esphome#6386](https://github.com/esphome/esphome/pull/6386) by [@HeMan](https://github.com/HeMan) - Don't test for IPv6 addresses when min_ipv6_addr_count is 0 [esphome#7037](https://github.com/esphome/esphome/pull/7037) by [@colmbuckley](https://github.com/colmbuckley)
- Display menu: Allow "left" key to exit current menu if not editing [esphome#6460](https://github.com/esphome/esphome/pull/6460) by [@jesserockz](https://github.com/jesserockz) - [CI] Allow running specific target test(s) only [esphome#7051](https://github.com/esphome/esphome/pull/7051) by [@tomaszduda23](https://github.com/tomaszduda23)
- Fix NOLINT on inclusive-language check [esphome#6464](https://github.com/esphome/esphome/pull/6464) by [@jesserockz](https://github.com/jesserockz) - Bump actions/setup-python from 5.1.0 to 5.1.1 in /.github/actions/restore-python [esphome#7071](https://github.com/esphome/esphome/pull/7071) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add yamllint to dev requirements [esphome#6466](https://github.com/esphome/esphome/pull/6466) by [@jesserockz](https://github.com/jesserockz) - Fix RC Switch protocol not transmitting correctly via IR [esphome#5411](https://github.com/esphome/esphome/pull/5411) by [@michd](https://github.com/michd)
- Add temperature for QMC5883L [esphome#6456](https://github.com/esphome/esphome/pull/6456) by [@tronikos](https://github.com/tronikos) - [micro_wake_word] Version 2 [esphome#7032](https://github.com/esphome/esphome/pull/7032) by [@kahrendt](https://github.com/kahrendt) (breaking-change)
- web_server: Return early if no clients connected [esphome#6467](https://github.com/esphome/esphome/pull/6467) by [@jesserockz](https://github.com/jesserockz) - UART component support added for host platform [esphome#6912](https://github.com/esphome/esphome/pull/6912) by [@paveldn](https://github.com/paveldn)
- ESP32 Arduino WiFi: misc bug fixes [esphome#6470](https://github.com/esphome/esphome/pull/6470) by [@paravoid](https://github.com/paravoid) - Configure ap ip for RP2040 [esphome#7065](https://github.com/esphome/esphome/pull/7065) by [@HeMan](https://github.com/HeMan)
- Replace std::regex with sscanf calls [esphome#6468](https://github.com/esphome/esphome/pull/6468) by [@jesserockz](https://github.com/jesserockz) - helpers.cpp: Fix GLIBCXX_RELEASE check < 8 [esphome#7062](https://github.com/esphome/esphome/pull/7062) by [@ferbar](https://github.com/ferbar)
- Include "Failed" status in config log. [esphome#6482](https://github.com/esphome/esphome/pull/6482) by [@clydebarrow](https://github.com/clydebarrow) - Fix pmsa003i cold boot marked as failed on ESP32 et al [esphome#7064](https://github.com/esphome/esphome/pull/7064) by [@z3liff](https://github.com/z3liff)
- Fix Microphone IsCapturingCondition [esphome#6490](https://github.com/esphome/esphome/pull/6490) by [@RaymiiOrg](https://github.com/RaymiiOrg) - [http_request] Fix follow_redirects on arduino [esphome#7054](https://github.com/esphome/esphome/pull/7054) by [@guillempages](https://github.com/guillempages)
- Remove misleading tag/line in messages [esphome#6495](https://github.com/esphome/esphome/pull/6495) by [@clydebarrow](https://github.com/clydebarrow) - [ethernet] Fix compile warning for IPv6 [esphome#7048](https://github.com/esphome/esphome/pull/7048) by [@HeMan](https://github.com/HeMan)
- Send/Receive Voice Assistant audio via API [esphome#6471](https://github.com/esphome/esphome/pull/6471) by [@jesserockz](https://github.com/jesserockz) - Update webserver local assets to 20240704-081526 [esphome#7041](https://github.com/esphome/esphome/pull/7041) by [@esphomebot](https://github.com/esphomebot)
- Datetime date initial value fix [esphome#6483](https://github.com/esphome/esphome/pull/6483) by [@RFDarter](https://github.com/RFDarter) - Add braces to if statement to avoid compiler warning. [esphome#7036](https://github.com/esphome/esphome/pull/7036) by [@colmbuckley](https://github.com/colmbuckley)
- If the loop() took more than the required time, don't delay further [esphome#6496](https://github.com/esphome/esphome/pull/6496) by [@clydebarrow](https://github.com/clydebarrow) - [mitsubishi] Fix current temperature [esphome#6909](https://github.com/esphome/esphome/pull/6909) by [@ttaborda](https://github.com/ttaborda)
- Bump LibreTiny version to 1.5.1 [esphome#6500](https://github.com/esphome/esphome/pull/6500) by [@kuba2k2](https://github.com/kuba2k2) - [climate] fix dump output of unsupported features [esphome#7005](https://github.com/esphome/esphome/pull/7005) by [@dudanov](https://github.com/dudanov)
- Internal temperature: Support Beken platform [esphome#6491](https://github.com/esphome/esphome/pull/6491) by [@Mat931](https://github.com/Mat931) - [climate-traits] improved performance [esphome#7006](https://github.com/esphome/esphome/pull/7006) by [@dudanov](https://github.com/dudanov)
- Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 [esphome#6502](https://github.com/esphome/esphome/pull/6502) by [@dependabot[bot]](https://github.com/apps/dependabot) - Add default icon to restart button [esphome#7076](https://github.com/esphome/esphome/pull/7076) by [@leejoow](https://github.com/leejoow)
- add support for Tuya pink version of miflora [esphome#5402](https://github.com/esphome/esphome/pull/5402) by [@fariouche](https://github.com/fariouche) (new-integration) - Add support for the Gree YAC1FB9 in climate_ir [esphome#7056](https://github.com/esphome/esphome/pull/7056) by [@topeju](https://github.com/topeju)
- Add MAC address to WiFi config reply [esphome#6489](https://github.com/esphome/esphome/pull/6489) by [@cvwillegen](https://github.com/cvwillegen) - add ESP32-C6 support to esp32_can [esphome#7063](https://github.com/esphome/esphome/pull/7063) by [@Adminius](https://github.com/Adminius)
- Adds i2c timeout config [esphome#4614](https://github.com/esphome/esphome/pull/4614) by [@tracestep](https://github.com/tracestep) - Fix voice assistant crash when no speaker configured [esphome#7075](https://github.com/esphome/esphome/pull/7075) by [@kevdliu](https://github.com/kevdliu)
- Add ABB-Welcome / Busch-Welcome Door Intercom Protocol [esphome#4689](https://github.com/esphome/esphome/pull/4689) by [@Mat931](https://github.com/Mat931) - Bump HeatpumpIR, add protocols, remove IRremoteESP8266 [esphome#6996](https://github.com/esphome/esphome/pull/6996) by [@nagyrobi](https://github.com/nagyrobi)
- Add support for time entities [esphome#6399](https://github.com/esphome/esphome/pull/6399) by [@jesserockz](https://github.com/jesserockz) - LTR390 separate ALS and UV gain and resolution [esphome#7026](https://github.com/esphome/esphome/pull/7026) by [@latonita](https://github.com/latonita)
- Fix Match by IRK [esphome#6499](https://github.com/esphome/esphome/pull/6499) by [@MRemy2](https://github.com/MRemy2) - [improv_serial] Fix linker error created in #6998 [esphome#7082](https://github.com/esphome/esphome/pull/7082) by [@kbx81](https://github.com/kbx81)
- Add rmt_channel to remote_transmitter and remote_receiver [esphome#6497](https://github.com/esphome/esphome/pull/6497) by [@jesserockz](https://github.com/jesserockz) - [i2s_audio] Allow config for primary/secondary i2s mode [esphome#7092](https://github.com/esphome/esphome/pull/7092) by [@jesserockz](https://github.com/jesserockz)
- Rework tlc5947 to remove AUTO_LOAD [esphome#6503](https://github.com/esphome/esphome/pull/6503) by [@jesserockz](https://github.com/jesserockz) - [micro_wake_word] Allow simpler model config [esphome#7094](https://github.com/esphome/esphome/pull/7094) by [@jesserockz](https://github.com/jesserockz)
- UART: ignore require_tx/rx if not a native uart implementation [esphome#6504](https://github.com/esphome/esphome/pull/6504) by [@jesserockz](https://github.com/jesserockz) - [ota] Print Arduino update errors [esphome#7096](https://github.com/esphome/esphome/pull/7096) by [@jesserockz](https://github.com/jesserockz)
- esp32_rmt_led_strip bugfixes [esphome#6506](https://github.com/esphome/esphome/pull/6506) by [@Mat931](https://github.com/Mat931)
- Implemented support for the TLC5971 as an output component [esphome#6494](https://github.com/esphome/esphome/pull/6494) by [@IJIJI](https://github.com/IJIJI) (new-integration)
- Add Dooya protocol to remote_base [esphome#6488](https://github.com/esphome/esphome/pull/6488) by [@bukureckid](https://github.com/bukureckid)
- Only give error for connected sensors at startup [esphome#6474](https://github.com/esphome/esphome/pull/6474) by [@leejoow](https://github.com/leejoow)
- Webserver float to string fix [esphome#6507](https://github.com/esphome/esphome/pull/6507) by [@RFDarter](https://github.com/RFDarter)
- Add dooya remote transmitter test [esphome#6508](https://github.com/esphome/esphome/pull/6508) by [@jesserockz](https://github.com/jesserockz)
- ads1115: remove auto-load and split sensor into platform folder [esphome#5981](https://github.com/esphome/esphome/pull/5981) by [@jesserockz](https://github.com/jesserockz)
- Bump esphome-dashboard to 20240412.0 [esphome#6517](https://github.com/esphome/esphome/pull/6517) by [@jesserockz](https://github.com/jesserockz)
- Fix missing ifdefs in voice assistant [esphome#6520](https://github.com/esphome/esphome/pull/6520) by [@jesserockz](https://github.com/jesserockz)
- Fix project version longer than 30 characters breaking compilation [esphome#6535](https://github.com/esphome/esphome/pull/6535) by [@jesserockz](https://github.com/jesserockz)
- Fix no-release bug on ft6x36 [esphome#6527](https://github.com/esphome/esphome/pull/6527) by [@clydebarrow](https://github.com/clydebarrow)

View File

@@ -32,7 +32,7 @@ backup_exclude:
init: false init: false
startup: services startup: services
name: ESPHome name: ESPHome
version: 2024.4.0 version: 2024.7.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
@@ -46,10 +46,11 @@ esphome-dev:
<<: *base <<: *base
directory: esphome-dev directory: esphome-dev
name: ESPHome (dev) name: ESPHome (dev)
version: 'dev' # DEV version: "2024.8.0-dev20240717" # 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:
@@ -62,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: '2024.4.0' # BETA version: "2024.7.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/
@@ -78,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: '2024.4.0' # STABLE version: "2024.7.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