1
0

Compare commits

...

202 Commits

28 changed files with 456 additions and 529 deletions

View File

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

View File

@@ -19,20 +19,20 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.1.7
- 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'
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- 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
uses: docker/setup-buildx-action@v3.0.0
uses: docker/setup-buildx-action@v3.4.0
- name: Build and Push
uses: docker/build-push-action@v5.1.0
uses: docker/build-push-action@v6.4.1
with:
context: .
file: .devcontainer/Dockerfile

View File

@@ -19,9 +19,9 @@ jobs:
channel: dev
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.7
- name: 🛠 Setup Python
uses: actions/setup-python@v4.8.0
uses: actions/setup-python@v5.1.1
with:
python-version: '3.11'
- name: 🛠 Install dependencies
@@ -29,6 +29,6 @@ jobs:
- name: 🛠 Generate files from template
run: python script/generate.py ${{ 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:
path: "./${{ matrix.channels.folder }}"

View File

@@ -1,195 +1,194 @@
## 2023.12.0
## 2024.8.0
## Full list of changes
### New Features
- [update] Implement ``update.perform`` action and ``update.is_available`` condition [esphome#7165](https://github.com/esphome/esphome/pull/7165) by [@jesserockz](https://github.com/jesserockz) (new-feature)
### New Components
- Add ENS160 Sensor [esphome#4243](https://github.com/esphome/esphome/pull/4243) by [@vincentscode](https://github.com/vincentscode) (new-integration)
- Create GT911 Touchscreen component [esphome#4027](https://github.com/esphome/esphome/pull/4027) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Pylontech integration (solar battery bank) [esphome#4688](https://github.com/esphome/esphome/pull/4688) by [@functionpointer](https://github.com/functionpointer) (new-integration)
- Add Chamberlain/HomEntry HE60R garage door opener [esphome#5834](https://github.com/esphome/esphome/pull/5834) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Add graphical display menu [esphome#4105](https://github.com/esphome/esphome/pull/4105) by [@MrMDavidson](https://github.com/MrMDavidson) (new-integration)
- Updating the touchscreen interface structure [esphome#4596](https://github.com/esphome/esphome/pull/4596) by [@nielsnl68](https://github.com/nielsnl68) (new-integration) (breaking-change)
- Added the A02YYUW distance sensor [esphome#5729](https://github.com/esphome/esphome/pull/5729) by [@TH-Braemer](https://github.com/TH-Braemer) (new-integration)
- Add support for PN7160 [esphome#5486](https://github.com/esphome/esphome/pull/5486) by [@kbx81](https://github.com/kbx81) (new-integration)
- Add support for PN7150 [esphome#5487](https://github.com/esphome/esphome/pull/5487) by [@kbx81](https://github.com/kbx81) (new-integration)
- Feature/m5angle8: Add support for m5angle8 input device [esphome#6799](https://github.com/esphome/esphome/pull/6799) by [@rnauber](https://github.com/rnauber) (new-integration)
- APDS9306 Ambient Light Sensor [esphome#6709](https://github.com/esphome/esphome/pull/6709) by [@aodrenah](https://github.com/aodrenah) (new-integration)
- [lvgl] base implementation [esphome#7116](https://github.com/esphome/esphome/pull/7116) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Add runtime online image support [esphome#4710](https://github.com/esphome/esphome/pull/4710) by [@guillempages](https://github.com/guillempages) (new-integration)
- [bme68x_bsec2_i2c] BME68X Temperature+Pressure+Humidity+Gas Sensor via BSEC2 [esphome#4585](https://github.com/esphome/esphome/pull/4585) by [@neffs](https://github.com/neffs) (new-integration)
- Add support for LYWSD02MMC Xiaomi device [esphome#7080](https://github.com/esphome/esphome/pull/7080) by [@juanluss31](https://github.com/juanluss31) (new-integration)
### New Platforms
- [homeassistant] Native switch entity import and control [esphome#7018](https://github.com/esphome/esphome/pull/7018) by [@Links2004](https://github.com/Links2004) (new-platform)
- [homeassistant] Native number entity import and control [esphome#6455](https://github.com/esphome/esphome/pull/6455) by [@landonr](https://github.com/landonr) (new-platform)
- Correct offset calibration [esphome#7228](https://github.com/esphome/esphome/pull/7228) by [@descipher](https://github.com/descipher) (new-platform)
### Breaking Changes
- Add proper support for SH1107 to SSD1306 component [esphome#5166](https://github.com/esphome/esphome/pull/5166) by [@nikitakuklev](https://github.com/nikitakuklev) (breaking-change)
- sen5x fix temperature compensation and gas tuning [esphome#4901](https://github.com/esphome/esphome/pull/4901) by [@matt7aylor](https://github.com/matt7aylor) (breaking-change)
- Ensure names containing characters other than `a-z` `A-Z` `0-9` or `_` are unique [esphome#5810](https://github.com/esphome/esphome/pull/5810) by [@bdraco](https://github.com/bdraco) (breaking-change)
- mcp3008: Tidy up and fix auto load bug [esphome#5842](https://github.com/esphome/esphome/pull/5842) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Nextion colors parameters [esphome#5699](https://github.com/esphome/esphome/pull/5699) by [@edwardtfn](https://github.com/edwardtfn) (breaking-change)
- Checks for pins used in multiple places [esphome#5666](https://github.com/esphome/esphome/pull/5666) by [@clydebarrow](https://github.com/clydebarrow) (breaking-change)
- Updating the touchscreen interface structure [esphome#4596](https://github.com/esphome/esphome/pull/4596) by [@nielsnl68](https://github.com/nielsnl68) (new-integration) (breaking-change)
- Remove deprecated argument parser [esphome#7151](https://github.com/esphome/esphome/pull/7151) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
### Beta Changes
- Allow use of CDC/JTAG loggers on esp32 variants with Arduino [esphome#4658](https://github.com/esphome/esphome/pull/4658) by [@jesserockz](https://github.com/jesserockz)
- [Logger] ESP32 S3 serial logger [esphome#4853](https://github.com/esphome/esphome/pull/4853) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Support toggle action for template cover [esphome#5917](https://github.com/esphome/esphome/pull/5917) by [@jochenvg](https://github.com/jochenvg)
- Fix SplitDefault with variants [esphome#5928](https://github.com/esphome/esphome/pull/5928) by [@jesserockz](https://github.com/jesserockz)
- Update ENS160 TVOC device_class and AQI units to match required by HA [esphome#5939](https://github.com/esphome/esphome/pull/5939) by [@mrtoy-me](https://github.com/mrtoy-me)
- Bump zeroconf from 0.128.4 to 0.130.0 [esphome#5950](https://github.com/esphome/esphome/pull/5950) by [@dependabot[bot]](https://github.com/apps/dependabot)
- UARTComponent inline doc [esphome#5930](https://github.com/esphome/esphome/pull/5930) by [@edwardtfn](https://github.com/edwardtfn)
- Fix - Tuya Fan - Allow integer speed datapoint [esphome#5948](https://github.com/esphome/esphome/pull/5948) by [@cram42](https://github.com/cram42)
- i2s_audio: Set player_task's prio to 1 [esphome#5945](https://github.com/esphome/esphome/pull/5945) by [@gaaf](https://github.com/gaaf)
- esp32_camera: Set framebuffer task prio to 1 [esphome#5943](https://github.com/esphome/esphome/pull/5943) by [@gaaf](https://github.com/gaaf)
- web_server_idf: fix call with hardcoded http code [esphome#5942](https://github.com/esphome/esphome/pull/5942) by [@dentra](https://github.com/dentra)
- Revert pure virtual functions in UART component from #5920 [esphome#5932](https://github.com/esphome/esphome/pull/5932) by [@DrCoolzic](https://github.com/DrCoolzic)
- Use the correct UART/`Serial` when CDC is enabled [esphome#5957](https://github.com/esphome/esphome/pull/5957) by [@kbx81](https://github.com/kbx81)
- rename set_raw_touch_position_ to add_raw_touch_position_ [esphome#5962](https://github.com/esphome/esphome/pull/5962) by [@nielsnl68](https://github.com/nielsnl68)
- Fix build issue with UART component when building with Arduino and CDC [esphome#5964](https://github.com/esphome/esphome/pull/5964) by [@kbx81](https://github.com/kbx81)
- Fix I2CBus::write() bug and add i2c documentation [esphome#5947](https://github.com/esphome/esphome/pull/5947) by [@DrCoolzic](https://github.com/DrCoolzic)
- Add deep sleep between updates for waveshare epaper 1.54in and 1.54inv2 [esphome#5961](https://github.com/esphome/esphome/pull/5961) by [@mathieu-mp](https://github.com/mathieu-mp)
- Speed up writing protobuf strings/bytes [esphome#5828](https://github.com/esphome/esphome/pull/5828) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi to 21.0.1 [esphome#5969](https://github.com/esphome/esphome/pull/5969) by [@bdraco](https://github.com/bdraco)
- image: allow the image to by auto-loaded by animation [esphome#5139](https://github.com/esphome/esphome/pull/5139) by [@ayufan](https://github.com/ayufan)
- Fix pin reuse error with pin expanders [esphome#5973](https://github.com/esphome/esphome/pull/5973) by [@jesserockz](https://github.com/jesserockz)
- remove extra number from pronto [esphome#7263](https://github.com/esphome/esphome/pull/7263) by [@ssieb](https://github.com/ssieb)
- [api] Bump noise-c library version [esphome#7288](https://github.com/esphome/esphome/pull/7288) by [@clydebarrow](https://github.com/clydebarrow)
- fix some small rtttl issues [esphome#6817](https://github.com/esphome/esphome/pull/6817) by [@nielsnl68](https://github.com/nielsnl68)
- Fix overflow in ESPColorCorrection object [esphome#7268](https://github.com/esphome/esphome/pull/7268) by [@g-kiss](https://github.com/g-kiss)
- [validation] Allow ``maybe_simple_value`` to not have default key in complex value [esphome#7294](https://github.com/esphome/esphome/pull/7294) by [@jesserockz](https://github.com/jesserockz)
- [network] Always allow ``enable_ipv6: false`` [esphome#7291](https://github.com/esphome/esphome/pull/7291) by [@dwmw2](https://github.com/dwmw2)
- Revert "[validation] Allow ``maybe_simple_value`` to not have default key in complex value" [esphome#7305](https://github.com/esphome/esphome/pull/7305) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Bug fixes [esphome#7300](https://github.com/esphome/esphome/pull/7300) by [@clydebarrow](https://github.com/clydebarrow)
- [speaker] Fix header includes [esphome#7304](https://github.com/esphome/esphome/pull/7304) by [@nielsnl68](https://github.com/nielsnl68)
- [microphone] Fix header includes [esphome#7310](https://github.com/esphome/esphome/pull/7310) by [@jesserockz](https://github.com/jesserockz)
- Fix RP2040 Neopixel flickering issue [esphome#7307](https://github.com/esphome/esphome/pull/7307) by [@deCodeIt](https://github.com/deCodeIt)
- add the ability to add more idf components to an existing setup [esphome#7302](https://github.com/esphome/esphome/pull/7302) by [@nielsnl68](https://github.com/nielsnl68)
- Fix waveshare 2.13" epaper stride calculation error [esphome#7303](https://github.com/esphome/esphome/pull/7303) by [@serialx](https://github.com/serialx)
- [rtttl] fix STOPPED state [esphome#7323](https://github.com/esphome/esphome/pull/7323) by [@NewoPL](https://github.com/NewoPL)
### All changes
- Nextion support to `esp-idf` [esphome#5667](https://github.com/esphome/esphome/pull/5667) by [@edwardtfn](https://github.com/edwardtfn)
- fix pin range for xl9535 [esphome#5722](https://github.com/esphome/esphome/pull/5722) by [@ssieb](https://github.com/ssieb)
- Bump black from 23.10.1 to 23.11.0 [esphome#5702](https://github.com/esphome/esphome/pull/5702) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Speed up YAML by using YAML C loader when available [esphome#5721](https://github.com/esphome/esphome/pull/5721) by [@bdraco](https://github.com/bdraco)
- Bump Arduino Pico Framework to 3.6.0 and Platform to 1.10.0 [esphome#5731](https://github.com/esphome/esphome/pull/5731) by [@HeMan](https://github.com/HeMan)
- Correct url for Arduino platform [esphome#5744](https://github.com/esphome/esphome/pull/5744) by [@HeMan](https://github.com/HeMan)
- remote_base: added helper class and schemas [esphome#5169](https://github.com/esphome/esphome/pull/5169) by [@dudanov](https://github.com/dudanov)
- Bump zeroconf from 0.123.0 to 0.126.0 [esphome#5748](https://github.com/esphome/esphome/pull/5748) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Make precommit checks happy [esphome#5751](https://github.com/esphome/esphome/pull/5751) by [@HeMan](https://github.com/HeMan)
- dashboard: Use mdns cache when available if device connection is OTA [esphome#5724](https://github.com/esphome/esphome/pull/5724) by [@bdraco](https://github.com/bdraco)
- Speed up OTAs [esphome#5720](https://github.com/esphome/esphome/pull/5720) by [@bdraco](https://github.com/bdraco)
- dashboard: convert ping thread to use asyncio [esphome#5749](https://github.com/esphome/esphome/pull/5749) by [@bdraco](https://github.com/bdraco)
- dashboard: Break apart dashboard into separate modules [esphome#5764](https://github.com/esphome/esphome/pull/5764) by [@bdraco](https://github.com/bdraco)
- dashboard: split dashboard web server code into its own module [esphome#5770](https://github.com/esphome/esphome/pull/5770) by [@bdraco](https://github.com/bdraco)
- Bump zeroconf from 0.126.0 to 0.127.0 [esphome#5768](https://github.com/esphome/esphome/pull/5768) by [@dependabot[bot]](https://github.com/apps/dependabot)
- dashboard: fix subprocesses blocking the event loop [esphome#5772](https://github.com/esphome/esphome/pull/5772) by [@bdraco](https://github.com/bdraco)
- dashboard: use fastest available yaml loader in the dashboard [esphome#5771](https://github.com/esphome/esphome/pull/5771) by [@bdraco](https://github.com/bdraco)
- dashboard: Centralize dashboard entries into DashboardEntries class [esphome#5774](https://github.com/esphome/esphome/pull/5774) by [@bdraco](https://github.com/bdraco)
- Pass the name to the log runner when available [esphome#5759](https://github.com/esphome/esphome/pull/5759) by [@bdraco](https://github.com/bdraco)
- Add proper support for SH1107 to SSD1306 component [esphome#5166](https://github.com/esphome/esphome/pull/5166) by [@nikitakuklev](https://github.com/nikitakuklev) (breaking-change)
- Split release workflow jobs per system arch [esphome#5723](https://github.com/esphome/esphome/pull/5723) by [@jesserockz](https://github.com/jesserockz)
- Bump aioesphomeapi to 18.5.3 [esphome#5785](https://github.com/esphome/esphome/pull/5785) by [@bdraco](https://github.com/bdraco)
- Refactor log api client to let aioesphomeapi manage zeroconf [esphome#5783](https://github.com/esphome/esphome/pull/5783) by [@bdraco](https://github.com/bdraco)
- dashboard: Add support for firing events [esphome#5775](https://github.com/esphome/esphome/pull/5775) by [@bdraco](https://github.com/bdraco)
- dashboard: Ensure disk I/O happens in the executor [esphome#5789](https://github.com/esphome/esphome/pull/5789) by [@bdraco](https://github.com/bdraco)
- dashboard: Add lookup by name to entries [esphome#5790](https://github.com/esphome/esphome/pull/5790) by [@bdraco](https://github.com/bdraco)
- Refactor StorageJSON to keep loaded_integrations a set until its converted to JSON [esphome#5793](https://github.com/esphome/esphome/pull/5793) by [@bdraco](https://github.com/bdraco)
- wifi: Don't build SoftAP/DHCPS support unless 'ap' is in config. [esphome#5649](https://github.com/esphome/esphome/pull/5649) by [@kpfleming](https://github.com/kpfleming)
- ssd1306: handle V_COM differently for SH1106 [esphome#5796](https://github.com/esphome/esphome/pull/5796) by [@papillon81](https://github.com/papillon81)
- Bump aioesphomeapi from 18.5.3 to 18.5.5 [esphome#5804](https://github.com/esphome/esphome/pull/5804) by [@dependabot[bot]](https://github.com/apps/dependabot)
- dashboard: Fix online status when api is disabled [esphome#5792](https://github.com/esphome/esphome/pull/5792) by [@bdraco](https://github.com/bdraco)
- Haier component updated to support new protocol variations [esphome#5713](https://github.com/esphome/esphome/pull/5713) by [@paveldn](https://github.com/paveldn)
- sen5x fix temperature compensation and gas tuning [esphome#4901](https://github.com/esphome/esphome/pull/4901) by [@matt7aylor](https://github.com/matt7aylor) (breaking-change)
- Add startup_delay to interval. [esphome#5327](https://github.com/esphome/esphome/pull/5327) by [@clydebarrow](https://github.com/clydebarrow)
- Pillow: bump to 10.1.0 [esphome#5815](https://github.com/esphome/esphome/pull/5815) by [@hostcc](https://github.com/hostcc)
- dashboard: set nodelay on the websocket to avoid a delay seeing log messages [esphome#5802](https://github.com/esphome/esphome/pull/5802) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi from 18.5.5 to 18.5.7 [esphome#5822](https://github.com/esphome/esphome/pull/5822) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Ensure names containing characters other than `a-z` `A-Z` `0-9` or `_` are unique [esphome#5810](https://github.com/esphome/esphome/pull/5810) by [@bdraco](https://github.com/bdraco) (breaking-change)
- Add ENS160 Sensor [esphome#4243](https://github.com/esphome/esphome/pull/4243) by [@vincentscode](https://github.com/vincentscode) (new-integration)
- Bump actions/github-script from 6.4.1 to 7.0.1 [esphome#5803](https://github.com/esphome/esphome/pull/5803) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Run all tests when local testing. [esphome#5717](https://github.com/esphome/esphome/pull/5717) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Bump aioesphomeapi from 18.5.7 to 18.5.9 [esphome#5830](https://github.com/esphome/esphome/pull/5830) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Allow split uart pin inversion for ESP-IDF [esphome#5831](https://github.com/esphome/esphome/pull/5831) by [@clydebarrow](https://github.com/clydebarrow)
- Add `is_detected()` for Nextion displays [esphome#5825](https://github.com/esphome/esphome/pull/5825) by [@edwardtfn](https://github.com/edwardtfn)
- Pull PollingComponent up from individual display drivers to Display. [esphome#5444](https://github.com/esphome/esphome/pull/5444) by [@clydebarrow](https://github.com/clydebarrow)
- Implement variable length single word SPI writes. [esphome#5678](https://github.com/esphome/esphome/pull/5678) by [@clydebarrow](https://github.com/clydebarrow)
- Add 'enable_on_boot' feature to power_supply [esphome#5826](https://github.com/esphome/esphome/pull/5826) by [@clydebarrow](https://github.com/clydebarrow)
- mcp3008: Tidy up and fix auto load bug [esphome#5842](https://github.com/esphome/esphome/pull/5842) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Create GT911 Touchscreen component [esphome#4027](https://github.com/esphome/esphome/pull/4027) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Bump aioesphomeapi from 18.5.9 to 19.1.2 [esphome#5844](https://github.com/esphome/esphome/pull/5844) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Nextion - Standardizing log messages [esphome#5837](https://github.com/esphome/esphome/pull/5837) by [@edwardtfn](https://github.com/edwardtfn)
- dashboard: Small cleanups to dashboard [esphome#5841](https://github.com/esphome/esphome/pull/5841) by [@bdraco](https://github.com/bdraco)
- Pylontech integration (solar battery bank) [esphome#4688](https://github.com/esphome/esphome/pull/4688) by [@functionpointer](https://github.com/functionpointer) (new-integration)
- Implement deep sleep and clear screen on Waveshare 7.5in B V3 [esphome#5239](https://github.com/esphome/esphome/pull/5239) by [@lucasprim](https://github.com/lucasprim)
- Fix ESP-IDF uart initialisation sequence to match Espressif docs. [esphome#5838](https://github.com/esphome/esphome/pull/5838) by [@clydebarrow](https://github.com/clydebarrow)
- Nextion - Align strings on `dump_config` [esphome#5824](https://github.com/esphome/esphome/pull/5824) by [@edwardtfn](https://github.com/edwardtfn)
- Speed up (and fix) ili9xxx display component. [esphome#5406](https://github.com/esphome/esphome/pull/5406) by [@clydebarrow](https://github.com/clydebarrow)
- Fix regex for 'byte' custom CI check [esphome#5851](https://github.com/esphome/esphome/pull/5851) by [@jesserockz](https://github.com/jesserockz)
- Pass through additional arguments to create number [esphome#5849](https://github.com/esphome/esphome/pull/5849) by [@clydebarrow](https://github.com/clydebarrow)
- Nextion `on_touch` trigger [esphome#5833](https://github.com/esphome/esphome/pull/5833) by [@edwardtfn](https://github.com/edwardtfn)
- Nextion colors parameters [esphome#5699](https://github.com/esphome/esphome/pull/5699) by [@edwardtfn](https://github.com/edwardtfn) (breaking-change)
- dashboard: fix supervisor auth doing I/O in the event loop [esphome#5807](https://github.com/esphome/esphome/pull/5807) by [@bdraco](https://github.com/bdraco)
- Improve reliability of Nextion TFT uploads (Arduino) [esphome#5683](https://github.com/esphome/esphome/pull/5683) by [@edwardtfn](https://github.com/edwardtfn)
- Add Pro Check Universal sensor support. [esphome#5798](https://github.com/esphome/esphome/pull/5798) by [@spbrogan](https://github.com/spbrogan)
- Bump aioesphomeapi from 19.1.2 to 19.1.7 [esphome#5859](https://github.com/esphome/esphome/pull/5859) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Pn532 non blocking scan [esphome#5191](https://github.com/esphome/esphome/pull/5191) by [@sharkydog](https://github.com/sharkydog)
- Add Chamberlain/HomEntry HE60R garage door opener [esphome#5834](https://github.com/esphome/esphome/pull/5834) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Bump aioesphomeapi from 19.1.7 to 19.2.1 [esphome#5863](https://github.com/esphome/esphome/pull/5863) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump tornado from 6.3.3 to 6.4 [esphome#5862](https://github.com/esphome/esphome/pull/5862) by [@dependabot[bot]](https://github.com/apps/dependabot)
- add missing ifdef to pvvx_mithermometer [esphome#5880](https://github.com/esphome/esphome/pull/5880) by [@ssieb](https://github.com/ssieb)
- Fix un-initialized version string [esphome#5865](https://github.com/esphome/esphome/pull/5865) by [@descipher](https://github.com/descipher)
- fix a01nyub data reading [esphome#5882](https://github.com/esphome/esphome/pull/5882) by [@ssieb](https://github.com/ssieb)
- Bump pytest-asyncio from 0.21.1 to 0.23.2 [esphome#5888](https://github.com/esphome/esphome/pull/5888) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump zeroconf from 0.127.0 to 0.128.0 [esphome#5889](https://github.com/esphome/esphome/pull/5889) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pylint from 2.17.6 to 3.0.2 [esphome#5592](https://github.com/esphome/esphome/pull/5592) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump voluptuous from 0.13.1 to 0.14.1 [esphome#5784](https://github.com/esphome/esphome/pull/5784) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Security improvement: Support wifi ap_timeout=0s (disable) [esphome#5887](https://github.com/esphome/esphome/pull/5887) by [@fornellas](https://github.com/fornellas)
- Suppress full config output of "esphome config" when -q option is used. [esphome#5852](https://github.com/esphome/esphome/pull/5852) by [@clydebarrow](https://github.com/clydebarrow)
- Checks for pins used in multiple places [esphome#5666](https://github.com/esphome/esphome/pull/5666) by [@clydebarrow](https://github.com/clydebarrow) (breaking-change)
- Nextion support to idf with `cinttypes` [esphome#5876](https://github.com/esphome/esphome/pull/5876) by [@edwardtfn](https://github.com/edwardtfn)
- Fix test4.yaml after #5666 [esphome#5890](https://github.com/esphome/esphome/pull/5890) by [@kbx81](https://github.com/kbx81)
- Fix template text component length check [esphome#5881](https://github.com/esphome/esphome/pull/5881) by [@fornellas](https://github.com/fornellas)
- RC522 - Fix error counter error [esphome#5873](https://github.com/esphome/esphome/pull/5873) by [@kbx81](https://github.com/kbx81)
- feat(packages): support removing components [esphome#5821](https://github.com/esphome/esphome/pull/5821) by [@TMaYaD](https://github.com/TMaYaD)
- dashboard: Add some basic tests for the dashboard [esphome#5870](https://github.com/esphome/esphome/pull/5870) by [@bdraco](https://github.com/bdraco)
- Nextion exit reparse mode on startup [esphome#5868](https://github.com/esphome/esphome/pull/5868) by [@edwardtfn](https://github.com/edwardtfn)
- Bump aioesphomeapi from 19.2.1 to 19.3.0 [esphome#5895](https://github.com/esphome/esphome/pull/5895) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add framework info to Nextion log tags [esphome#5864](https://github.com/esphome/esphome/pull/5864) by [@edwardtfn](https://github.com/edwardtfn)
- Handle case where using enetity level name: None with MQTT [esphome#5897](https://github.com/esphome/esphome/pull/5897) by [@mtl010957](https://github.com/mtl010957)
- Bump actions/setup-python from 4.7.1 to 5.0.0 [esphome#5896](https://github.com/esphome/esphome/pull/5896) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump zeroconf from 0.128.0 to 0.128.4 [esphome#5906](https://github.com/esphome/esphome/pull/5906) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix 18 bit displays. [esphome#5908](https://github.com/esphome/esphome/pull/5908) by [@clydebarrow](https://github.com/clydebarrow)
- fix RGBW Mode on RP2040 [esphome#5907](https://github.com/esphome/esphome/pull/5907) by [@firegore](https://github.com/firegore)
- Add graphical display menu [esphome#4105](https://github.com/esphome/esphome/pull/4105) by [@MrMDavidson](https://github.com/MrMDavidson) (new-integration)
- Added on_image callback to ESP32 Cam [esphome#4860](https://github.com/esphome/esphome/pull/4860) by [@freekode](https://github.com/freekode)
- Bump actions/stale from 8.0.0 to 9.0.0 [esphome#5899](https://github.com/esphome/esphome/pull/5899) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pylint from 3.0.2 to 3.0.3 [esphome#5905](https://github.com/esphome/esphome/pull/5905) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump frenck/action-yamllint from 1.4.1 to 1.4.2 [esphome#5716](https://github.com/esphome/esphome/pull/5716) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump dessant/lock-threads from 4.0.1 to 5.0.1 [esphome#5820](https://github.com/esphome/esphome/pull/5820) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add support for fan preset modes [esphome#5694](https://github.com/esphome/esphome/pull/5694) by [@mill1000](https://github.com/mill1000)
- Fix uninitialized climate target temperature [esphome#5795](https://github.com/esphome/esphome/pull/5795) by [@ckoca](https://github.com/ckoca)
- Bump aioesphomeapi from 19.3.0 to 20.0.0 [esphome#5911](https://github.com/esphome/esphome/pull/5911) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump black from 23.11.0 to 23.12.0 [esphome#5912](https://github.com/esphome/esphome/pull/5912) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Updating the touchscreen interface structure [esphome#4596](https://github.com/esphome/esphome/pull/4596) by [@nielsnl68](https://github.com/nielsnl68) (new-integration) (breaking-change)
- Added the A02YYUW distance sensor [esphome#5729](https://github.com/esphome/esphome/pull/5729) by [@TH-Braemer](https://github.com/TH-Braemer) (new-integration)
- Fix AHT10 / AHT20 communication [esphome#5198](https://github.com/esphome/esphome/pull/5198) by [@flaminggoat](https://github.com/flaminggoat)
- Fix crash when handling pin_check error [esphome#5915](https://github.com/esphome/esphome/pull/5915) by [@clydebarrow](https://github.com/clydebarrow)
- Bump aioesphomeapi to 20.1.0 [esphome#5914](https://github.com/esphome/esphome/pull/5914) by [@bdraco](https://github.com/bdraco)
- Remove setpoint-change from error when calculating derivative in pid controller [esphome#4737](https://github.com/esphome/esphome/pull/4737) by [@Newspaperman57](https://github.com/Newspaperman57)
- ir_transmitter: add support for repeated commands in NEC protocol [esphome#4995](https://github.com/esphome/esphome/pull/4995) by [@ngilles](https://github.com/ngilles)
- BP1658CJ - Fix timing for all platforms, now consistent with other drivers [esphome#5799](https://github.com/esphome/esphome/pull/5799) by [@Cossid](https://github.com/Cossid)
- Add humidity support to climate [esphome#5732](https://github.com/esphome/esphome/pull/5732) by [@kroimon](https://github.com/kroimon)
- Remove lingering note [esphome#5916](https://github.com/esphome/esphome/pull/5916) by [@jesserockz](https://github.com/jesserockz)
- Fix typo added in esp32 post_build filename [esphome#5918](https://github.com/esphome/esphome/pull/5918) by [@jesserockz](https://github.com/jesserockz)
- Copy esp32 custom partition files to build folder [esphome#5919](https://github.com/esphome/esphome/pull/5919) by [@jesserockz](https://github.com/jesserockz)
- UART change at runtime [esphome#5909](https://github.com/esphome/esphome/pull/5909) by [@edwardtfn](https://github.com/edwardtfn)
- Bump aioesphomeapi from 20.1.0 to 21.0.0 [esphome#5922](https://github.com/esphome/esphome/pull/5922) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix the initial run of lambda light effects [esphome#5921](https://github.com/esphome/esphome/pull/5921) by [@smithjacobj](https://github.com/smithjacobj)
- Exposes `load_settings` to `UARTComponent` class [esphome#5920](https://github.com/esphome/esphome/pull/5920) by [@edwardtfn](https://github.com/edwardtfn)
- Add support for PN7160 [esphome#5486](https://github.com/esphome/esphome/pull/5486) by [@kbx81](https://github.com/kbx81) (new-integration)
- Add support for PN7150 [esphome#5487](https://github.com/esphome/esphome/pull/5487) by [@kbx81](https://github.com/kbx81) (new-integration)
- Allow use of CDC/JTAG loggers on esp32 variants with Arduino [esphome#4658](https://github.com/esphome/esphome/pull/4658) by [@jesserockz](https://github.com/jesserockz)
- [Logger] ESP32 S3 serial logger [esphome#4853](https://github.com/esphome/esphome/pull/4853) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Support toggle action for template cover [esphome#5917](https://github.com/esphome/esphome/pull/5917) by [@jochenvg](https://github.com/jochenvg)
- Fix SplitDefault with variants [esphome#5928](https://github.com/esphome/esphome/pull/5928) by [@jesserockz](https://github.com/jesserockz)
- Update ENS160 TVOC device_class and AQI units to match required by HA [esphome#5939](https://github.com/esphome/esphome/pull/5939) by [@mrtoy-me](https://github.com/mrtoy-me)
- Bump zeroconf from 0.128.4 to 0.130.0 [esphome#5950](https://github.com/esphome/esphome/pull/5950) by [@dependabot[bot]](https://github.com/apps/dependabot)
- UARTComponent inline doc [esphome#5930](https://github.com/esphome/esphome/pull/5930) by [@edwardtfn](https://github.com/edwardtfn)
- Fix - Tuya Fan - Allow integer speed datapoint [esphome#5948](https://github.com/esphome/esphome/pull/5948) by [@cram42](https://github.com/cram42)
- i2s_audio: Set player_task's prio to 1 [esphome#5945](https://github.com/esphome/esphome/pull/5945) by [@gaaf](https://github.com/gaaf)
- esp32_camera: Set framebuffer task prio to 1 [esphome#5943](https://github.com/esphome/esphome/pull/5943) by [@gaaf](https://github.com/gaaf)
- web_server_idf: fix call with hardcoded http code [esphome#5942](https://github.com/esphome/esphome/pull/5942) by [@dentra](https://github.com/dentra)
- Revert pure virtual functions in UART component from #5920 [esphome#5932](https://github.com/esphome/esphome/pull/5932) by [@DrCoolzic](https://github.com/DrCoolzic)
- Use the correct UART/`Serial` when CDC is enabled [esphome#5957](https://github.com/esphome/esphome/pull/5957) by [@kbx81](https://github.com/kbx81)
- rename set_raw_touch_position_ to add_raw_touch_position_ [esphome#5962](https://github.com/esphome/esphome/pull/5962) by [@nielsnl68](https://github.com/nielsnl68)
- Fix build issue with UART component when building with Arduino and CDC [esphome#5964](https://github.com/esphome/esphome/pull/5964) by [@kbx81](https://github.com/kbx81)
- Fix I2CBus::write() bug and add i2c documentation [esphome#5947](https://github.com/esphome/esphome/pull/5947) by [@DrCoolzic](https://github.com/DrCoolzic)
- Add deep sleep between updates for waveshare epaper 1.54in and 1.54inv2 [esphome#5961](https://github.com/esphome/esphome/pull/5961) by [@mathieu-mp](https://github.com/mathieu-mp)
- Speed up writing protobuf strings/bytes [esphome#5828](https://github.com/esphome/esphome/pull/5828) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi to 21.0.1 [esphome#5969](https://github.com/esphome/esphome/pull/5969) by [@bdraco](https://github.com/bdraco)
- image: allow the image to by auto-loaded by animation [esphome#5139](https://github.com/esphome/esphome/pull/5139) by [@ayufan](https://github.com/ayufan)
- Fix pin reuse error with pin expanders [esphome#5973](https://github.com/esphome/esphome/pull/5973) by [@jesserockz](https://github.com/jesserockz)
- [wifi] Fix EAP for IDF 5.1+, add test [esphome#7061](https://github.com/esphome/esphome/pull/7061) by [@kbx81](https://github.com/kbx81)
- jsn_sr04t component: AJ_SR04M compatibility mode in checksum calculation [esphome#7044](https://github.com/esphome/esphome/pull/7044) by [@soeffi](https://github.com/soeffi)
- [CI] compile entire web_server during tests [esphome#7084](https://github.com/esphome/esphome/pull/7084) by [@tomaszduda23](https://github.com/tomaszduda23)
- [CI] Add more ``improv_serial`` tests [esphome#7081](https://github.com/esphome/esphome/pull/7081) by [@kbx81](https://github.com/kbx81)
- Bump docker/build-push-action from 6.3.0 to 6.4.0 in /.github/actions/build-image [esphome#7089](https://github.com/esphome/esphome/pull/7089) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [CI] add web_server v1 test [esphome#7090](https://github.com/esphome/esphome/pull/7090) by [@tomaszduda23](https://github.com/tomaszduda23)
- [wifi] Hostname may not be set as expected on Arduino platform [esphome#7050](https://github.com/esphome/esphome/pull/7050) by [@NewoPL](https://github.com/NewoPL)
- Add host uart support for MacOS [esphome#7095](https://github.com/esphome/esphome/pull/7095) by [@clydebarrow](https://github.com/clydebarrow)
- Bump docker/build-push-action from 6.4.0 to 6.4.1 in /.github/actions/build-image [esphome#7102](https://github.com/esphome/esphome/pull/7102) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [code-quality] Add some ruff configuration [esphome#7103](https://github.com/esphome/esphome/pull/7103) by [@jesserockz](https://github.com/jesserockz)
- [web_server] move v1 code to separate file [esphome#7091](https://github.com/esphome/esphome/pull/7091) by [@tomaszduda23](https://github.com/tomaszduda23)
- [validation] Add ``host`` to ``require_framework_version`` [esphome#7107](https://github.com/esphome/esphome/pull/7107) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Tidy up some duplicate CONFIG_SCHEMA assignments [esphome#7106](https://github.com/esphome/esphome/pull/7106) by [@jesserockz](https://github.com/jesserockz)
- Move MQTT ip discovery to deticated config option. [esphome#6673](https://github.com/esphome/esphome/pull/6673) by [@Links2004](https://github.com/Links2004)
- Feature/m5angle8: Add support for m5angle8 input device [esphome#6799](https://github.com/esphome/esphome/pull/6799) by [@rnauber](https://github.com/rnauber) (new-integration)
- use cache to build tests for compoenents [esphome#7059](https://github.com/esphome/esphome/pull/7059) by [@tomaszduda23](https://github.com/tomaszduda23)
- [modbus_controller] Add on_command_sent trigger [esphome#7078](https://github.com/esphome/esphome/pull/7078) by [@leejoow](https://github.com/leejoow)
- [ili9xxx] Rework delay handling [esphome#7115](https://github.com/esphome/esphome/pull/7115) by [@clydebarrow](https://github.com/clydebarrow)
- Inherit `esp32_ble_beacon` from `esp32_ble` [esphome#6908](https://github.com/esphome/esphome/pull/6908) by [@jpbede](https://github.com/jpbede)
- APDS9306 Ambient Light Sensor [esphome#6709](https://github.com/esphome/esphome/pull/6709) by [@aodrenah](https://github.com/aodrenah) (new-integration)
- Bump docker/build-push-action from 6.4.1 to 6.5.0 in /.github/actions/build-image [esphome#7119](https://github.com/esphome/esphome/pull/7119) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-qemu-action from 3.1.0 to 3.2.0 [esphome#7120](https://github.com/esphome/esphome/pull/7120) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/login-action from 3.2.0 to 3.3.0 [esphome#7121](https://github.com/esphome/esphome/pull/7121) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-buildx-action from 3.4.0 to 3.5.0 [esphome#7122](https://github.com/esphome/esphome/pull/7122) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [fan] fix initial FanCall to properly set speed [esphome#7113](https://github.com/esphome/esphome/pull/7113) by [@kr0ner](https://github.com/kr0ner)
- Added ruff to pre-commit hooks [esphome#7124](https://github.com/esphome/esphome/pull/7124) by [@clydebarrow](https://github.com/clydebarrow)
- Update webserver local assets to 20240724-013115 [esphome#7126](https://github.com/esphome/esphome/pull/7126) by [@esphomebot](https://github.com/esphomebot)
- [http_request] Allow configure buffer size on ESP-IDF [esphome#7125](https://github.com/esphome/esphome/pull/7125) by [@dentra](https://github.com/dentra)
- Give more info on import errors. [esphome#7128](https://github.com/esphome/esphome/pull/7128) by [@clydebarrow](https://github.com/clydebarrow)
- [lvgl] base implementation [esphome#7116](https://github.com/esphome/esphome/pull/7116) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Bump aioesphomeapi to 24.6.2 and cryptography to 43.0.0 [esphome#7131](https://github.com/esphome/esphome/pull/7131) by [@bdraco](https://github.com/bdraco)
- [dependabot] Group docker action bumps into single PR [esphome#7133](https://github.com/esphome/esphome/pull/7133) by [@jesserockz](https://github.com/jesserockz)
- Add ``--version`` handler to cli [esphome#7150](https://github.com/esphome/esphome/pull/7150) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise ethernet related imports [esphome#7152](https://github.com/esphome/esphome/pull/7152) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise wifi related imports [esphome#7153](https://github.com/esphome/esphome/pull/7153) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise core imports [esphome#7149](https://github.com/esphome/esphome/pull/7149) by [@jesserockz](https://github.com/jesserockz)
- Remove deprecated argument parser [esphome#7151](https://github.com/esphome/esphome/pull/7151) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Move ``CONF_ON_ERROR`` to const.py [esphome#7156](https://github.com/esphome/esphome/pull/7156) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise esp32 imports [esphome#7154](https://github.com/esphome/esphome/pull/7154) by [@jesserockz](https://github.com/jesserockz)
- Add microAmp and milliAmp to defined units [esphome#7157](https://github.com/esphome/esphome/pull/7157) by [@FreeBear-nc](https://github.com/FreeBear-nc)
- Bump docker/setup-buildx-action from 3.5.0 to 3.6.1 in the docker-actions group [esphome#7159](https://github.com/esphome/esphome/pull/7159) by [@dependabot[bot]](https://github.com/apps/dependabot)
- LVGL stage 2 [esphome#7129](https://github.com/esphome/esphome/pull/7129) by [@clydebarrow](https://github.com/clydebarrow)
- [pid] Add get_min_integral() and get_max_integral() [esphome#7162](https://github.com/esphome/esphome/pull/7162) by [@FreeBear-nc](https://github.com/FreeBear-nc)
- [code-quality] Organise bluetooth related imports [esphome#7155](https://github.com/esphome/esphome/pull/7155) by [@jesserockz](https://github.com/jesserockz)
- http_request watchdog as a component [esphome#7161](https://github.com/esphome/esphome/pull/7161) by [@oarcher](https://github.com/oarcher)
- [touchscreen] Allow binary sensor to have multiple pages in config [esphome#7112](https://github.com/esphome/esphome/pull/7112) by [@jesserockz](https://github.com/jesserockz)
- [matrix_keypad] Add `pin->setup()` to rows and cols [esphome#7163](https://github.com/esphome/esphome/pull/7163) by [@AAllport](https://github.com/AAllport)
- [update] Implement ``update.perform`` action and ``update.is_available`` condition [esphome#7165](https://github.com/esphome/esphome/pull/7165) by [@jesserockz](https://github.com/jesserockz) (new-feature)
- [lvgl] PR stage 3 [esphome#7160](https://github.com/esphome/esphome/pull/7160) by [@clydebarrow](https://github.com/clydebarrow)
- [api] ``homeassistant.action`` replaces ``homeassistant.service`` [esphome#7171](https://github.com/esphome/esphome/pull/7171) by [@jesserockz](https://github.com/jesserockz)
- ade7953_spi wrong size specified in read_array call [esphome#7172](https://github.com/esphome/esphome/pull/7172) by [@SimoPk](https://github.com/SimoPk)
- Bump improv library to 1.2.4 [esphome#7174](https://github.com/esphome/esphome/pull/7174) by [@jesserockz](https://github.com/jesserockz)
- Implement 'round to nearest multiple' filter [esphome#7142](https://github.com/esphome/esphome/pull/7142) by [@MrEbbinghaus](https://github.com/MrEbbinghaus)
- git ignore managed_components [esphome#7180](https://github.com/esphome/esphome/pull/7180) by [@oarcher](https://github.com/oarcher)
- [core] Eliminate nuisance messages from `build_codeowners` [esphome#7185](https://github.com/esphome/esphome/pull/7185) by [@clydebarrow](https://github.com/clydebarrow)
- [code-quality] More portable shebangs [esphome#7189](https://github.com/esphome/esphome/pull/7189) by [@jesserockz](https://github.com/jesserockz)
- Add support for doing update entity refresh/check via API. [esphome#7190](https://github.com/esphome/esphome/pull/7190) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Stage 4 [esphome#7166](https://github.com/esphome/esphome/pull/7166) by [@clydebarrow](https://github.com/clydebarrow)
- [esp32_improv] Update Improv library to reference new repo/version [esphome#7195](https://github.com/esphome/esphome/pull/7195) by [@kahrendt](https://github.com/kahrendt)
- hydreon_rgxx: Fix parsing of data line [esphome#7192](https://github.com/esphome/esphome/pull/7192) by [@domob1812](https://github.com/domob1812)
- Remove outdated version block [esphome#7177](https://github.com/esphome/esphome/pull/7177) by [@tomaszduda23](https://github.com/tomaszduda23)
- [lvgl] Stage 5 [esphome#7191](https://github.com/esphome/esphome/pull/7191) by [@clydebarrow](https://github.com/clydebarrow)
- socket: socket::set_sockaddr() for IPv4 addresses in IPv6 builds [esphome#7196](https://github.com/esphome/esphome/pull/7196) by [@dwmw2](https://github.com/dwmw2)
- Adds MQTT component to Alarm Control panel component [esphome#7188](https://github.com/esphome/esphome/pull/7188) by [@heythisisnate](https://github.com/heythisisnate)
- [lvgl] Final stage [esphome#7184](https://github.com/esphome/esphome/pull/7184) by [@clydebarrow](https://github.com/clydebarrow)
- Move ``CONF_BACKGROUND_COLOR`` and ``CONF_FOREGROUND_COLOR`` to const.py [esphome#7202](https://github.com/esphome/esphome/pull/7202) by [@jesserockz](https://github.com/jesserockz)
- [helpers] Set default flags of ExternalRAMAllocator to ALLOW_FAILURE [esphome#7201](https://github.com/esphome/esphome/pull/7201) by [@jesserockz](https://github.com/jesserockz)
- Add runtime online image support [esphome#4710](https://github.com/esphome/esphome/pull/4710) by [@guillempages](https://github.com/guillempages) (new-integration)
- Update i2s_audio_speaker.cppi2s_audio/speaker: Fix fallthrough compiler warning [esphome#7167](https://github.com/esphome/esphome/pull/7167) by [@Mimoja](https://github.com/Mimoja)
- Move CONF_ITEMS/CONF_FONT/CONF_TEXT to const.py [esphome#7204](https://github.com/esphome/esphome/pull/7204) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Fix compile error when using encoder with buttons only. [esphome#7203](https://github.com/esphome/esphome/pull/7203) by [@clydebarrow](https://github.com/clydebarrow)
- Revert "Add null GPIO pin " [esphome#6621](https://github.com/esphome/esphome/pull/6621) by [@jesserockz](https://github.com/jesserockz)
- [remote_transmitter] Change default carrier_frequency to valid value [esphome#7176](https://github.com/esphome/esphome/pull/7176) by [@iannisimo](https://github.com/iannisimo)
- [code-quality] Organise script imports [esphome#7198](https://github.com/esphome/esphome/pull/7198) by [@jesserockz](https://github.com/jesserockz)
- [max31856] Use cv.frequency as validator [esphome#7212](https://github.com/esphome/esphome/pull/7212) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise base entities imports [esphome#7208](https://github.com/esphome/esphome/pull/7208) by [@tomaszduda23](https://github.com/tomaszduda23)
- [spi] Remove ``SPIDelegateDummy`` [esphome#7215](https://github.com/esphome/esphome/pull/7215) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Apply ruff linting suggestions [esphome#7206](https://github.com/esphome/esphome/pull/7206) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Organise logger imports [esphome#7205](https://github.com/esphome/esphome/pull/7205) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Apply ruff linting suggestions to core [esphome#7207](https://github.com/esphome/esphome/pull/7207) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy sprinkler [esphome#7222](https://github.com/esphome/esphome/pull/7222) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] __attribute__((packed)) [esphome#7221](https://github.com/esphome/esphome/pull/7221) by [@tomaszduda23](https://github.com/tomaszduda23)
- hx711: Check for DOUT going high after a reading [esphome#7214](https://github.com/esphome/esphome/pull/7214) by [@dwmw2](https://github.com/dwmw2)
- [mqtt] Add extended device info [esphome#7194](https://github.com/esphome/esphome/pull/7194) by [@dentra](https://github.com/dentra)
- [code-quality] NOLINT readability-identifier-naming [esphome#7220](https://github.com/esphome/esphome/pull/7220) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Organise time imports [esphome#7219](https://github.com/esphome/esphome/pull/7219) by [@tomaszduda23](https://github.com/tomaszduda23)
- [lvgl] Fix set state on updates [esphome#7227](https://github.com/esphome/esphome/pull/7227) by [@clydebarrow](https://github.com/clydebarrow)
- add missing override [esphome#7231](https://github.com/esphome/esphome/pull/7231) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add text_align_to_string [esphome#7243](https://github.com/esphome/esphome/pull/7243) by [@MrMDavidson](https://github.com/MrMDavidson)
- [sml] Fixed crashing sml parser [esphome#7235](https://github.com/esphome/esphome/pull/7235) by [@eNBeWe](https://github.com/eNBeWe)
- Allow project name and version as improv_serial identity [esphome#7248](https://github.com/esphome/esphome/pull/7248) by [@AzonInc](https://github.com/AzonInc)
- [lvgl] Implement default group for encoders [esphome#7242](https://github.com/esphome/esphome/pull/7242) by [@clydebarrow](https://github.com/clydebarrow)
- [bme68x_bsec2_i2c] BME68X Temperature+Pressure+Humidity+Gas Sensor via BSEC2 [esphome#4585](https://github.com/esphome/esphome/pull/4585) by [@neffs](https://github.com/neffs) (new-integration)
- [code-quality] clang-tidy media_player [esphome#7238](https://github.com/esphome/esphome/pull/7238) by [@tomaszduda23](https://github.com/tomaszduda23)
- Bump docker/build-push-action from 6.5.0 to 6.6.1 in /.github/actions/build-image [esphome#7232](https://github.com/esphome/esphome/pull/7232) by [@dependabot[bot]](https://github.com/apps/dependabot)
- fix build error [esphome#7229](https://github.com/esphome/esphome/pull/7229) by [@tomaszduda23](https://github.com/tomaszduda23)
- adjust to new python pre-commit hooks [esphome#7178](https://github.com/esphome/esphome/pull/7178) by [@tomaszduda23](https://github.com/tomaszduda23)
- add windows script/setup.bat [esphome#7140](https://github.com/esphome/esphome/pull/7140) by [@nielsnl68](https://github.com/nielsnl68)
- [code-quality] add NOLINT haier_base [esphome#7236](https://github.com/esphome/esphome/pull/7236) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] clang-tidy bedjet [esphome#7251](https://github.com/esphome/esphome/pull/7251) by [@tomaszduda23](https://github.com/tomaszduda23)
- fix name conflict with zephyr macro [esphome#7252](https://github.com/esphome/esphome/pull/7252) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Apply ruff linting suggestions [esphome#7239](https://github.com/esphome/esphome/pull/7239) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add support for LYWSD02MMC Xiaomi device [esphome#7080](https://github.com/esphome/esphome/pull/7080) by [@juanluss31](https://github.com/juanluss31) (new-integration)
- [code-quality] fix clang-tidy web server [esphome#7230](https://github.com/esphome/esphome/pull/7230) by [@tomaszduda23](https://github.com/tomaszduda23)
- [test][web_server] Rejig test for v3 [esphome#7110](https://github.com/esphome/esphome/pull/7110) by [@RFDarter](https://github.com/RFDarter)
- [api] Error log when NONE Update command is sent [esphome#7247](https://github.com/esphome/esphome/pull/7247) by [@oarcher](https://github.com/oarcher)
- [api] Add new flag to request state/attribute once from HA only [esphome#7258](https://github.com/esphome/esphome/pull/7258) by [@jesserockz](https://github.com/jesserockz)
- [homeassistant] Add ``HOME_ASSISTANT_IMPORT_CONTROL_SCHEMA`` [esphome#7259](https://github.com/esphome/esphome/pull/7259) by [@jesserockz](https://github.com/jesserockz)
- [const] Add some units for future use and adjust case [esphome#7260](https://github.com/esphome/esphome/pull/7260) by [@nkinnan](https://github.com/nkinnan)
- [online_image] add option to show placeholder while downloading [esphome#7083](https://github.com/esphome/esphome/pull/7083) by [@guillempages](https://github.com/guillempages)
- [lvgl] Add initial_focus for encoders [esphome#7256](https://github.com/esphome/esphome/pull/7256) by [@clydebarrow](https://github.com/clydebarrow)
- [code-quality] fix order in esphome/const.py [esphome#7267](https://github.com/esphome/esphome/pull/7267) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy network [esphome#7266](https://github.com/esphome/esphome/pull/7266) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy core optional [esphome#7265](https://github.com/esphome/esphome/pull/7265) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Fix variable naming in base_light_effects [esphome#7237](https://github.com/esphome/esphome/pull/7237) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy mqtt [esphome#7253](https://github.com/esphome/esphome/pull/7253) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy wifi related [esphome#7254](https://github.com/esphome/esphome/pull/7254) by [@tomaszduda23](https://github.com/tomaszduda23)
- Bump docker/build-push-action from 6.6.1 to 6.7.0 in /.github/actions/build-image [esphome#7269](https://github.com/esphome/esphome/pull/7269) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [CI] Dont run full CI on ``build-image`` action changes [esphome#7270](https://github.com/esphome/esphome/pull/7270) by [@jesserockz](https://github.com/jesserockz)
- Implement ByteBuffer [esphome#6878](https://github.com/esphome/esphome/pull/6878) by [@clydebarrow](https://github.com/clydebarrow)
- Add min and max brightness parameters for Light dim_relative Action [esphome#6971](https://github.com/esphome/esphome/pull/6971) by [@PaoloTK](https://github.com/PaoloTK)
- [homeassistant] Native switch entity import and control [esphome#7018](https://github.com/esphome/esphome/pull/7018) by [@Links2004](https://github.com/Links2004) (new-platform)
- [homeassistant] Native number entity import and control [esphome#6455](https://github.com/esphome/esphome/pull/6455) by [@landonr](https://github.com/landonr) (new-platform)
- [lvgl] Rework events to avoid feedback loops [esphome#7262](https://github.com/esphome/esphome/pull/7262) by [@clydebarrow](https://github.com/clydebarrow)
- Add `color_filter_opa` style property [esphome#7276](https://github.com/esphome/esphome/pull/7276) by [@clydebarrow](https://github.com/clydebarrow)
- [code-quality] fix clang-tidy wake_on_lan [esphome#7275](https://github.com/esphome/esphome/pull/7275) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix readability-braces-around-statements [esphome#7273](https://github.com/esphome/esphome/pull/7273) by [@tomaszduda23](https://github.com/tomaszduda23)
- [mqtt] fix missing initializer in MQTTClientComponent::disable_discovery [esphome#7271](https://github.com/esphome/esphome/pull/7271) by [@oarcher](https://github.com/oarcher)
- [code-quality] fix readability-named-parameter [esphome#7272](https://github.com/esphome/esphome/pull/7272) by [@tomaszduda23](https://github.com/tomaszduda23)
- support illuminance for airthings wave plus device [esphome#5203](https://github.com/esphome/esphome/pull/5203) by [@MadMonkey87](https://github.com/MadMonkey87)
- [micro_wake_word] Bump ESPMicroSpeechFeatures version to 1.1.0 [esphome#7249](https://github.com/esphome/esphome/pull/7249) by [@kahrendt](https://github.com/kahrendt)
- Implement the finish() method and action. implement the is_stopped condition [esphome#7255](https://github.com/esphome/esphome/pull/7255) by [@nielsnl68](https://github.com/nielsnl68)
- Correct offset calibration [esphome#7228](https://github.com/esphome/esphome/pull/7228) by [@descipher](https://github.com/descipher) (new-platform)
- remove extra number from pronto [esphome#7263](https://github.com/esphome/esphome/pull/7263) by [@ssieb](https://github.com/ssieb)
- [api] Bump noise-c library version [esphome#7288](https://github.com/esphome/esphome/pull/7288) by [@clydebarrow](https://github.com/clydebarrow)
- fix some small rtttl issues [esphome#6817](https://github.com/esphome/esphome/pull/6817) by [@nielsnl68](https://github.com/nielsnl68)
- Fix overflow in ESPColorCorrection object [esphome#7268](https://github.com/esphome/esphome/pull/7268) by [@g-kiss](https://github.com/g-kiss)
- [validation] Allow ``maybe_simple_value`` to not have default key in complex value [esphome#7294](https://github.com/esphome/esphome/pull/7294) by [@jesserockz](https://github.com/jesserockz)
- [network] Always allow ``enable_ipv6: false`` [esphome#7291](https://github.com/esphome/esphome/pull/7291) by [@dwmw2](https://github.com/dwmw2)
- Revert "[validation] Allow ``maybe_simple_value`` to not have default key in complex value" [esphome#7305](https://github.com/esphome/esphome/pull/7305) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Bug fixes [esphome#7300](https://github.com/esphome/esphome/pull/7300) by [@clydebarrow](https://github.com/clydebarrow)
- [speaker] Fix header includes [esphome#7304](https://github.com/esphome/esphome/pull/7304) by [@nielsnl68](https://github.com/nielsnl68)
- [microphone] Fix header includes [esphome#7310](https://github.com/esphome/esphome/pull/7310) by [@jesserockz](https://github.com/jesserockz)
- Fix RP2040 Neopixel flickering issue [esphome#7307](https://github.com/esphome/esphome/pull/7307) by [@deCodeIt](https://github.com/deCodeIt)
- add the ability to add more idf components to an existing setup [esphome#7302](https://github.com/esphome/esphome/pull/7302) by [@nielsnl68](https://github.com/nielsnl68)
- Fix waveshare 2.13" epaper stride calculation error [esphome#7303](https://github.com/esphome/esphome/pull/7303) by [@serialx](https://github.com/serialx)
- [rtttl] fix STOPPED state [esphome#7323](https://github.com/esphome/esphome/pull/7323) by [@NewoPL](https://github.com/NewoPL)

View File

@@ -32,7 +32,7 @@ backup_exclude:
init: false
startup: services
name: ESPHome (beta)
version: 2023.12.0
version: 2024.8.0
slug: esphome-beta
description: Beta version of ESPHome add-on
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
startup: services
name: ESPHome (dev)
version: dev
version: 2024.9.0-dev20240821
slug: esphome-dev
description: Development version of ESPHome add-on
image: ghcr.io/esphome/esphome-hassio
stage: experimental
advanced: true
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,195 +1,194 @@
## 2023.12.0
## 2024.8.0
## Full list of changes
### New Features
- [update] Implement ``update.perform`` action and ``update.is_available`` condition [esphome#7165](https://github.com/esphome/esphome/pull/7165) by [@jesserockz](https://github.com/jesserockz) (new-feature)
### New Components
- Add ENS160 Sensor [esphome#4243](https://github.com/esphome/esphome/pull/4243) by [@vincentscode](https://github.com/vincentscode) (new-integration)
- Create GT911 Touchscreen component [esphome#4027](https://github.com/esphome/esphome/pull/4027) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Pylontech integration (solar battery bank) [esphome#4688](https://github.com/esphome/esphome/pull/4688) by [@functionpointer](https://github.com/functionpointer) (new-integration)
- Add Chamberlain/HomEntry HE60R garage door opener [esphome#5834](https://github.com/esphome/esphome/pull/5834) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Add graphical display menu [esphome#4105](https://github.com/esphome/esphome/pull/4105) by [@MrMDavidson](https://github.com/MrMDavidson) (new-integration)
- Updating the touchscreen interface structure [esphome#4596](https://github.com/esphome/esphome/pull/4596) by [@nielsnl68](https://github.com/nielsnl68) (new-integration) (breaking-change)
- Added the A02YYUW distance sensor [esphome#5729](https://github.com/esphome/esphome/pull/5729) by [@TH-Braemer](https://github.com/TH-Braemer) (new-integration)
- Add support for PN7160 [esphome#5486](https://github.com/esphome/esphome/pull/5486) by [@kbx81](https://github.com/kbx81) (new-integration)
- Add support for PN7150 [esphome#5487](https://github.com/esphome/esphome/pull/5487) by [@kbx81](https://github.com/kbx81) (new-integration)
- Feature/m5angle8: Add support for m5angle8 input device [esphome#6799](https://github.com/esphome/esphome/pull/6799) by [@rnauber](https://github.com/rnauber) (new-integration)
- APDS9306 Ambient Light Sensor [esphome#6709](https://github.com/esphome/esphome/pull/6709) by [@aodrenah](https://github.com/aodrenah) (new-integration)
- [lvgl] base implementation [esphome#7116](https://github.com/esphome/esphome/pull/7116) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Add runtime online image support [esphome#4710](https://github.com/esphome/esphome/pull/4710) by [@guillempages](https://github.com/guillempages) (new-integration)
- [bme68x_bsec2_i2c] BME68X Temperature+Pressure+Humidity+Gas Sensor via BSEC2 [esphome#4585](https://github.com/esphome/esphome/pull/4585) by [@neffs](https://github.com/neffs) (new-integration)
- Add support for LYWSD02MMC Xiaomi device [esphome#7080](https://github.com/esphome/esphome/pull/7080) by [@juanluss31](https://github.com/juanluss31) (new-integration)
### New Platforms
- [homeassistant] Native switch entity import and control [esphome#7018](https://github.com/esphome/esphome/pull/7018) by [@Links2004](https://github.com/Links2004) (new-platform)
- [homeassistant] Native number entity import and control [esphome#6455](https://github.com/esphome/esphome/pull/6455) by [@landonr](https://github.com/landonr) (new-platform)
- Correct offset calibration [esphome#7228](https://github.com/esphome/esphome/pull/7228) by [@descipher](https://github.com/descipher) (new-platform)
### Breaking Changes
- Add proper support for SH1107 to SSD1306 component [esphome#5166](https://github.com/esphome/esphome/pull/5166) by [@nikitakuklev](https://github.com/nikitakuklev) (breaking-change)
- sen5x fix temperature compensation and gas tuning [esphome#4901](https://github.com/esphome/esphome/pull/4901) by [@matt7aylor](https://github.com/matt7aylor) (breaking-change)
- Ensure names containing characters other than `a-z` `A-Z` `0-9` or `_` are unique [esphome#5810](https://github.com/esphome/esphome/pull/5810) by [@bdraco](https://github.com/bdraco) (breaking-change)
- mcp3008: Tidy up and fix auto load bug [esphome#5842](https://github.com/esphome/esphome/pull/5842) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Nextion colors parameters [esphome#5699](https://github.com/esphome/esphome/pull/5699) by [@edwardtfn](https://github.com/edwardtfn) (breaking-change)
- Checks for pins used in multiple places [esphome#5666](https://github.com/esphome/esphome/pull/5666) by [@clydebarrow](https://github.com/clydebarrow) (breaking-change)
- Updating the touchscreen interface structure [esphome#4596](https://github.com/esphome/esphome/pull/4596) by [@nielsnl68](https://github.com/nielsnl68) (new-integration) (breaking-change)
- Remove deprecated argument parser [esphome#7151](https://github.com/esphome/esphome/pull/7151) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
### Beta Changes
- Allow use of CDC/JTAG loggers on esp32 variants with Arduino [esphome#4658](https://github.com/esphome/esphome/pull/4658) by [@jesserockz](https://github.com/jesserockz)
- [Logger] ESP32 S3 serial logger [esphome#4853](https://github.com/esphome/esphome/pull/4853) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Support toggle action for template cover [esphome#5917](https://github.com/esphome/esphome/pull/5917) by [@jochenvg](https://github.com/jochenvg)
- Fix SplitDefault with variants [esphome#5928](https://github.com/esphome/esphome/pull/5928) by [@jesserockz](https://github.com/jesserockz)
- Update ENS160 TVOC device_class and AQI units to match required by HA [esphome#5939](https://github.com/esphome/esphome/pull/5939) by [@mrtoy-me](https://github.com/mrtoy-me)
- Bump zeroconf from 0.128.4 to 0.130.0 [esphome#5950](https://github.com/esphome/esphome/pull/5950) by [@dependabot[bot]](https://github.com/apps/dependabot)
- UARTComponent inline doc [esphome#5930](https://github.com/esphome/esphome/pull/5930) by [@edwardtfn](https://github.com/edwardtfn)
- Fix - Tuya Fan - Allow integer speed datapoint [esphome#5948](https://github.com/esphome/esphome/pull/5948) by [@cram42](https://github.com/cram42)
- i2s_audio: Set player_task's prio to 1 [esphome#5945](https://github.com/esphome/esphome/pull/5945) by [@gaaf](https://github.com/gaaf)
- esp32_camera: Set framebuffer task prio to 1 [esphome#5943](https://github.com/esphome/esphome/pull/5943) by [@gaaf](https://github.com/gaaf)
- web_server_idf: fix call with hardcoded http code [esphome#5942](https://github.com/esphome/esphome/pull/5942) by [@dentra](https://github.com/dentra)
- Revert pure virtual functions in UART component from #5920 [esphome#5932](https://github.com/esphome/esphome/pull/5932) by [@DrCoolzic](https://github.com/DrCoolzic)
- Use the correct UART/`Serial` when CDC is enabled [esphome#5957](https://github.com/esphome/esphome/pull/5957) by [@kbx81](https://github.com/kbx81)
- rename set_raw_touch_position_ to add_raw_touch_position_ [esphome#5962](https://github.com/esphome/esphome/pull/5962) by [@nielsnl68](https://github.com/nielsnl68)
- Fix build issue with UART component when building with Arduino and CDC [esphome#5964](https://github.com/esphome/esphome/pull/5964) by [@kbx81](https://github.com/kbx81)
- Fix I2CBus::write() bug and add i2c documentation [esphome#5947](https://github.com/esphome/esphome/pull/5947) by [@DrCoolzic](https://github.com/DrCoolzic)
- Add deep sleep between updates for waveshare epaper 1.54in and 1.54inv2 [esphome#5961](https://github.com/esphome/esphome/pull/5961) by [@mathieu-mp](https://github.com/mathieu-mp)
- Speed up writing protobuf strings/bytes [esphome#5828](https://github.com/esphome/esphome/pull/5828) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi to 21.0.1 [esphome#5969](https://github.com/esphome/esphome/pull/5969) by [@bdraco](https://github.com/bdraco)
- image: allow the image to by auto-loaded by animation [esphome#5139](https://github.com/esphome/esphome/pull/5139) by [@ayufan](https://github.com/ayufan)
- Fix pin reuse error with pin expanders [esphome#5973](https://github.com/esphome/esphome/pull/5973) by [@jesserockz](https://github.com/jesserockz)
- remove extra number from pronto [esphome#7263](https://github.com/esphome/esphome/pull/7263) by [@ssieb](https://github.com/ssieb)
- [api] Bump noise-c library version [esphome#7288](https://github.com/esphome/esphome/pull/7288) by [@clydebarrow](https://github.com/clydebarrow)
- fix some small rtttl issues [esphome#6817](https://github.com/esphome/esphome/pull/6817) by [@nielsnl68](https://github.com/nielsnl68)
- Fix overflow in ESPColorCorrection object [esphome#7268](https://github.com/esphome/esphome/pull/7268) by [@g-kiss](https://github.com/g-kiss)
- [validation] Allow ``maybe_simple_value`` to not have default key in complex value [esphome#7294](https://github.com/esphome/esphome/pull/7294) by [@jesserockz](https://github.com/jesserockz)
- [network] Always allow ``enable_ipv6: false`` [esphome#7291](https://github.com/esphome/esphome/pull/7291) by [@dwmw2](https://github.com/dwmw2)
- Revert "[validation] Allow ``maybe_simple_value`` to not have default key in complex value" [esphome#7305](https://github.com/esphome/esphome/pull/7305) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Bug fixes [esphome#7300](https://github.com/esphome/esphome/pull/7300) by [@clydebarrow](https://github.com/clydebarrow)
- [speaker] Fix header includes [esphome#7304](https://github.com/esphome/esphome/pull/7304) by [@nielsnl68](https://github.com/nielsnl68)
- [microphone] Fix header includes [esphome#7310](https://github.com/esphome/esphome/pull/7310) by [@jesserockz](https://github.com/jesserockz)
- Fix RP2040 Neopixel flickering issue [esphome#7307](https://github.com/esphome/esphome/pull/7307) by [@deCodeIt](https://github.com/deCodeIt)
- add the ability to add more idf components to an existing setup [esphome#7302](https://github.com/esphome/esphome/pull/7302) by [@nielsnl68](https://github.com/nielsnl68)
- Fix waveshare 2.13" epaper stride calculation error [esphome#7303](https://github.com/esphome/esphome/pull/7303) by [@serialx](https://github.com/serialx)
- [rtttl] fix STOPPED state [esphome#7323](https://github.com/esphome/esphome/pull/7323) by [@NewoPL](https://github.com/NewoPL)
### All changes
- Nextion support to `esp-idf` [esphome#5667](https://github.com/esphome/esphome/pull/5667) by [@edwardtfn](https://github.com/edwardtfn)
- fix pin range for xl9535 [esphome#5722](https://github.com/esphome/esphome/pull/5722) by [@ssieb](https://github.com/ssieb)
- Bump black from 23.10.1 to 23.11.0 [esphome#5702](https://github.com/esphome/esphome/pull/5702) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Speed up YAML by using YAML C loader when available [esphome#5721](https://github.com/esphome/esphome/pull/5721) by [@bdraco](https://github.com/bdraco)
- Bump Arduino Pico Framework to 3.6.0 and Platform to 1.10.0 [esphome#5731](https://github.com/esphome/esphome/pull/5731) by [@HeMan](https://github.com/HeMan)
- Correct url for Arduino platform [esphome#5744](https://github.com/esphome/esphome/pull/5744) by [@HeMan](https://github.com/HeMan)
- remote_base: added helper class and schemas [esphome#5169](https://github.com/esphome/esphome/pull/5169) by [@dudanov](https://github.com/dudanov)
- Bump zeroconf from 0.123.0 to 0.126.0 [esphome#5748](https://github.com/esphome/esphome/pull/5748) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Make precommit checks happy [esphome#5751](https://github.com/esphome/esphome/pull/5751) by [@HeMan](https://github.com/HeMan)
- dashboard: Use mdns cache when available if device connection is OTA [esphome#5724](https://github.com/esphome/esphome/pull/5724) by [@bdraco](https://github.com/bdraco)
- Speed up OTAs [esphome#5720](https://github.com/esphome/esphome/pull/5720) by [@bdraco](https://github.com/bdraco)
- dashboard: convert ping thread to use asyncio [esphome#5749](https://github.com/esphome/esphome/pull/5749) by [@bdraco](https://github.com/bdraco)
- dashboard: Break apart dashboard into separate modules [esphome#5764](https://github.com/esphome/esphome/pull/5764) by [@bdraco](https://github.com/bdraco)
- dashboard: split dashboard web server code into its own module [esphome#5770](https://github.com/esphome/esphome/pull/5770) by [@bdraco](https://github.com/bdraco)
- Bump zeroconf from 0.126.0 to 0.127.0 [esphome#5768](https://github.com/esphome/esphome/pull/5768) by [@dependabot[bot]](https://github.com/apps/dependabot)
- dashboard: fix subprocesses blocking the event loop [esphome#5772](https://github.com/esphome/esphome/pull/5772) by [@bdraco](https://github.com/bdraco)
- dashboard: use fastest available yaml loader in the dashboard [esphome#5771](https://github.com/esphome/esphome/pull/5771) by [@bdraco](https://github.com/bdraco)
- dashboard: Centralize dashboard entries into DashboardEntries class [esphome#5774](https://github.com/esphome/esphome/pull/5774) by [@bdraco](https://github.com/bdraco)
- Pass the name to the log runner when available [esphome#5759](https://github.com/esphome/esphome/pull/5759) by [@bdraco](https://github.com/bdraco)
- Add proper support for SH1107 to SSD1306 component [esphome#5166](https://github.com/esphome/esphome/pull/5166) by [@nikitakuklev](https://github.com/nikitakuklev) (breaking-change)
- Split release workflow jobs per system arch [esphome#5723](https://github.com/esphome/esphome/pull/5723) by [@jesserockz](https://github.com/jesserockz)
- Bump aioesphomeapi to 18.5.3 [esphome#5785](https://github.com/esphome/esphome/pull/5785) by [@bdraco](https://github.com/bdraco)
- Refactor log api client to let aioesphomeapi manage zeroconf [esphome#5783](https://github.com/esphome/esphome/pull/5783) by [@bdraco](https://github.com/bdraco)
- dashboard: Add support for firing events [esphome#5775](https://github.com/esphome/esphome/pull/5775) by [@bdraco](https://github.com/bdraco)
- dashboard: Ensure disk I/O happens in the executor [esphome#5789](https://github.com/esphome/esphome/pull/5789) by [@bdraco](https://github.com/bdraco)
- dashboard: Add lookup by name to entries [esphome#5790](https://github.com/esphome/esphome/pull/5790) by [@bdraco](https://github.com/bdraco)
- Refactor StorageJSON to keep loaded_integrations a set until its converted to JSON [esphome#5793](https://github.com/esphome/esphome/pull/5793) by [@bdraco](https://github.com/bdraco)
- wifi: Don't build SoftAP/DHCPS support unless 'ap' is in config. [esphome#5649](https://github.com/esphome/esphome/pull/5649) by [@kpfleming](https://github.com/kpfleming)
- ssd1306: handle V_COM differently for SH1106 [esphome#5796](https://github.com/esphome/esphome/pull/5796) by [@papillon81](https://github.com/papillon81)
- Bump aioesphomeapi from 18.5.3 to 18.5.5 [esphome#5804](https://github.com/esphome/esphome/pull/5804) by [@dependabot[bot]](https://github.com/apps/dependabot)
- dashboard: Fix online status when api is disabled [esphome#5792](https://github.com/esphome/esphome/pull/5792) by [@bdraco](https://github.com/bdraco)
- Haier component updated to support new protocol variations [esphome#5713](https://github.com/esphome/esphome/pull/5713) by [@paveldn](https://github.com/paveldn)
- sen5x fix temperature compensation and gas tuning [esphome#4901](https://github.com/esphome/esphome/pull/4901) by [@matt7aylor](https://github.com/matt7aylor) (breaking-change)
- Add startup_delay to interval. [esphome#5327](https://github.com/esphome/esphome/pull/5327) by [@clydebarrow](https://github.com/clydebarrow)
- Pillow: bump to 10.1.0 [esphome#5815](https://github.com/esphome/esphome/pull/5815) by [@hostcc](https://github.com/hostcc)
- dashboard: set nodelay on the websocket to avoid a delay seeing log messages [esphome#5802](https://github.com/esphome/esphome/pull/5802) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi from 18.5.5 to 18.5.7 [esphome#5822](https://github.com/esphome/esphome/pull/5822) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Ensure names containing characters other than `a-z` `A-Z` `0-9` or `_` are unique [esphome#5810](https://github.com/esphome/esphome/pull/5810) by [@bdraco](https://github.com/bdraco) (breaking-change)
- Add ENS160 Sensor [esphome#4243](https://github.com/esphome/esphome/pull/4243) by [@vincentscode](https://github.com/vincentscode) (new-integration)
- Bump actions/github-script from 6.4.1 to 7.0.1 [esphome#5803](https://github.com/esphome/esphome/pull/5803) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Run all tests when local testing. [esphome#5717](https://github.com/esphome/esphome/pull/5717) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Bump aioesphomeapi from 18.5.7 to 18.5.9 [esphome#5830](https://github.com/esphome/esphome/pull/5830) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Allow split uart pin inversion for ESP-IDF [esphome#5831](https://github.com/esphome/esphome/pull/5831) by [@clydebarrow](https://github.com/clydebarrow)
- Add `is_detected()` for Nextion displays [esphome#5825](https://github.com/esphome/esphome/pull/5825) by [@edwardtfn](https://github.com/edwardtfn)
- Pull PollingComponent up from individual display drivers to Display. [esphome#5444](https://github.com/esphome/esphome/pull/5444) by [@clydebarrow](https://github.com/clydebarrow)
- Implement variable length single word SPI writes. [esphome#5678](https://github.com/esphome/esphome/pull/5678) by [@clydebarrow](https://github.com/clydebarrow)
- Add 'enable_on_boot' feature to power_supply [esphome#5826](https://github.com/esphome/esphome/pull/5826) by [@clydebarrow](https://github.com/clydebarrow)
- mcp3008: Tidy up and fix auto load bug [esphome#5842](https://github.com/esphome/esphome/pull/5842) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Create GT911 Touchscreen component [esphome#4027](https://github.com/esphome/esphome/pull/4027) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Bump aioesphomeapi from 18.5.9 to 19.1.2 [esphome#5844](https://github.com/esphome/esphome/pull/5844) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Nextion - Standardizing log messages [esphome#5837](https://github.com/esphome/esphome/pull/5837) by [@edwardtfn](https://github.com/edwardtfn)
- dashboard: Small cleanups to dashboard [esphome#5841](https://github.com/esphome/esphome/pull/5841) by [@bdraco](https://github.com/bdraco)
- Pylontech integration (solar battery bank) [esphome#4688](https://github.com/esphome/esphome/pull/4688) by [@functionpointer](https://github.com/functionpointer) (new-integration)
- Implement deep sleep and clear screen on Waveshare 7.5in B V3 [esphome#5239](https://github.com/esphome/esphome/pull/5239) by [@lucasprim](https://github.com/lucasprim)
- Fix ESP-IDF uart initialisation sequence to match Espressif docs. [esphome#5838](https://github.com/esphome/esphome/pull/5838) by [@clydebarrow](https://github.com/clydebarrow)
- Nextion - Align strings on `dump_config` [esphome#5824](https://github.com/esphome/esphome/pull/5824) by [@edwardtfn](https://github.com/edwardtfn)
- Speed up (and fix) ili9xxx display component. [esphome#5406](https://github.com/esphome/esphome/pull/5406) by [@clydebarrow](https://github.com/clydebarrow)
- Fix regex for 'byte' custom CI check [esphome#5851](https://github.com/esphome/esphome/pull/5851) by [@jesserockz](https://github.com/jesserockz)
- Pass through additional arguments to create number [esphome#5849](https://github.com/esphome/esphome/pull/5849) by [@clydebarrow](https://github.com/clydebarrow)
- Nextion `on_touch` trigger [esphome#5833](https://github.com/esphome/esphome/pull/5833) by [@edwardtfn](https://github.com/edwardtfn)
- Nextion colors parameters [esphome#5699](https://github.com/esphome/esphome/pull/5699) by [@edwardtfn](https://github.com/edwardtfn) (breaking-change)
- dashboard: fix supervisor auth doing I/O in the event loop [esphome#5807](https://github.com/esphome/esphome/pull/5807) by [@bdraco](https://github.com/bdraco)
- Improve reliability of Nextion TFT uploads (Arduino) [esphome#5683](https://github.com/esphome/esphome/pull/5683) by [@edwardtfn](https://github.com/edwardtfn)
- Add Pro Check Universal sensor support. [esphome#5798](https://github.com/esphome/esphome/pull/5798) by [@spbrogan](https://github.com/spbrogan)
- Bump aioesphomeapi from 19.1.2 to 19.1.7 [esphome#5859](https://github.com/esphome/esphome/pull/5859) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Pn532 non blocking scan [esphome#5191](https://github.com/esphome/esphome/pull/5191) by [@sharkydog](https://github.com/sharkydog)
- Add Chamberlain/HomEntry HE60R garage door opener [esphome#5834](https://github.com/esphome/esphome/pull/5834) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Bump aioesphomeapi from 19.1.7 to 19.2.1 [esphome#5863](https://github.com/esphome/esphome/pull/5863) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump tornado from 6.3.3 to 6.4 [esphome#5862](https://github.com/esphome/esphome/pull/5862) by [@dependabot[bot]](https://github.com/apps/dependabot)
- add missing ifdef to pvvx_mithermometer [esphome#5880](https://github.com/esphome/esphome/pull/5880) by [@ssieb](https://github.com/ssieb)
- Fix un-initialized version string [esphome#5865](https://github.com/esphome/esphome/pull/5865) by [@descipher](https://github.com/descipher)
- fix a01nyub data reading [esphome#5882](https://github.com/esphome/esphome/pull/5882) by [@ssieb](https://github.com/ssieb)
- Bump pytest-asyncio from 0.21.1 to 0.23.2 [esphome#5888](https://github.com/esphome/esphome/pull/5888) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump zeroconf from 0.127.0 to 0.128.0 [esphome#5889](https://github.com/esphome/esphome/pull/5889) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pylint from 2.17.6 to 3.0.2 [esphome#5592](https://github.com/esphome/esphome/pull/5592) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump voluptuous from 0.13.1 to 0.14.1 [esphome#5784](https://github.com/esphome/esphome/pull/5784) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Security improvement: Support wifi ap_timeout=0s (disable) [esphome#5887](https://github.com/esphome/esphome/pull/5887) by [@fornellas](https://github.com/fornellas)
- Suppress full config output of "esphome config" when -q option is used. [esphome#5852](https://github.com/esphome/esphome/pull/5852) by [@clydebarrow](https://github.com/clydebarrow)
- Checks for pins used in multiple places [esphome#5666](https://github.com/esphome/esphome/pull/5666) by [@clydebarrow](https://github.com/clydebarrow) (breaking-change)
- Nextion support to idf with `cinttypes` [esphome#5876](https://github.com/esphome/esphome/pull/5876) by [@edwardtfn](https://github.com/edwardtfn)
- Fix test4.yaml after #5666 [esphome#5890](https://github.com/esphome/esphome/pull/5890) by [@kbx81](https://github.com/kbx81)
- Fix template text component length check [esphome#5881](https://github.com/esphome/esphome/pull/5881) by [@fornellas](https://github.com/fornellas)
- RC522 - Fix error counter error [esphome#5873](https://github.com/esphome/esphome/pull/5873) by [@kbx81](https://github.com/kbx81)
- feat(packages): support removing components [esphome#5821](https://github.com/esphome/esphome/pull/5821) by [@TMaYaD](https://github.com/TMaYaD)
- dashboard: Add some basic tests for the dashboard [esphome#5870](https://github.com/esphome/esphome/pull/5870) by [@bdraco](https://github.com/bdraco)
- Nextion exit reparse mode on startup [esphome#5868](https://github.com/esphome/esphome/pull/5868) by [@edwardtfn](https://github.com/edwardtfn)
- Bump aioesphomeapi from 19.2.1 to 19.3.0 [esphome#5895](https://github.com/esphome/esphome/pull/5895) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add framework info to Nextion log tags [esphome#5864](https://github.com/esphome/esphome/pull/5864) by [@edwardtfn](https://github.com/edwardtfn)
- Handle case where using enetity level name: None with MQTT [esphome#5897](https://github.com/esphome/esphome/pull/5897) by [@mtl010957](https://github.com/mtl010957)
- Bump actions/setup-python from 4.7.1 to 5.0.0 [esphome#5896](https://github.com/esphome/esphome/pull/5896) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump zeroconf from 0.128.0 to 0.128.4 [esphome#5906](https://github.com/esphome/esphome/pull/5906) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix 18 bit displays. [esphome#5908](https://github.com/esphome/esphome/pull/5908) by [@clydebarrow](https://github.com/clydebarrow)
- fix RGBW Mode on RP2040 [esphome#5907](https://github.com/esphome/esphome/pull/5907) by [@firegore](https://github.com/firegore)
- Add graphical display menu [esphome#4105](https://github.com/esphome/esphome/pull/4105) by [@MrMDavidson](https://github.com/MrMDavidson) (new-integration)
- Added on_image callback to ESP32 Cam [esphome#4860](https://github.com/esphome/esphome/pull/4860) by [@freekode](https://github.com/freekode)
- Bump actions/stale from 8.0.0 to 9.0.0 [esphome#5899](https://github.com/esphome/esphome/pull/5899) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pylint from 3.0.2 to 3.0.3 [esphome#5905](https://github.com/esphome/esphome/pull/5905) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump frenck/action-yamllint from 1.4.1 to 1.4.2 [esphome#5716](https://github.com/esphome/esphome/pull/5716) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump dessant/lock-threads from 4.0.1 to 5.0.1 [esphome#5820](https://github.com/esphome/esphome/pull/5820) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add support for fan preset modes [esphome#5694](https://github.com/esphome/esphome/pull/5694) by [@mill1000](https://github.com/mill1000)
- Fix uninitialized climate target temperature [esphome#5795](https://github.com/esphome/esphome/pull/5795) by [@ckoca](https://github.com/ckoca)
- Bump aioesphomeapi from 19.3.0 to 20.0.0 [esphome#5911](https://github.com/esphome/esphome/pull/5911) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump black from 23.11.0 to 23.12.0 [esphome#5912](https://github.com/esphome/esphome/pull/5912) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Updating the touchscreen interface structure [esphome#4596](https://github.com/esphome/esphome/pull/4596) by [@nielsnl68](https://github.com/nielsnl68) (new-integration) (breaking-change)
- Added the A02YYUW distance sensor [esphome#5729](https://github.com/esphome/esphome/pull/5729) by [@TH-Braemer](https://github.com/TH-Braemer) (new-integration)
- Fix AHT10 / AHT20 communication [esphome#5198](https://github.com/esphome/esphome/pull/5198) by [@flaminggoat](https://github.com/flaminggoat)
- Fix crash when handling pin_check error [esphome#5915](https://github.com/esphome/esphome/pull/5915) by [@clydebarrow](https://github.com/clydebarrow)
- Bump aioesphomeapi to 20.1.0 [esphome#5914](https://github.com/esphome/esphome/pull/5914) by [@bdraco](https://github.com/bdraco)
- Remove setpoint-change from error when calculating derivative in pid controller [esphome#4737](https://github.com/esphome/esphome/pull/4737) by [@Newspaperman57](https://github.com/Newspaperman57)
- ir_transmitter: add support for repeated commands in NEC protocol [esphome#4995](https://github.com/esphome/esphome/pull/4995) by [@ngilles](https://github.com/ngilles)
- BP1658CJ - Fix timing for all platforms, now consistent with other drivers [esphome#5799](https://github.com/esphome/esphome/pull/5799) by [@Cossid](https://github.com/Cossid)
- Add humidity support to climate [esphome#5732](https://github.com/esphome/esphome/pull/5732) by [@kroimon](https://github.com/kroimon)
- Remove lingering note [esphome#5916](https://github.com/esphome/esphome/pull/5916) by [@jesserockz](https://github.com/jesserockz)
- Fix typo added in esp32 post_build filename [esphome#5918](https://github.com/esphome/esphome/pull/5918) by [@jesserockz](https://github.com/jesserockz)
- Copy esp32 custom partition files to build folder [esphome#5919](https://github.com/esphome/esphome/pull/5919) by [@jesserockz](https://github.com/jesserockz)
- UART change at runtime [esphome#5909](https://github.com/esphome/esphome/pull/5909) by [@edwardtfn](https://github.com/edwardtfn)
- Bump aioesphomeapi from 20.1.0 to 21.0.0 [esphome#5922](https://github.com/esphome/esphome/pull/5922) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix the initial run of lambda light effects [esphome#5921](https://github.com/esphome/esphome/pull/5921) by [@smithjacobj](https://github.com/smithjacobj)
- Exposes `load_settings` to `UARTComponent` class [esphome#5920](https://github.com/esphome/esphome/pull/5920) by [@edwardtfn](https://github.com/edwardtfn)
- Add support for PN7160 [esphome#5486](https://github.com/esphome/esphome/pull/5486) by [@kbx81](https://github.com/kbx81) (new-integration)
- Add support for PN7150 [esphome#5487](https://github.com/esphome/esphome/pull/5487) by [@kbx81](https://github.com/kbx81) (new-integration)
- Allow use of CDC/JTAG loggers on esp32 variants with Arduino [esphome#4658](https://github.com/esphome/esphome/pull/4658) by [@jesserockz](https://github.com/jesserockz)
- [Logger] ESP32 S3 serial logger [esphome#4853](https://github.com/esphome/esphome/pull/4853) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Support toggle action for template cover [esphome#5917](https://github.com/esphome/esphome/pull/5917) by [@jochenvg](https://github.com/jochenvg)
- Fix SplitDefault with variants [esphome#5928](https://github.com/esphome/esphome/pull/5928) by [@jesserockz](https://github.com/jesserockz)
- Update ENS160 TVOC device_class and AQI units to match required by HA [esphome#5939](https://github.com/esphome/esphome/pull/5939) by [@mrtoy-me](https://github.com/mrtoy-me)
- Bump zeroconf from 0.128.4 to 0.130.0 [esphome#5950](https://github.com/esphome/esphome/pull/5950) by [@dependabot[bot]](https://github.com/apps/dependabot)
- UARTComponent inline doc [esphome#5930](https://github.com/esphome/esphome/pull/5930) by [@edwardtfn](https://github.com/edwardtfn)
- Fix - Tuya Fan - Allow integer speed datapoint [esphome#5948](https://github.com/esphome/esphome/pull/5948) by [@cram42](https://github.com/cram42)
- i2s_audio: Set player_task's prio to 1 [esphome#5945](https://github.com/esphome/esphome/pull/5945) by [@gaaf](https://github.com/gaaf)
- esp32_camera: Set framebuffer task prio to 1 [esphome#5943](https://github.com/esphome/esphome/pull/5943) by [@gaaf](https://github.com/gaaf)
- web_server_idf: fix call with hardcoded http code [esphome#5942](https://github.com/esphome/esphome/pull/5942) by [@dentra](https://github.com/dentra)
- Revert pure virtual functions in UART component from #5920 [esphome#5932](https://github.com/esphome/esphome/pull/5932) by [@DrCoolzic](https://github.com/DrCoolzic)
- Use the correct UART/`Serial` when CDC is enabled [esphome#5957](https://github.com/esphome/esphome/pull/5957) by [@kbx81](https://github.com/kbx81)
- rename set_raw_touch_position_ to add_raw_touch_position_ [esphome#5962](https://github.com/esphome/esphome/pull/5962) by [@nielsnl68](https://github.com/nielsnl68)
- Fix build issue with UART component when building with Arduino and CDC [esphome#5964](https://github.com/esphome/esphome/pull/5964) by [@kbx81](https://github.com/kbx81)
- Fix I2CBus::write() bug and add i2c documentation [esphome#5947](https://github.com/esphome/esphome/pull/5947) by [@DrCoolzic](https://github.com/DrCoolzic)
- Add deep sleep between updates for waveshare epaper 1.54in and 1.54inv2 [esphome#5961](https://github.com/esphome/esphome/pull/5961) by [@mathieu-mp](https://github.com/mathieu-mp)
- Speed up writing protobuf strings/bytes [esphome#5828](https://github.com/esphome/esphome/pull/5828) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi to 21.0.1 [esphome#5969](https://github.com/esphome/esphome/pull/5969) by [@bdraco](https://github.com/bdraco)
- image: allow the image to by auto-loaded by animation [esphome#5139](https://github.com/esphome/esphome/pull/5139) by [@ayufan](https://github.com/ayufan)
- Fix pin reuse error with pin expanders [esphome#5973](https://github.com/esphome/esphome/pull/5973) by [@jesserockz](https://github.com/jesserockz)
- [wifi] Fix EAP for IDF 5.1+, add test [esphome#7061](https://github.com/esphome/esphome/pull/7061) by [@kbx81](https://github.com/kbx81)
- jsn_sr04t component: AJ_SR04M compatibility mode in checksum calculation [esphome#7044](https://github.com/esphome/esphome/pull/7044) by [@soeffi](https://github.com/soeffi)
- [CI] compile entire web_server during tests [esphome#7084](https://github.com/esphome/esphome/pull/7084) by [@tomaszduda23](https://github.com/tomaszduda23)
- [CI] Add more ``improv_serial`` tests [esphome#7081](https://github.com/esphome/esphome/pull/7081) by [@kbx81](https://github.com/kbx81)
- Bump docker/build-push-action from 6.3.0 to 6.4.0 in /.github/actions/build-image [esphome#7089](https://github.com/esphome/esphome/pull/7089) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [CI] add web_server v1 test [esphome#7090](https://github.com/esphome/esphome/pull/7090) by [@tomaszduda23](https://github.com/tomaszduda23)
- [wifi] Hostname may not be set as expected on Arduino platform [esphome#7050](https://github.com/esphome/esphome/pull/7050) by [@NewoPL](https://github.com/NewoPL)
- Add host uart support for MacOS [esphome#7095](https://github.com/esphome/esphome/pull/7095) by [@clydebarrow](https://github.com/clydebarrow)
- Bump docker/build-push-action from 6.4.0 to 6.4.1 in /.github/actions/build-image [esphome#7102](https://github.com/esphome/esphome/pull/7102) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [code-quality] Add some ruff configuration [esphome#7103](https://github.com/esphome/esphome/pull/7103) by [@jesserockz](https://github.com/jesserockz)
- [web_server] move v1 code to separate file [esphome#7091](https://github.com/esphome/esphome/pull/7091) by [@tomaszduda23](https://github.com/tomaszduda23)
- [validation] Add ``host`` to ``require_framework_version`` [esphome#7107](https://github.com/esphome/esphome/pull/7107) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Tidy up some duplicate CONFIG_SCHEMA assignments [esphome#7106](https://github.com/esphome/esphome/pull/7106) by [@jesserockz](https://github.com/jesserockz)
- Move MQTT ip discovery to deticated config option. [esphome#6673](https://github.com/esphome/esphome/pull/6673) by [@Links2004](https://github.com/Links2004)
- Feature/m5angle8: Add support for m5angle8 input device [esphome#6799](https://github.com/esphome/esphome/pull/6799) by [@rnauber](https://github.com/rnauber) (new-integration)
- use cache to build tests for compoenents [esphome#7059](https://github.com/esphome/esphome/pull/7059) by [@tomaszduda23](https://github.com/tomaszduda23)
- [modbus_controller] Add on_command_sent trigger [esphome#7078](https://github.com/esphome/esphome/pull/7078) by [@leejoow](https://github.com/leejoow)
- [ili9xxx] Rework delay handling [esphome#7115](https://github.com/esphome/esphome/pull/7115) by [@clydebarrow](https://github.com/clydebarrow)
- Inherit `esp32_ble_beacon` from `esp32_ble` [esphome#6908](https://github.com/esphome/esphome/pull/6908) by [@jpbede](https://github.com/jpbede)
- APDS9306 Ambient Light Sensor [esphome#6709](https://github.com/esphome/esphome/pull/6709) by [@aodrenah](https://github.com/aodrenah) (new-integration)
- Bump docker/build-push-action from 6.4.1 to 6.5.0 in /.github/actions/build-image [esphome#7119](https://github.com/esphome/esphome/pull/7119) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-qemu-action from 3.1.0 to 3.2.0 [esphome#7120](https://github.com/esphome/esphome/pull/7120) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/login-action from 3.2.0 to 3.3.0 [esphome#7121](https://github.com/esphome/esphome/pull/7121) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-buildx-action from 3.4.0 to 3.5.0 [esphome#7122](https://github.com/esphome/esphome/pull/7122) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [fan] fix initial FanCall to properly set speed [esphome#7113](https://github.com/esphome/esphome/pull/7113) by [@kr0ner](https://github.com/kr0ner)
- Added ruff to pre-commit hooks [esphome#7124](https://github.com/esphome/esphome/pull/7124) by [@clydebarrow](https://github.com/clydebarrow)
- Update webserver local assets to 20240724-013115 [esphome#7126](https://github.com/esphome/esphome/pull/7126) by [@esphomebot](https://github.com/esphomebot)
- [http_request] Allow configure buffer size on ESP-IDF [esphome#7125](https://github.com/esphome/esphome/pull/7125) by [@dentra](https://github.com/dentra)
- Give more info on import errors. [esphome#7128](https://github.com/esphome/esphome/pull/7128) by [@clydebarrow](https://github.com/clydebarrow)
- [lvgl] base implementation [esphome#7116](https://github.com/esphome/esphome/pull/7116) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Bump aioesphomeapi to 24.6.2 and cryptography to 43.0.0 [esphome#7131](https://github.com/esphome/esphome/pull/7131) by [@bdraco](https://github.com/bdraco)
- [dependabot] Group docker action bumps into single PR [esphome#7133](https://github.com/esphome/esphome/pull/7133) by [@jesserockz](https://github.com/jesserockz)
- Add ``--version`` handler to cli [esphome#7150](https://github.com/esphome/esphome/pull/7150) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise ethernet related imports [esphome#7152](https://github.com/esphome/esphome/pull/7152) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise wifi related imports [esphome#7153](https://github.com/esphome/esphome/pull/7153) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise core imports [esphome#7149](https://github.com/esphome/esphome/pull/7149) by [@jesserockz](https://github.com/jesserockz)
- Remove deprecated argument parser [esphome#7151](https://github.com/esphome/esphome/pull/7151) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Move ``CONF_ON_ERROR`` to const.py [esphome#7156](https://github.com/esphome/esphome/pull/7156) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise esp32 imports [esphome#7154](https://github.com/esphome/esphome/pull/7154) by [@jesserockz](https://github.com/jesserockz)
- Add microAmp and milliAmp to defined units [esphome#7157](https://github.com/esphome/esphome/pull/7157) by [@FreeBear-nc](https://github.com/FreeBear-nc)
- Bump docker/setup-buildx-action from 3.5.0 to 3.6.1 in the docker-actions group [esphome#7159](https://github.com/esphome/esphome/pull/7159) by [@dependabot[bot]](https://github.com/apps/dependabot)
- LVGL stage 2 [esphome#7129](https://github.com/esphome/esphome/pull/7129) by [@clydebarrow](https://github.com/clydebarrow)
- [pid] Add get_min_integral() and get_max_integral() [esphome#7162](https://github.com/esphome/esphome/pull/7162) by [@FreeBear-nc](https://github.com/FreeBear-nc)
- [code-quality] Organise bluetooth related imports [esphome#7155](https://github.com/esphome/esphome/pull/7155) by [@jesserockz](https://github.com/jesserockz)
- http_request watchdog as a component [esphome#7161](https://github.com/esphome/esphome/pull/7161) by [@oarcher](https://github.com/oarcher)
- [touchscreen] Allow binary sensor to have multiple pages in config [esphome#7112](https://github.com/esphome/esphome/pull/7112) by [@jesserockz](https://github.com/jesserockz)
- [matrix_keypad] Add `pin->setup()` to rows and cols [esphome#7163](https://github.com/esphome/esphome/pull/7163) by [@AAllport](https://github.com/AAllport)
- [update] Implement ``update.perform`` action and ``update.is_available`` condition [esphome#7165](https://github.com/esphome/esphome/pull/7165) by [@jesserockz](https://github.com/jesserockz) (new-feature)
- [lvgl] PR stage 3 [esphome#7160](https://github.com/esphome/esphome/pull/7160) by [@clydebarrow](https://github.com/clydebarrow)
- [api] ``homeassistant.action`` replaces ``homeassistant.service`` [esphome#7171](https://github.com/esphome/esphome/pull/7171) by [@jesserockz](https://github.com/jesserockz)
- ade7953_spi wrong size specified in read_array call [esphome#7172](https://github.com/esphome/esphome/pull/7172) by [@SimoPk](https://github.com/SimoPk)
- Bump improv library to 1.2.4 [esphome#7174](https://github.com/esphome/esphome/pull/7174) by [@jesserockz](https://github.com/jesserockz)
- Implement 'round to nearest multiple' filter [esphome#7142](https://github.com/esphome/esphome/pull/7142) by [@MrEbbinghaus](https://github.com/MrEbbinghaus)
- git ignore managed_components [esphome#7180](https://github.com/esphome/esphome/pull/7180) by [@oarcher](https://github.com/oarcher)
- [core] Eliminate nuisance messages from `build_codeowners` [esphome#7185](https://github.com/esphome/esphome/pull/7185) by [@clydebarrow](https://github.com/clydebarrow)
- [code-quality] More portable shebangs [esphome#7189](https://github.com/esphome/esphome/pull/7189) by [@jesserockz](https://github.com/jesserockz)
- Add support for doing update entity refresh/check via API. [esphome#7190](https://github.com/esphome/esphome/pull/7190) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Stage 4 [esphome#7166](https://github.com/esphome/esphome/pull/7166) by [@clydebarrow](https://github.com/clydebarrow)
- [esp32_improv] Update Improv library to reference new repo/version [esphome#7195](https://github.com/esphome/esphome/pull/7195) by [@kahrendt](https://github.com/kahrendt)
- hydreon_rgxx: Fix parsing of data line [esphome#7192](https://github.com/esphome/esphome/pull/7192) by [@domob1812](https://github.com/domob1812)
- Remove outdated version block [esphome#7177](https://github.com/esphome/esphome/pull/7177) by [@tomaszduda23](https://github.com/tomaszduda23)
- [lvgl] Stage 5 [esphome#7191](https://github.com/esphome/esphome/pull/7191) by [@clydebarrow](https://github.com/clydebarrow)
- socket: socket::set_sockaddr() for IPv4 addresses in IPv6 builds [esphome#7196](https://github.com/esphome/esphome/pull/7196) by [@dwmw2](https://github.com/dwmw2)
- Adds MQTT component to Alarm Control panel component [esphome#7188](https://github.com/esphome/esphome/pull/7188) by [@heythisisnate](https://github.com/heythisisnate)
- [lvgl] Final stage [esphome#7184](https://github.com/esphome/esphome/pull/7184) by [@clydebarrow](https://github.com/clydebarrow)
- Move ``CONF_BACKGROUND_COLOR`` and ``CONF_FOREGROUND_COLOR`` to const.py [esphome#7202](https://github.com/esphome/esphome/pull/7202) by [@jesserockz](https://github.com/jesserockz)
- [helpers] Set default flags of ExternalRAMAllocator to ALLOW_FAILURE [esphome#7201](https://github.com/esphome/esphome/pull/7201) by [@jesserockz](https://github.com/jesserockz)
- Add runtime online image support [esphome#4710](https://github.com/esphome/esphome/pull/4710) by [@guillempages](https://github.com/guillempages) (new-integration)
- Update i2s_audio_speaker.cppi2s_audio/speaker: Fix fallthrough compiler warning [esphome#7167](https://github.com/esphome/esphome/pull/7167) by [@Mimoja](https://github.com/Mimoja)
- Move CONF_ITEMS/CONF_FONT/CONF_TEXT to const.py [esphome#7204](https://github.com/esphome/esphome/pull/7204) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Fix compile error when using encoder with buttons only. [esphome#7203](https://github.com/esphome/esphome/pull/7203) by [@clydebarrow](https://github.com/clydebarrow)
- Revert "Add null GPIO pin " [esphome#6621](https://github.com/esphome/esphome/pull/6621) by [@jesserockz](https://github.com/jesserockz)
- [remote_transmitter] Change default carrier_frequency to valid value [esphome#7176](https://github.com/esphome/esphome/pull/7176) by [@iannisimo](https://github.com/iannisimo)
- [code-quality] Organise script imports [esphome#7198](https://github.com/esphome/esphome/pull/7198) by [@jesserockz](https://github.com/jesserockz)
- [max31856] Use cv.frequency as validator [esphome#7212](https://github.com/esphome/esphome/pull/7212) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise base entities imports [esphome#7208](https://github.com/esphome/esphome/pull/7208) by [@tomaszduda23](https://github.com/tomaszduda23)
- [spi] Remove ``SPIDelegateDummy`` [esphome#7215](https://github.com/esphome/esphome/pull/7215) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Apply ruff linting suggestions [esphome#7206](https://github.com/esphome/esphome/pull/7206) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Organise logger imports [esphome#7205](https://github.com/esphome/esphome/pull/7205) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Apply ruff linting suggestions to core [esphome#7207](https://github.com/esphome/esphome/pull/7207) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy sprinkler [esphome#7222](https://github.com/esphome/esphome/pull/7222) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] __attribute__((packed)) [esphome#7221](https://github.com/esphome/esphome/pull/7221) by [@tomaszduda23](https://github.com/tomaszduda23)
- hx711: Check for DOUT going high after a reading [esphome#7214](https://github.com/esphome/esphome/pull/7214) by [@dwmw2](https://github.com/dwmw2)
- [mqtt] Add extended device info [esphome#7194](https://github.com/esphome/esphome/pull/7194) by [@dentra](https://github.com/dentra)
- [code-quality] NOLINT readability-identifier-naming [esphome#7220](https://github.com/esphome/esphome/pull/7220) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Organise time imports [esphome#7219](https://github.com/esphome/esphome/pull/7219) by [@tomaszduda23](https://github.com/tomaszduda23)
- [lvgl] Fix set state on updates [esphome#7227](https://github.com/esphome/esphome/pull/7227) by [@clydebarrow](https://github.com/clydebarrow)
- add missing override [esphome#7231](https://github.com/esphome/esphome/pull/7231) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add text_align_to_string [esphome#7243](https://github.com/esphome/esphome/pull/7243) by [@MrMDavidson](https://github.com/MrMDavidson)
- [sml] Fixed crashing sml parser [esphome#7235](https://github.com/esphome/esphome/pull/7235) by [@eNBeWe](https://github.com/eNBeWe)
- Allow project name and version as improv_serial identity [esphome#7248](https://github.com/esphome/esphome/pull/7248) by [@AzonInc](https://github.com/AzonInc)
- [lvgl] Implement default group for encoders [esphome#7242](https://github.com/esphome/esphome/pull/7242) by [@clydebarrow](https://github.com/clydebarrow)
- [bme68x_bsec2_i2c] BME68X Temperature+Pressure+Humidity+Gas Sensor via BSEC2 [esphome#4585](https://github.com/esphome/esphome/pull/4585) by [@neffs](https://github.com/neffs) (new-integration)
- [code-quality] clang-tidy media_player [esphome#7238](https://github.com/esphome/esphome/pull/7238) by [@tomaszduda23](https://github.com/tomaszduda23)
- Bump docker/build-push-action from 6.5.0 to 6.6.1 in /.github/actions/build-image [esphome#7232](https://github.com/esphome/esphome/pull/7232) by [@dependabot[bot]](https://github.com/apps/dependabot)
- fix build error [esphome#7229](https://github.com/esphome/esphome/pull/7229) by [@tomaszduda23](https://github.com/tomaszduda23)
- adjust to new python pre-commit hooks [esphome#7178](https://github.com/esphome/esphome/pull/7178) by [@tomaszduda23](https://github.com/tomaszduda23)
- add windows script/setup.bat [esphome#7140](https://github.com/esphome/esphome/pull/7140) by [@nielsnl68](https://github.com/nielsnl68)
- [code-quality] add NOLINT haier_base [esphome#7236](https://github.com/esphome/esphome/pull/7236) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] clang-tidy bedjet [esphome#7251](https://github.com/esphome/esphome/pull/7251) by [@tomaszduda23](https://github.com/tomaszduda23)
- fix name conflict with zephyr macro [esphome#7252](https://github.com/esphome/esphome/pull/7252) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Apply ruff linting suggestions [esphome#7239](https://github.com/esphome/esphome/pull/7239) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add support for LYWSD02MMC Xiaomi device [esphome#7080](https://github.com/esphome/esphome/pull/7080) by [@juanluss31](https://github.com/juanluss31) (new-integration)
- [code-quality] fix clang-tidy web server [esphome#7230](https://github.com/esphome/esphome/pull/7230) by [@tomaszduda23](https://github.com/tomaszduda23)
- [test][web_server] Rejig test for v3 [esphome#7110](https://github.com/esphome/esphome/pull/7110) by [@RFDarter](https://github.com/RFDarter)
- [api] Error log when NONE Update command is sent [esphome#7247](https://github.com/esphome/esphome/pull/7247) by [@oarcher](https://github.com/oarcher)
- [api] Add new flag to request state/attribute once from HA only [esphome#7258](https://github.com/esphome/esphome/pull/7258) by [@jesserockz](https://github.com/jesserockz)
- [homeassistant] Add ``HOME_ASSISTANT_IMPORT_CONTROL_SCHEMA`` [esphome#7259](https://github.com/esphome/esphome/pull/7259) by [@jesserockz](https://github.com/jesserockz)
- [const] Add some units for future use and adjust case [esphome#7260](https://github.com/esphome/esphome/pull/7260) by [@nkinnan](https://github.com/nkinnan)
- [online_image] add option to show placeholder while downloading [esphome#7083](https://github.com/esphome/esphome/pull/7083) by [@guillempages](https://github.com/guillempages)
- [lvgl] Add initial_focus for encoders [esphome#7256](https://github.com/esphome/esphome/pull/7256) by [@clydebarrow](https://github.com/clydebarrow)
- [code-quality] fix order in esphome/const.py [esphome#7267](https://github.com/esphome/esphome/pull/7267) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy network [esphome#7266](https://github.com/esphome/esphome/pull/7266) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy core optional [esphome#7265](https://github.com/esphome/esphome/pull/7265) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Fix variable naming in base_light_effects [esphome#7237](https://github.com/esphome/esphome/pull/7237) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy mqtt [esphome#7253](https://github.com/esphome/esphome/pull/7253) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy wifi related [esphome#7254](https://github.com/esphome/esphome/pull/7254) by [@tomaszduda23](https://github.com/tomaszduda23)
- Bump docker/build-push-action from 6.6.1 to 6.7.0 in /.github/actions/build-image [esphome#7269](https://github.com/esphome/esphome/pull/7269) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [CI] Dont run full CI on ``build-image`` action changes [esphome#7270](https://github.com/esphome/esphome/pull/7270) by [@jesserockz](https://github.com/jesserockz)
- Implement ByteBuffer [esphome#6878](https://github.com/esphome/esphome/pull/6878) by [@clydebarrow](https://github.com/clydebarrow)
- Add min and max brightness parameters for Light dim_relative Action [esphome#6971](https://github.com/esphome/esphome/pull/6971) by [@PaoloTK](https://github.com/PaoloTK)
- [homeassistant] Native switch entity import and control [esphome#7018](https://github.com/esphome/esphome/pull/7018) by [@Links2004](https://github.com/Links2004) (new-platform)
- [homeassistant] Native number entity import and control [esphome#6455](https://github.com/esphome/esphome/pull/6455) by [@landonr](https://github.com/landonr) (new-platform)
- [lvgl] Rework events to avoid feedback loops [esphome#7262](https://github.com/esphome/esphome/pull/7262) by [@clydebarrow](https://github.com/clydebarrow)
- Add `color_filter_opa` style property [esphome#7276](https://github.com/esphome/esphome/pull/7276) by [@clydebarrow](https://github.com/clydebarrow)
- [code-quality] fix clang-tidy wake_on_lan [esphome#7275](https://github.com/esphome/esphome/pull/7275) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix readability-braces-around-statements [esphome#7273](https://github.com/esphome/esphome/pull/7273) by [@tomaszduda23](https://github.com/tomaszduda23)
- [mqtt] fix missing initializer in MQTTClientComponent::disable_discovery [esphome#7271](https://github.com/esphome/esphome/pull/7271) by [@oarcher](https://github.com/oarcher)
- [code-quality] fix readability-named-parameter [esphome#7272](https://github.com/esphome/esphome/pull/7272) by [@tomaszduda23](https://github.com/tomaszduda23)
- support illuminance for airthings wave plus device [esphome#5203](https://github.com/esphome/esphome/pull/5203) by [@MadMonkey87](https://github.com/MadMonkey87)
- [micro_wake_word] Bump ESPMicroSpeechFeatures version to 1.1.0 [esphome#7249](https://github.com/esphome/esphome/pull/7249) by [@kahrendt](https://github.com/kahrendt)
- Implement the finish() method and action. implement the is_stopped condition [esphome#7255](https://github.com/esphome/esphome/pull/7255) by [@nielsnl68](https://github.com/nielsnl68)
- Correct offset calibration [esphome#7228](https://github.com/esphome/esphome/pull/7228) by [@descipher](https://github.com/descipher) (new-platform)
- remove extra number from pronto [esphome#7263](https://github.com/esphome/esphome/pull/7263) by [@ssieb](https://github.com/ssieb)
- [api] Bump noise-c library version [esphome#7288](https://github.com/esphome/esphome/pull/7288) by [@clydebarrow](https://github.com/clydebarrow)
- fix some small rtttl issues [esphome#6817](https://github.com/esphome/esphome/pull/6817) by [@nielsnl68](https://github.com/nielsnl68)
- Fix overflow in ESPColorCorrection object [esphome#7268](https://github.com/esphome/esphome/pull/7268) by [@g-kiss](https://github.com/g-kiss)
- [validation] Allow ``maybe_simple_value`` to not have default key in complex value [esphome#7294](https://github.com/esphome/esphome/pull/7294) by [@jesserockz](https://github.com/jesserockz)
- [network] Always allow ``enable_ipv6: false`` [esphome#7291](https://github.com/esphome/esphome/pull/7291) by [@dwmw2](https://github.com/dwmw2)
- Revert "[validation] Allow ``maybe_simple_value`` to not have default key in complex value" [esphome#7305](https://github.com/esphome/esphome/pull/7305) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Bug fixes [esphome#7300](https://github.com/esphome/esphome/pull/7300) by [@clydebarrow](https://github.com/clydebarrow)
- [speaker] Fix header includes [esphome#7304](https://github.com/esphome/esphome/pull/7304) by [@nielsnl68](https://github.com/nielsnl68)
- [microphone] Fix header includes [esphome#7310](https://github.com/esphome/esphome/pull/7310) by [@jesserockz](https://github.com/jesserockz)
- Fix RP2040 Neopixel flickering issue [esphome#7307](https://github.com/esphome/esphome/pull/7307) by [@deCodeIt](https://github.com/deCodeIt)
- add the ability to add more idf components to an existing setup [esphome#7302](https://github.com/esphome/esphome/pull/7302) by [@nielsnl68](https://github.com/nielsnl68)
- Fix waveshare 2.13" epaper stride calculation error [esphome#7303](https://github.com/esphome/esphome/pull/7303) by [@serialx](https://github.com/serialx)
- [rtttl] fix STOPPED state [esphome#7323](https://github.com/esphome/esphome/pull/7323) by [@NewoPL](https://github.com/NewoPL)

View File

@@ -32,7 +32,7 @@ backup_exclude:
init: false
startup: services
name: ESPHome
version: 2023.12.0
version: 2024.8.0
slug: esphome
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
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 re
import subprocess
from dataclasses import dataclass
import sys
import os
@@ -17,72 +16,71 @@ class Version:
minor: int
patch: int
beta: int = 0
dev: bool = False
dev: str = ""
def __str__(self):
return f'{self.major}.{self.minor}.{self.full_patch}'
return f"{self.major}.{self.minor}.{self.full_patch}"
@property
def full_patch(self):
res = f'{self.patch}'
res = f"{self.patch}"
if self.beta > 0:
res += f'b{self.beta}'
res += f"b{self.beta}"
if self.dev:
res += '-dev'
res += f"-dev{self.dev}"
return res
@classmethod
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
major = int(match[1])
minor = int(match[2])
patch = int(match[3])
beta = int(match[4][1:]) if match[4] else 0
dev = bool(match[5])
return Version(
major=major, minor=minor, patch=patch,
beta=beta, dev=dev
)
dev = str(match[5][4:]) if match[5] else ""
return Version(major=major, minor=minor, patch=patch, beta=beta, dev=dev)
def sub(path, pattern, repl, expected_count=1):
with open(path) as fh:
def _sub(path, pattern, repl, expected_count=1):
with open(path, encoding="utf-8") as fh:
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:
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)
def write_version(target: str, version: Version):
# version: '1.14.5' # BETA
# version: '1.14.5' # STABLE
sub(
'template/addon_config.yaml',
r" version: '[^']+' # {}".format(target.upper()),
f" version: '{version}' # {target.upper()}"
def _write_version(target: str, version: Version):
# version: "2024.5.0-dev20240412" # DEV
# version: "1.14.5" # BETA
# version: "1.14.5" # STABLE
_sub(
"template/addon_config.yaml",
f' version: "[^"]+" # {target.upper()}',
f' version: "{version}" # {target.upper()}',
)
def main():
parser = argparse.ArgumentParser()
parser.add_argument('new_version', type=str)
parser.add_argument("new_version", type=str)
args = parser.parse_args()
version = Version.parse(args.new_version)
assert not version.dev
print(f"Bumping to {version}")
if version.beta:
write_version('beta', version)
generate.main(['beta'])
if version.dev:
_write_version("dev", version)
generate.main(["dev"])
elif version.beta:
_write_version("beta", version)
generate.main(["beta"])
else:
assert not version.beta
write_version('stable', version)
write_version('beta', version)
generate.main(['stable', 'beta'])
_write_version("stable", version)
_write_version("beta", version)
generate.main(["stable", "beta"])
return 0

View File

@@ -1,13 +1,14 @@
#!/usr/bin/env python3
import argparse
import yaml
from pathlib import Path
from enum import Enum
from shutil import copyfile
import sys
import os
import yaml
class Channel(Enum):
stable = "stable"
@@ -25,17 +26,16 @@ def main(args):
root = Path(__file__).parent.parent
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)
copyf = config["copy_files"]
for channel in args.channels:
conf = config[f"esphome-{channel.value}"]
base_image = conf.pop("base_image", None)
dir_ = root / conf.pop("directory")
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)
for file_ in copyf:
@@ -46,19 +46,9 @@ def main(args):
copyfile(templ / file_, dir_ / file_)
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")
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__":
main(sys.argv[1:])

View File

@@ -16,11 +16,11 @@ base: &base
# Ingress settings
ingress: true
ingress_port: 0
panel_icon: 'mdi:chip'
panel_icon: "mdi:chip"
# Automatically add UART devices to add-on
uart: true
ports:
'6052/tcp': null
"6052/tcp": null
map:
- ssl:ro
- config:rw
@@ -46,10 +46,11 @@ esphome-dev:
<<: *base
directory: esphome-dev
name: ESPHome (dev)
version: 'dev' # DEV
version: "2024.9.0-dev20240821" # DEV
slug: esphome-dev
description: "Development version of ESPHome add-on"
url: https://next.esphome.io/
image: ghcr.io/esphome/esphome-hassio
stage: experimental
advanced: true
schema:
@@ -62,15 +63,14 @@ esphome-dev:
certfile: str?
keyfile: str?
leave_front_door_open: bool?
base_image: ghcr.io/esphome/esphome-hassio:dev
options:
home_assistant_dashboard_integration: false
home_assistant_dashboard_integration: false
esphome-beta:
<<: *base
directory: esphome-beta
name: ESPHome (beta)
version: '2023.12.0' # BETA
version: "2024.8.0" # BETA
slug: esphome-beta
description: "Beta version of ESPHome add-on"
url: https://beta.esphome.io/
@@ -78,13 +78,13 @@ esphome-beta:
stage: experimental
advanced: true
options:
home_assistant_dashboard_integration: false
home_assistant_dashboard_integration: false
esphome-stable:
<<: *base
directory: esphome
name: ESPHome
version: '2023.12.0' # STABLE
version: "2024.8.0" # STABLE
slug: esphome
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
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