1
0

Compare commits

...

99 Commits

28 changed files with 479 additions and 273 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.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
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,9 +19,9 @@ 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
@@ -30,9 +30,9 @@ jobs:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3.0.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.0.0
uses: docker/setup-buildx-action@v3.3.0
- name: Build and Push
uses: docker/build-push-action@v5.1.0
uses: docker/build-push-action@v5.4.0
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.0
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,101 +1,193 @@
## 2024.3.0b1
## 2024.6.0
- Bump openssh-client to 1:9.2p1-2+deb12u2 [esphome#6216](https://github.com/esphome/esphome/pull/6216) by [@jesserockz](https://github.com/jesserockz)
- Add support for 1.8V-powered devices [esphome#6234](https://github.com/esphome/esphome/pull/6234) by [@bisbastuner](https://github.com/bisbastuner)
- Adjust HeatpumpIR dependency [esphome#6222](https://github.com/esphome/esphome/pull/6222) by [@ivankravets](https://github.com/ivankravets)
- INA226 - fixed improper work with signed values, added configurable ADC parameters [esphome#6172](https://github.com/esphome/esphome/pull/6172) by [@latonita](https://github.com/latonita)
- Prevent network config on rpipico board [esphome#5832](https://github.com/esphome/esphome/pull/5832) by [@carlosV2](https://github.com/carlosV2)
- Bump pytest-asyncio from 0.23.3 to 0.23.5 [esphome#6201](https://github.com/esphome/esphome/pull/6201) by [@dependabot[bot]](https://github.com/apps/dependabot)
- New component: ADE7880 voltage/current/power/energy sensor [esphome#5242](https://github.com/esphome/esphome/pull/5242) by [@kpfleming](https://github.com/kpfleming) (new-integration)
- Add some components to the new testing framework (D) [esphome#6175](https://github.com/esphome/esphome/pull/6175) by [@kbx81](https://github.com/kbx81)
- Provide example devcontainer config for mdns and USB passthrough [esphome#6094](https://github.com/esphome/esphome/pull/6094) by [@linkedupbits](https://github.com/linkedupbits)
- Bump black from 23.12.1 to 24.2.0 [esphome#6221](https://github.com/esphome/esphome/pull/6221) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pytest from 7.4.4 to 8.0.1 [esphome#6246](https://github.com/esphome/esphome/pull/6246) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump codecov/codecov-action from 3 to 4 [esphome#6160](https://github.com/esphome/esphome/pull/6160) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump peter-evans/create-pull-request from 5.0.2 to 6.0.0 [esphome#6159](https://github.com/esphome/esphome/pull/6159) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump frenck/action-yamllint from 1.4.2 to 1.5.0 [esphome#6236](https://github.com/esphome/esphome/pull/6236) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump voluptuous from 0.14.1 to 0.14.2 [esphome#6181](https://github.com/esphome/esphome/pull/6181) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pyupgrade from 3.15.0 to 3.15.1 [esphome#6247](https://github.com/esphome/esphome/pull/6247) by [@dependabot[bot]](https://github.com/apps/dependabot)
- LTR390 - Multiple bugfixes [esphome#6161](https://github.com/esphome/esphome/pull/6161) by [@sjtrny](https://github.com/sjtrny) (breaking-change)
- Fix yamllint [esphome#6253](https://github.com/esphome/esphome/pull/6253) by [@jesserockz](https://github.com/jesserockz)
- Improve the error message on OTA version mismatch [esphome#6259](https://github.com/esphome/esphome/pull/6259) by [@sybrenstuvel](https://github.com/sybrenstuvel)
- Bump aioesphomeapi from 21.0.2 to 22.0.0 [esphome#6263](https://github.com/esphome/esphome/pull/6263) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Allow ESP8266 to use multiple i2c busses [esphome#6145](https://github.com/esphome/esphome/pull/6145) by [@LouDou](https://github.com/LouDou)
- Add Uponor Smatrix component [esphome#5769](https://github.com/esphome/esphome/pull/5769) by [@kroimon](https://github.com/kroimon) (new-integration)
- Fix test_build_components for macOS sed [esphome#6278](https://github.com/esphome/esphome/pull/6278) by [@kbx81](https://github.com/kbx81)
- Allow to specify global build directory [esphome#6276](https://github.com/esphome/esphome/pull/6276) by [@werwolfby](https://github.com/werwolfby)
- Add device class support to text sensor [esphome#6202](https://github.com/esphome/esphome/pull/6202) by [@dougiteixeira](https://github.com/dougiteixeira)
- Bump pytest from 8.0.1 to 8.0.2 [esphome#6288](https://github.com/esphome/esphome/pull/6288) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Improve dualstack and IPv6 support [esphome#5449](https://github.com/esphome/esphome/pull/5449) by [@HeMan](https://github.com/HeMan)
- Waveshare e-ink 2IN9_V2 - fix full and partial update based on vendor… [esphome#5481](https://github.com/esphome/esphome/pull/5481) by [@darianndd](https://github.com/darianndd)
- Add RTTTL volume control. [esphome#5968](https://github.com/esphome/esphome/pull/5968) by [@nielsnl68](https://github.com/nielsnl68)
- Touchscreen component and driver fixes [esphome#5997](https://github.com/esphome/esphome/pull/5997) by [@nielsnl68](https://github.com/nielsnl68) (breaking-change)
- Add `on_update` trigger for Project versions [esphome#6298](https://github.com/esphome/esphome/pull/6298) by [@jesserockz](https://github.com/jesserockz)
- Bump peter-evans/create-pull-request from 6.0.0 to 6.0.1 [esphome#6302](https://github.com/esphome/esphome/pull/6302) by [@dependabot[bot]](https://github.com/apps/dependabot)
- CSE7766 Apparent Power & Power Factor calculations [esphome#6292](https://github.com/esphome/esphome/pull/6292) by [@DAVe3283](https://github.com/DAVe3283)
- Adding W5500 support to ethernet component [esphome#4424](https://github.com/esphome/esphome/pull/4424) by [@JeroenVanOort](https://github.com/JeroenVanOort)
- Fix numbering of ip_address sensors [esphome#6305](https://github.com/esphome/esphome/pull/6305) by [@HeMan](https://github.com/HeMan)
- Bump aioesphomeapi from 22.0.0 to 23.0.0 [esphome#6293](https://github.com/esphome/esphome/pull/6293) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add regular polygon shapes to display component [esphome#6108](https://github.com/esphome/esphome/pull/6108) by [@mathieu-mp](https://github.com/mathieu-mp)
- Fix return value in `core/automation.h` [esphome#6314](https://github.com/esphome/esphome/pull/6314) by [@FlyingFeng2021](https://github.com/FlyingFeng2021)
- aht10: Added new CMD and renamed existing CMD to match datasheet [esphome#6303](https://github.com/esphome/esphome/pull/6303) by [@cptskippy](https://github.com/cptskippy)
- handling with the negative temperature in the sensor tmp102 [esphome#6316](https://github.com/esphome/esphome/pull/6316) by [@FlyingFeng2021](https://github.com/FlyingFeng2021)
- x9c: fix off by 1 error [esphome#6318](https://github.com/esphome/esphome/pull/6318) by [@andynumber2](https://github.com/andynumber2)
- Support for MS8607 PHT (Pressure Humidity Temperature) sensor [esphome#3307](https://github.com/esphome/esphome/pull/3307) by [@e28eta](https://github.com/e28eta) (new-integration)
- Separate logger implementations for each hardware platform into different files [esphome#6167](https://github.com/esphome/esphome/pull/6167) by [@tomaszduda23](https://github.com/tomaszduda23)
- Additional sensors and binary sensors support for Haier Climate [esphome#6257](https://github.com/esphome/esphome/pull/6257) by [@paveldn](https://github.com/paveldn) (breaking-change) (new-platform)
- Add toggle command to cover web_server endpoint [esphome#6319](https://github.com/esphome/esphome/pull/6319) by [@heythisisnate](https://github.com/heythisisnate)
- Improv: support connecting to hidden networks [esphome#6322](https://github.com/esphome/esphome/pull/6322) by [@jesserockz](https://github.com/jesserockz)
- Update mDNS for IDF >= 5.0 [esphome#6328](https://github.com/esphome/esphome/pull/6328) by [@HeMan](https://github.com/HeMan)
- DFPlayer: refix Bug created with PR 4758 [esphome#5861](https://github.com/esphome/esphome/pull/5861) by [@sandronidi](https://github.com/sandronidi)
- Fix build failures on host platform caused by #6167 [esphome#6338](https://github.com/esphome/esphome/pull/6338) by [@clydebarrow](https://github.com/clydebarrow)
- Update bang_bang to log two decimal places in config dump [esphome#6304](https://github.com/esphome/esphome/pull/6304) by [@rafalw1277](https://github.com/rafalw1277)
- Add datetime date entities [esphome#6191](https://github.com/esphome/esphome/pull/6191) by [@RFDarter](https://github.com/RFDarter) (new-integration)
- Add AGS10 Sensor [esphome#6070](https://github.com/esphome/esphome/pull/6070) by [@mak-42](https://github.com/mak-42) (new-integration)
- Bump aioesphomeapi from 23.0.0 to 23.1.0 [esphome#6332](https://github.com/esphome/esphome/pull/6332) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pytest-asyncio from 0.23.5 to 0.23.5.post1 [esphome#6334](https://github.com/esphome/esphome/pull/6334) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-buildx-action from 3.0.0 to 3.1.0 [esphome#6295](https://github.com/esphome/esphome/pull/6295) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Set dependabot to look at composite actions versions [esphome#6343](https://github.com/esphome/esphome/pull/6343) by [@jesserockz](https://github.com/jesserockz)
- ads1118 component [esphome#5711](https://github.com/esphome/esphome/pull/5711) by [@solomondg1](https://github.com/solomondg1) (new-integration)
- Bump actions/cache from 4.0.0 to 4.0.1 [esphome#6306](https://github.com/esphome/esphome/pull/6306) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/build-push-action from 5.0.0 to 5.2.0 in /.github/actions/build-image [esphome#6347](https://github.com/esphome/esphome/pull/6347) by [@dependabot[bot]](https://github.com/apps/dependabot)
- fix: modbus_textsensor response is too long in some cases [esphome#6333](https://github.com/esphome/esphome/pull/6333) by [@NewoPL](https://github.com/NewoPL)
- add template fan [esphome#6310](https://github.com/esphome/esphome/pull/6310) by [@ssieb](https://github.com/ssieb) (breaking-change) (new-platform)
- dump config after logging CDC port is opened by host [esphome#6169](https://github.com/esphome/esphome/pull/6169) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add IRK support to allow tracking of devices with random MAC addresses [esphome#6335](https://github.com/esphome/esphome/pull/6335) by [@chbmuc](https://github.com/chbmuc)
- [Fingerprint_grow] Implements Sleep Mode feature [esphome#6116](https://github.com/esphome/esphome/pull/6116) by [@alexborro](https://github.com/alexborro)
- cleanup ili9xxx component by removing data rate define [esphome#6350](https://github.com/esphome/esphome/pull/6350) by [@nielsnl68](https://github.com/nielsnl68)
- web_server_idf: support x-www-form-urlencoded POST requests [esphome#6037](https://github.com/esphome/esphome/pull/6037) by [@dentra](https://github.com/dentra)
- feat(MQTT): Add QoS option for each MQTT component [esphome#6279](https://github.com/esphome/esphome/pull/6279) by [@Rapsssito](https://github.com/Rapsssito)
- Check permissions [esphome#6255](https://github.com/esphome/esphome/pull/6255) by [@OdileVidrine](https://github.com/OdileVidrine)
- Add CST816 touchscreen driver [esphome#5941](https://github.com/esphome/esphome/pull/5941) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- ILI9XXX: Lazily allocate buffer [esphome#6352](https://github.com/esphome/esphome/pull/6352) by [@clydebarrow](https://github.com/clydebarrow)
- AM2315C Temperature + Humidity Sensor [esphome#6266](https://github.com/esphome/esphome/pull/6266) by [@swoboda1337](https://github.com/swoboda1337) (new-integration)
- Add ble_presence binary sensor timeout config value. [esphome#6024](https://github.com/esphome/esphome/pull/6024) by [@clydebarrow](https://github.com/clydebarrow)
- Add state listeners to `rotary_encoder` [esphome#6035](https://github.com/esphome/esphome/pull/6035) by [@clydebarrow](https://github.com/clydebarrow)
- ili9xxx: Add support for GC9A01A display [esphome#6351](https://github.com/esphome/esphome/pull/6351) by [@clydebarrow](https://github.com/clydebarrow)
- Touchscreen: add support for CST226 controller chip [esphome#6151](https://github.com/esphome/esphome/pull/6151) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- font: add anti-aliasing and other features [esphome#6198](https://github.com/esphome/esphome/pull/6198) by [@clydebarrow](https://github.com/clydebarrow)
- Mhz19 warmup [esphome#6214](https://github.com/esphome/esphome/pull/6214) by [@fornellas](https://github.com/fornellas)
- Refactor ATM90E32 to reduce blocking time and improve accuracy. [esphome#5670](https://github.com/esphome/esphome/pull/5670) by [@descipher](https://github.com/descipher)
- Bump aioesphomeapi from 23.1.0 to 23.1.1 [esphome#6348](https://github.com/esphome/esphome/pull/6348) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pytest from 8.0.2 to 8.1.1 [esphome#6346](https://github.com/esphome/esphome/pull/6346) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add support for Waveshare 2.13" V2 display [esphome#6337](https://github.com/esphome/esphome/pull/6337) by [@manuelkasper](https://github.com/manuelkasper)
- Mitsubishi Climate updates [esphome#3886](https://github.com/esphome/esphome/pull/3886) by [@RubyBailey](https://github.com/RubyBailey)
- Drivers for RGB 16 bit parallel displays [esphome#5872](https://github.com/esphome/esphome/pull/5872) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- hydreon_rgxx - add resolution option [esphome#6077](https://github.com/esphome/esphome/pull/6077) by [@mrtoy-me](https://github.com/mrtoy-me)
- SPI schema now uses typed_schema with `type` key [esphome#6353](https://github.com/esphome/esphome/pull/6353) by [@clydebarrow](https://github.com/clydebarrow)
- VEML7700 and VEML6030 light sensors [esphome#6067](https://github.com/esphome/esphome/pull/6067) by [@latonita](https://github.com/latonita) (new-integration)
- Add Seeed Studio mmWave Kit MR24HPC1 [esphome#5761](https://github.com/esphome/esphome/pull/5761) by [@limengdu](https://github.com/limengdu) (new-integration)
- Add getter for font glyph data [esphome#6355](https://github.com/esphome/esphome/pull/6355) by [@clydebarrow](https://github.com/clydebarrow)
- Require reset_pin for certain waveshare_epaper models in YAML validation [esphome#6357](https://github.com/esphome/esphome/pull/6357) by [@manuelkasper](https://github.com/manuelkasper)
- touchscreen driver fixes [esphome#6356](https://github.com/esphome/esphome/pull/6356) by [@clydebarrow](https://github.com/clydebarrow)
- Make USE_HOST compilable on msys2 [esphome#6359](https://github.com/esphome/esphome/pull/6359) by [@maruel](https://github.com/maruel)
- download font from url on build [esphome#5254](https://github.com/esphome/esphome/pull/5254) by [@landonr](https://github.com/landonr)
- Add driver for quad SPI AMOLED displays [esphome#6354](https://github.com/esphome/esphome/pull/6354) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- ADE7953: Add the ability to use accumulating energy registers, more precise power reporting [esphome#6311](https://github.com/esphome/esphome/pull/6311) by [@isorin](https://github.com/isorin)
- feat: Add HTU31D Support [esphome#5805](https://github.com/esphome/esphome/pull/5805) by [@betterengineering](https://github.com/betterengineering) (new-integration)
- Emmeti infrared climate support [esphome#5197](https://github.com/esphome/esphome/pull/5197) by [@E440QF](https://github.com/E440QF) (new-integration)
- Added Kamstrup Multical 40x component [esphome#4200](https://github.com/esphome/esphome/pull/4200) by [@cfeenstra1024](https://github.com/cfeenstra1024) (new-integration)
- add possibility to provide different conversion times for Bus Voltage… [esphome#6327](https://github.com/esphome/esphome/pull/6327) by [@kev300](https://github.com/kev300)
## Full list of changes
### New Features
- Add ADC multisampling [esphome#6330](https://github.com/esphome/esphome/pull/6330) by [@Mat931](https://github.com/Mat931) (new-feature)
- [voice_assistant] Timers [esphome#6821](https://github.com/esphome/esphome/pull/6821) by [@jesserockz](https://github.com/jesserockz) (new-feature)
### New Components
- GDK101 support [esphome#4703](https://github.com/esphome/esphome/pull/4703) by [@Szewcson](https://github.com/Szewcson) (new-integration)
- Add beken_spi_led_strip component [esphome#6515](https://github.com/esphome/esphome/pull/6515) by [@Mat931](https://github.com/Mat931) (new-integration)
- Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change)
- SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
- INA228/INA229, INA238/INA239, INA237 power/energy/charge monitor (I2C, SPI) [esphome#6138](https://github.com/esphome/esphome/pull/6138) by [@latonita](https://github.com/latonita) (new-integration)
- [haier] ``text_sensor`` and ``button`` platforms [esphome#6780](https://github.com/esphome/esphome/pull/6780) by [@paveldn](https://github.com/paveldn) (new-integration)
- LTR-303, LTR-329, LTR-553, LTR-556, LTR-559, LTR-659 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6076](https://github.com/esphome/esphome/pull/6076) by [@latonita](https://github.com/latonita) (new-integration)
- Add host time platform; remove host support from sntp. [esphome#6854](https://github.com/esphome/esphome/pull/6854) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- [ota] http_request update platform [esphome#5586](https://github.com/esphome/esphome/pull/5586) by [@oarcher](https://github.com/oarcher) (new-integration)
- [core] Update Entities [esphome#6885](https://github.com/esphome/esphome/pull/6885) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change)
- [display] SDL2 display driver for host platform [esphome#6825](https://github.com/esphome/esphome/pull/6825) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
### New Platforms
- BedJet: expose the outlet temperature on the climate and as a sensor [esphome#6633](https://github.com/esphome/esphome/pull/6633) by [@javawizard](https://github.com/javawizard) (new-platform)
- mpr121: Add GPIO support [esphome#6776](https://github.com/esphome/esphome/pull/6776) by [@polyfloyd](https://github.com/polyfloyd) (new-platform)
### Breaking Changes
- Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change)
- SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
- Uncouple safe_mode from OTA [esphome#6759](https://github.com/esphome/esphome/pull/6759) by [@kbx81](https://github.com/kbx81) (breaking-change)
- Fix incorrect naming of the AdaFruit MagTag display. [esphome#6810](https://github.com/esphome/esphome/pull/6810) by [@sasodoma](https://github.com/sasodoma) (breaking-change)
- [http_request] Add esp-idf and rp2040 support [esphome#3256](https://github.com/esphome/esphome/pull/3256) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Allow parse_json to return a boolean result [esphome#6884](https://github.com/esphome/esphome/pull/6884) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change)
### Beta Changes
- [CI] Fix for sdl [esphome#6892](https://github.com/esphome/esphome/pull/6892) by [@jesserockz](https://github.com/jesserockz)
- Add operation_speed option to X9C component [esphome#6890](https://github.com/esphome/esphome/pull/6890) by [@oliverhihn](https://github.com/oliverhihn)
- [host] Execute host program when using run command [esphome#6897](https://github.com/esphome/esphome/pull/6897) by [@jesserockz](https://github.com/jesserockz)
- Bump esphome-dashboard to 20240613.0 [esphome#6901](https://github.com/esphome/esphome/pull/6901) by [@jesserockz](https://github.com/jesserockz)
- Synchronise Device Classes from Home Assistant [esphome#6904](https://github.com/esphome/esphome/pull/6904) by [@esphomebot](https://github.com/esphomebot)
- [ili9xxx] Fix init for GC9A01A [esphome#6913](https://github.com/esphome/esphome/pull/6913) by [@jesserockz](https://github.com/jesserockz)
- [mqtt] Fix datetime copy pasta [esphome#6914](https://github.com/esphome/esphome/pull/6914) by [@jesserockz](https://github.com/jesserockz)
- fix(dallas): make recovery time for 1-bit equal to that of 0-bit [esphome#6763](https://github.com/esphome/esphome/pull/6763) by [@muggenhor](https://github.com/muggenhor)
- [wifi] Fix some access point bugs related to esp-idf 4.4.7 [esphome#6928](https://github.com/esphome/esphome/pull/6928) by [@jesserockz](https://github.com/jesserockz)
- Rename legacy/modern to ota/factory [esphome#6922](https://github.com/esphome/esphome/pull/6922) by [@jesserockz](https://github.com/jesserockz)
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 [esphome#6926](https://github.com/esphome/esphome/pull/6926) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/build-push-action from 5.4.0 to 6.0.0 in /.github/actions/build-image [esphome#6927](https://github.com/esphome/esphome/pull/6927) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/build-push-action from 6.0.0 to 6.0.1 in /.github/actions/build-image [esphome#6934](https://github.com/esphome/esphome/pull/6934) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [network] Default ipv6 to false to always set the flags [esphome#6937](https://github.com/esphome/esphome/pull/6937) by [@jesserockz](https://github.com/jesserockz)
### All changes
- Add IRK support to ble_rssi [esphome#6422](https://github.com/esphome/esphome/pull/6422) by [@chbmuc](https://github.com/chbmuc)
- Add new Error type to skip prepending path [esphome#6716](https://github.com/esphome/esphome/pull/6716) by [@jesserockz](https://github.com/jesserockz)
- [github] Only save platformio cache for dev branch [esphome#6711](https://github.com/esphome/esphome/pull/6711) by [@jesserockz](https://github.com/jesserockz)
- Only cache docker images on dev branch [esphome#6714](https://github.com/esphome/esphome/pull/6714) by [@jesserockz](https://github.com/jesserockz)
- Add pylint to git pre-commit hooks [esphome#6726](https://github.com/esphome/esphome/pull/6726) by [@clydebarrow](https://github.com/clydebarrow)
- separate debug component for each platform in different file [esphome#6715](https://github.com/esphome/esphome/pull/6715) by [@tomaszduda23](https://github.com/tomaszduda23)
- GDK101 support [esphome#4703](https://github.com/esphome/esphome/pull/4703) by [@Szewcson](https://github.com/Szewcson) (new-integration)
- Typing hint and doc fixes [esphome#6729](https://github.com/esphome/esphome/pull/6729) by [@clydebarrow](https://github.com/clydebarrow)
- time_based_cover.cpp with manual control fix [esphome#6719](https://github.com/esphome/esphome/pull/6719) by [@Jorge-Crespo-Celdran](https://github.com/Jorge-Crespo-Celdran)
- [CST816] Add support for Hynitron Microelectronics CST826 capacitive touch [esphome#6682](https://github.com/esphome/esphome/pull/6682) by [@lboue](https://github.com/lboue)
- Bump pytest from 8.1.1 to 8.2.0 [esphome#6732](https://github.com/esphome/esphome/pull/6732) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [web_server] Minor python formatting [esphome#6735](https://github.com/esphome/esphome/pull/6735) by [@jesserockz](https://github.com/jesserockz)
- [esp32_ble] Fix compilation error on esp32c6 [esphome#6734](https://github.com/esphome/esphome/pull/6734) by [@jesserockz](https://github.com/jesserockz)
- [core] Fix minor formatting issues [esphome#6738](https://github.com/esphome/esphome/pull/6738) by [@jesserockz](https://github.com/jesserockz)
- [config] Improve error reporting [esphome#6736](https://github.com/esphome/esphome/pull/6736) by [@clydebarrow](https://github.com/clydebarrow)
- [tests] ``test2.yaml`` has become too large [esphome#6750](https://github.com/esphome/esphome/pull/6750) by [@kbx81](https://github.com/kbx81)
- Bump esphome-dashboard from 20240412.0 to 20240429.1 [esphome#6743](https://github.com/esphome/esphome/pull/6743) by [@dependabot[bot]](https://github.com/apps/dependabot)
- BedJet: expose the outlet temperature on the climate and as a sensor [esphome#6633](https://github.com/esphome/esphome/pull/6633) by [@javawizard](https://github.com/javawizard) (new-platform)
- Add beken_spi_led_strip component [esphome#6515](https://github.com/esphome/esphome/pull/6515) by [@Mat931](https://github.com/Mat931) (new-integration)
- i2c: fix format string specifiers [esphome#6746](https://github.com/esphome/esphome/pull/6746) by [@ius](https://github.com/ius)
- Allow one timing to cancel others [esphome#6744](https://github.com/esphome/esphome/pull/6744) by [@lbilger](https://github.com/lbilger)
- fix rp2040_pio_led flicker and proper multi-strip support [esphome#6194](https://github.com/esphome/esphome/pull/6194) by [@Papa-DMan](https://github.com/Papa-DMan)
- Mirage remote receiver & transmitter [esphome#6479](https://github.com/esphome/esphome/pull/6479) by [@heggi](https://github.com/heggi)
- WPA2 Enterprise - Explicitly set TTLS Phase 2 [esphome#6436](https://github.com/esphome/esphome/pull/6436) by [@shxshxshxshx](https://github.com/shxshxshxshx)
- Fix Prometheus Output to Match Spec [esphome#6032](https://github.com/esphome/esphome/pull/6032) by [@sdwilsh](https://github.com/sdwilsh)
- Skip gpio validation [esphome#5615](https://github.com/esphome/esphome/pull/5615) by [@amcfague](https://github.com/amcfague)
- [core] Migrate to pyproject.toml [esphome#6737](https://github.com/esphome/esphome/pull/6737) by [@jesserockz](https://github.com/jesserockz)
- [core] Move pytest config into pyproject.toml [esphome#6740](https://github.com/esphome/esphome/pull/6740) by [@jesserockz](https://github.com/jesserockz)
- [core] Move pylint config into pyproject.toml [esphome#6739](https://github.com/esphome/esphome/pull/6739) by [@jesserockz](https://github.com/jesserockz)
- [core] Fix running pylint via pre-commit from GUI apps [esphome#6754](https://github.com/esphome/esphome/pull/6754) by [@jesserockz](https://github.com/jesserockz)
- Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change)
- Add ADC multisampling [esphome#6330](https://github.com/esphome/esphome/pull/6330) by [@Mat931](https://github.com/Mat931) (new-feature)
- [core] Fix some extends cases [esphome#6748](https://github.com/esphome/esphome/pull/6748) by [@jesserockz](https://github.com/jesserockz)
- Port wifi_component_esp32_arduino from tcpip_adapter to esp_netif [esphome#6476](https://github.com/esphome/esphome/pull/6476) by [@paravoid](https://github.com/paravoid)
- SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
- Fix wifi compile error on IDF 5.1+ [esphome#6756](https://github.com/esphome/esphome/pull/6756) by [@kbx81](https://github.com/kbx81)
- [core] Update some coroutine priorities [esphome#6755](https://github.com/esphome/esphome/pull/6755) by [@jesserockz](https://github.com/jesserockz)
- INA228/INA229, INA238/INA239, INA237 power/energy/charge monitor (I2C, SPI) [esphome#6138](https://github.com/esphome/esphome/pull/6138) by [@latonita](https://github.com/latonita) (new-integration)
- [nextion] Fix type on sprintf for IDF v5 [esphome#6758](https://github.com/esphome/esphome/pull/6758) by [@edwardtfn](https://github.com/edwardtfn)
- [core] Remove references to deleted setup.py [esphome#6757](https://github.com/esphome/esphome/pull/6757) by [@jesserockz](https://github.com/jesserockz)
- Fix pip3 install [esphome#6771](https://github.com/esphome/esphome/pull/6771) by [@syssi](https://github.com/syssi)
- [tests] make test_build_components work with venv without installing esphome [esphome#6761](https://github.com/esphome/esphome/pull/6761) by [@tomaszduda23](https://github.com/tomaszduda23)
- separate deep_sleep component for each platform in different file [esphome#6762](https://github.com/esphome/esphome/pull/6762) by [@tomaszduda23](https://github.com/tomaszduda23)
- Bump actions/checkout from 4.1.5 to 4.1.6 [esphome#6764](https://github.com/esphome/esphome/pull/6764) by [@dependabot[bot]](https://github.com/apps/dependabot)
- add rp2040 support to the wizard [esphome#6239](https://github.com/esphome/esphome/pull/6239) by [@fodfodfod](https://github.com/fodfodfod)
- [ili9xxx] Add 18bit mode selection and custom init sequence [esphome#6745](https://github.com/esphome/esphome/pull/6745) by [@clydebarrow](https://github.com/clydebarrow)
- Tiny fix in automation.h - unused return value removed [esphome#6760](https://github.com/esphome/esphome/pull/6760) by [@latonita](https://github.com/latonita)
- Uncouple safe_mode from OTA [esphome#6759](https://github.com/esphome/esphome/pull/6759) by [@kbx81](https://github.com/kbx81) (breaking-change)
- Add support for acting as Modbus server [esphome#4874](https://github.com/esphome/esphome/pull/4874) by [@JeroenVanOort](https://github.com/JeroenVanOort)
- Add on_safe_mode trigger [esphome#6790](https://github.com/esphome/esphome/pull/6790) by [@kbx81](https://github.com/kbx81)
- [sx1509] Output open drain pin mode [esphome#6788](https://github.com/esphome/esphome/pull/6788) by [@Swamp-Ig](https://github.com/Swamp-Ig)
- [ledc] Change some logging lines from debug to verbose [esphome#6796](https://github.com/esphome/esphome/pull/6796) by [@jesserockz](https://github.com/jesserockz)
- [haier] ``text_sensor`` and ``button`` platforms [esphome#6780](https://github.com/esphome/esphome/pull/6780) by [@paveldn](https://github.com/paveldn) (new-integration)
- mpr121: Add GPIO support [esphome#6776](https://github.com/esphome/esphome/pull/6776) by [@polyfloyd](https://github.com/polyfloyd) (new-platform)
- [nextion] Add basic functions to Intelligent series [esphome#6791](https://github.com/esphome/esphome/pull/6791) by [@edwardtfn](https://github.com/edwardtfn)
- Fix incorrect naming of the AdaFruit MagTag display. [esphome#6810](https://github.com/esphome/esphome/pull/6810) by [@sasodoma](https://github.com/sasodoma) (breaking-change)
- [tuya] add support for extended services [esphome#6808](https://github.com/esphome/esphome/pull/6808) by [@augs](https://github.com/augs)
- fix libretiny regression from #6715 [esphome#6806](https://github.com/esphome/esphome/pull/6806) by [@augs](https://github.com/augs)
- Make i2s_audio compatible with IDF 5+ [esphome#6534](https://github.com/esphome/esphome/pull/6534) by [@pimdo](https://github.com/pimdo)
- Fix compile errors on ESP32-C6 with latest ESP-IDF [esphome#6822](https://github.com/esphome/esphome/pull/6822) by [@DAVe3283](https://github.com/DAVe3283)
- Use uint8_t instead of uint32_t for 8-bit values on mitsubishi [esphome#6824](https://github.com/esphome/esphome/pull/6824) by [@DAVe3283](https://github.com/DAVe3283)
- Make SPI Ethernet (W5500) compatible with ESP-IDF v5 [esphome#6778](https://github.com/esphome/esphome/pull/6778) by [@fightforlife](https://github.com/fightforlife)
- [wake_on_lan] Make component platform independent [esphome#6815](https://github.com/esphome/esphome/pull/6815) by [@clydebarrow](https://github.com/clydebarrow)
- Fix a bunch of components for IDF 5 compatibility and #6802 [esphome#6805](https://github.com/esphome/esphome/pull/6805) by [@kbx81](https://github.com/kbx81)
- Bump docker/login-action from 3.1.0 to 3.2.0 [esphome#6823](https://github.com/esphome/esphome/pull/6823) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pytest-cov from 4.1.0 to 5.0.0 [esphome#6580](https://github.com/esphome/esphome/pull/6580) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump peter-evans/create-pull-request from 6.0.4 to 6.0.5 [esphome#6635](https://github.com/esphome/esphome/pull/6635) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump black from 24.4.0 to 24.4.2 [esphome#6646](https://github.com/esphome/esphome/pull/6646) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [voice_assistant] Timers [esphome#6821](https://github.com/esphome/esphome/pull/6821) by [@jesserockz](https://github.com/jesserockz) (new-feature)
- [web_server] add entity sorting for v3 [esphome#6445](https://github.com/esphome/esphome/pull/6445) by [@RFDarter](https://github.com/RFDarter)
- [micro_wake_word] Ensure model string is Path [esphome#6826](https://github.com/esphome/esphome/pull/6826) by [@synesthesiam](https://github.com/synesthesiam)
- Fix DHT reading timing for SI7021 on ESP32 [esphome#6604](https://github.com/esphome/esphome/pull/6604) by [@erdembey](https://github.com/erdembey)
- [core] Const-ify some Component fields [esphome#6831](https://github.com/esphome/esphome/pull/6831) by [@jesserockz](https://github.com/jesserockz)
- LTR-303, LTR-329, LTR-553, LTR-556, LTR-559, LTR-659 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6076](https://github.com/esphome/esphome/pull/6076) by [@latonita](https://github.com/latonita) (new-integration)
- Update const.py added missing millimeter [esphome#6834](https://github.com/esphome/esphome/pull/6834) by [@NonaSuomy](https://github.com/NonaSuomy)
- Fix log message in VA for IDF 5 [esphome#6839](https://github.com/esphome/esphome/pull/6839) by [@kbx81](https://github.com/kbx81)
- Replace random non-ascii-print characters with standard substitutes [esphome#6840](https://github.com/esphome/esphome/pull/6840) by [@ptr727](https://github.com/ptr727)
- Wireguard support for bk72 microcontrollers [esphome#6842](https://github.com/esphome/esphome/pull/6842) by [@droscy](https://github.com/droscy)
- Add messages when WiFi and Ethernet components set 'warning' flag. [esphome#6850](https://github.com/esphome/esphome/pull/6850) by [@kpfleming](https://github.com/kpfleming)
- [sntp] fix for ESP-IDF > 5.0 [esphome#6769](https://github.com/esphome/esphome/pull/6769) by [@HeMan](https://github.com/HeMan)
- Avoid unsafe git error when container user and file config volume permissions don't match [esphome#6843](https://github.com/esphome/esphome/pull/6843) by [@ptr727](https://github.com/ptr727)
- Add Ethernet MAC address to ethernet_info [esphome#6835](https://github.com/esphome/esphome/pull/6835) by [@ptr727](https://github.com/ptr727)
- Add host time platform; remove host support from sntp. [esphome#6854](https://github.com/esphome/esphome/pull/6854) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- [wireguard] Implement workaround for crash on IDF 5+ [esphome#6846](https://github.com/esphome/esphome/pull/6846) by [@kbx81](https://github.com/kbx81)
- [ft5x06] Interrupt pin and code quality improvements [esphome#6851](https://github.com/esphome/esphome/pull/6851) by [@jesserockz](https://github.com/jesserockz)
- [ethernet] Add config option to set arbitrary PHY register values [esphome#6836](https://github.com/esphome/esphome/pull/6836) by [@heythisisnate](https://github.com/heythisisnate)
- Add carrier_frequency option to remote_transmitter.transmit_aeha [esphome#6792](https://github.com/esphome/esphome/pull/6792) by [@svxa](https://github.com/svxa)
- Add `invert_position_report` to `tuya.cover` [esphome#6020](https://github.com/esphome/esphome/pull/6020) by [@wrouesnel](https://github.com/wrouesnel)
- [Tuya Climate] Support both datapoint and pins for active state [esphome#6789](https://github.com/esphome/esphome/pull/6789) by [@zry98](https://github.com/zry98)
- [config] Allow file: scheme for git external components [esphome#6844](https://github.com/esphome/esphome/pull/6844) by [@clydebarrow](https://github.com/clydebarrow)
- [ota] http_request update platform [esphome#5586](https://github.com/esphome/esphome/pull/5586) by [@oarcher](https://github.com/oarcher) (new-integration)
- [logger] Fix defines for development [esphome#6870](https://github.com/esphome/esphome/pull/6870) by [@jesserockz](https://github.com/jesserockz)
- [docker] Avoid unsafe git error when container user and file config volume permissions don't match [esphome#6873](https://github.com/esphome/esphome/pull/6873) by [@ptr727](https://github.com/ptr727)
- [datetime] Add logs on DateCall perform [esphome#6868](https://github.com/esphome/esphome/pull/6868) by [@RFDarter](https://github.com/RFDarter)
- fix: arduino media player sets wrong state for announcements [esphome#6849](https://github.com/esphome/esphome/pull/6849) by [@gnumpi](https://github.com/gnumpi)
- [datetime] datetime-datetime strptime support value string without seconds [esphome#6867](https://github.com/esphome/esphome/pull/6867) by [@RFDarter](https://github.com/RFDarter)
- Update webserver local assets to 20240608-093147 [esphome#6874](https://github.com/esphome/esphome/pull/6874) by [@esphomebot](https://github.com/esphomebot)
- fix: arduino media player still sets wrong state. [esphome#6875](https://github.com/esphome/esphome/pull/6875) by [@gnumpi](https://github.com/gnumpi)
- [http_request] Add esp-idf and rp2040 support [esphome#3256](https://github.com/esphome/esphome/pull/3256) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- [i2s_speaker] A few fixes [esphome#6872](https://github.com/esphome/esphome/pull/6872) by [@jesserockz](https://github.com/jesserockz)
- [voice_assistant] Write less data to speaker each loop [esphome#6877](https://github.com/esphome/esphome/pull/6877) by [@jesserockz](https://github.com/jesserockz)
- Bump docker/build-push-action from 5.3.0 to 5.4.0 in /.github/actions/build-image [esphome#6883](https://github.com/esphome/esphome/pull/6883) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Allow parse_json to return a boolean result [esphome#6884](https://github.com/esphome/esphome/pull/6884) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Update webserver local assets to 20240610-230854 [esphome#6886](https://github.com/esphome/esphome/pull/6886) by [@esphomebot](https://github.com/esphomebot)
- [core] Update Entities [esphome#6885](https://github.com/esphome/esphome/pull/6885) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- [Dockerfile] Sync platformio version with requirements.txt [esphome#6888](https://github.com/esphome/esphome/pull/6888) by [@ptr727](https://github.com/ptr727)
- [Deep sleep] Compilation error with IDF >= 5.* [esphome#6879](https://github.com/esphome/esphome/pull/6879) by [@asergunov](https://github.com/asergunov)
- [animation] Allow loading external url at build time [esphome#6876](https://github.com/esphome/esphome/pull/6876) by [@landonr](https://github.com/landonr)
- [waveshare_epaper] Add support for 13.3in-k [esphome#6443](https://github.com/esphome/esphome/pull/6443) by [@pgericson](https://github.com/pgericson)
- Climate IR LG - Support fan only mode and all "on" commands [esphome#3712](https://github.com/esphome/esphome/pull/3712) by [@danieldabate](https://github.com/danieldabate)
- [safe_mode] Allow user-defined interval for successful boot [esphome#6882](https://github.com/esphome/esphome/pull/6882) by [@NMartin354](https://github.com/NMartin354)
- New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change)
- [he60r] Don't publish state unless it has changed. [BUGFIX] [esphome#6869](https://github.com/esphome/esphome/pull/6869) by [@clydebarrow](https://github.com/clydebarrow)
- [image] Make PIL import local [esphome#6864](https://github.com/esphome/esphome/pull/6864) by [@guillempages](https://github.com/guillempages)
- [config] Retain path information in validated configuration [esphome#6785](https://github.com/esphome/esphome/pull/6785) by [@clydebarrow](https://github.com/clydebarrow)
- WebSocket overrides check_origin for reverse proxy configuration [esphome#6845](https://github.com/esphome/esphome/pull/6845) by [@gabest11](https://github.com/gabest11)
- [config] Early termination of validation steps on error [esphome#6837](https://github.com/esphome/esphome/pull/6837) by [@clydebarrow](https://github.com/clydebarrow)
- Fix media_player.volume_set when media player is not started [esphome#6859](https://github.com/esphome/esphome/pull/6859) by [@tetele](https://github.com/tetele)
- [display] SDL2 display driver for host platform [esphome#6825](https://github.com/esphome/esphome/pull/6825) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- [ili9xxx] Implement st7735 support [esphome#6838](https://github.com/esphome/esphome/pull/6838) by [@clydebarrow](https://github.com/clydebarrow)
- [CI] Fix for sdl [esphome#6892](https://github.com/esphome/esphome/pull/6892) by [@jesserockz](https://github.com/jesserockz)
- Add operation_speed option to X9C component [esphome#6890](https://github.com/esphome/esphome/pull/6890) by [@oliverhihn](https://github.com/oliverhihn)
- [host] Execute host program when using run command [esphome#6897](https://github.com/esphome/esphome/pull/6897) by [@jesserockz](https://github.com/jesserockz)
- Bump esphome-dashboard to 20240613.0 [esphome#6901](https://github.com/esphome/esphome/pull/6901) by [@jesserockz](https://github.com/jesserockz)
- Synchronise Device Classes from Home Assistant [esphome#6904](https://github.com/esphome/esphome/pull/6904) by [@esphomebot](https://github.com/esphomebot)
- [ili9xxx] Fix init for GC9A01A [esphome#6913](https://github.com/esphome/esphome/pull/6913) by [@jesserockz](https://github.com/jesserockz)
- [mqtt] Fix datetime copy pasta [esphome#6914](https://github.com/esphome/esphome/pull/6914) by [@jesserockz](https://github.com/jesserockz)
- fix(dallas): make recovery time for 1-bit equal to that of 0-bit [esphome#6763](https://github.com/esphome/esphome/pull/6763) by [@muggenhor](https://github.com/muggenhor)
- [wifi] Fix some access point bugs related to esp-idf 4.4.7 [esphome#6928](https://github.com/esphome/esphome/pull/6928) by [@jesserockz](https://github.com/jesserockz)
- Rename legacy/modern to ota/factory [esphome#6922](https://github.com/esphome/esphome/pull/6922) by [@jesserockz](https://github.com/jesserockz)
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 [esphome#6926](https://github.com/esphome/esphome/pull/6926) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/build-push-action from 5.4.0 to 6.0.0 in /.github/actions/build-image [esphome#6927](https://github.com/esphome/esphome/pull/6927) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/build-push-action from 6.0.0 to 6.0.1 in /.github/actions/build-image [esphome#6934](https://github.com/esphome/esphome/pull/6934) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [network] Default ipv6 to false to always set the flags [esphome#6937](https://github.com/esphome/esphome/pull/6937) by [@jesserockz](https://github.com/jesserockz)

View File

@@ -32,7 +32,7 @@ backup_exclude:
init: false
startup: services
name: ESPHome (beta)
version: 2024.3.0b1
version: 2024.6.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.7.0-dev20240619
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,8 +1,193 @@
## 2024.2.2
## 2024.6.0
- CSE7766: Fix energy calculation [esphome#6286](https://github.com/esphome/esphome/pull/6286) by [@puuu](https://github.com/puuu)
- handling with the negative temperature in the sensor tmp102 [esphome#6316](https://github.com/esphome/esphome/pull/6316) by [@FlyingFeng2021](https://github.com/FlyingFeng2021)
- fix tmp102 negative calculation [esphome#6320](https://github.com/esphome/esphome/pull/6320) by [@ssieb](https://github.com/ssieb)
- auto load output for now [esphome#6309](https://github.com/esphome/esphome/pull/6309) by [@ssieb](https://github.com/ssieb)
- Add wake word phrase to voice assistant start command [esphome#6290](https://github.com/esphome/esphome/pull/6290) by [@jesserockz](https://github.com/jesserockz)
## Full list of changes
### New Features
- Add ADC multisampling [esphome#6330](https://github.com/esphome/esphome/pull/6330) by [@Mat931](https://github.com/Mat931) (new-feature)
- [voice_assistant] Timers [esphome#6821](https://github.com/esphome/esphome/pull/6821) by [@jesserockz](https://github.com/jesserockz) (new-feature)
### New Components
- GDK101 support [esphome#4703](https://github.com/esphome/esphome/pull/4703) by [@Szewcson](https://github.com/Szewcson) (new-integration)
- Add beken_spi_led_strip component [esphome#6515](https://github.com/esphome/esphome/pull/6515) by [@Mat931](https://github.com/Mat931) (new-integration)
- Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change)
- SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
- INA228/INA229, INA238/INA239, INA237 power/energy/charge monitor (I2C, SPI) [esphome#6138](https://github.com/esphome/esphome/pull/6138) by [@latonita](https://github.com/latonita) (new-integration)
- [haier] ``text_sensor`` and ``button`` platforms [esphome#6780](https://github.com/esphome/esphome/pull/6780) by [@paveldn](https://github.com/paveldn) (new-integration)
- LTR-303, LTR-329, LTR-553, LTR-556, LTR-559, LTR-659 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6076](https://github.com/esphome/esphome/pull/6076) by [@latonita](https://github.com/latonita) (new-integration)
- Add host time platform; remove host support from sntp. [esphome#6854](https://github.com/esphome/esphome/pull/6854) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- [ota] http_request update platform [esphome#5586](https://github.com/esphome/esphome/pull/5586) by [@oarcher](https://github.com/oarcher) (new-integration)
- [core] Update Entities [esphome#6885](https://github.com/esphome/esphome/pull/6885) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change)
- [display] SDL2 display driver for host platform [esphome#6825](https://github.com/esphome/esphome/pull/6825) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
### New Platforms
- BedJet: expose the outlet temperature on the climate and as a sensor [esphome#6633](https://github.com/esphome/esphome/pull/6633) by [@javawizard](https://github.com/javawizard) (new-platform)
- mpr121: Add GPIO support [esphome#6776](https://github.com/esphome/esphome/pull/6776) by [@polyfloyd](https://github.com/polyfloyd) (new-platform)
### Breaking Changes
- Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change)
- SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
- Uncouple safe_mode from OTA [esphome#6759](https://github.com/esphome/esphome/pull/6759) by [@kbx81](https://github.com/kbx81) (breaking-change)
- Fix incorrect naming of the AdaFruit MagTag display. [esphome#6810](https://github.com/esphome/esphome/pull/6810) by [@sasodoma](https://github.com/sasodoma) (breaking-change)
- [http_request] Add esp-idf and rp2040 support [esphome#3256](https://github.com/esphome/esphome/pull/3256) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Allow parse_json to return a boolean result [esphome#6884](https://github.com/esphome/esphome/pull/6884) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change)
### Beta Changes
- [CI] Fix for sdl [esphome#6892](https://github.com/esphome/esphome/pull/6892) by [@jesserockz](https://github.com/jesserockz)
- Add operation_speed option to X9C component [esphome#6890](https://github.com/esphome/esphome/pull/6890) by [@oliverhihn](https://github.com/oliverhihn)
- [host] Execute host program when using run command [esphome#6897](https://github.com/esphome/esphome/pull/6897) by [@jesserockz](https://github.com/jesserockz)
- Bump esphome-dashboard to 20240613.0 [esphome#6901](https://github.com/esphome/esphome/pull/6901) by [@jesserockz](https://github.com/jesserockz)
- Synchronise Device Classes from Home Assistant [esphome#6904](https://github.com/esphome/esphome/pull/6904) by [@esphomebot](https://github.com/esphomebot)
- [ili9xxx] Fix init for GC9A01A [esphome#6913](https://github.com/esphome/esphome/pull/6913) by [@jesserockz](https://github.com/jesserockz)
- [mqtt] Fix datetime copy pasta [esphome#6914](https://github.com/esphome/esphome/pull/6914) by [@jesserockz](https://github.com/jesserockz)
- fix(dallas): make recovery time for 1-bit equal to that of 0-bit [esphome#6763](https://github.com/esphome/esphome/pull/6763) by [@muggenhor](https://github.com/muggenhor)
- [wifi] Fix some access point bugs related to esp-idf 4.4.7 [esphome#6928](https://github.com/esphome/esphome/pull/6928) by [@jesserockz](https://github.com/jesserockz)
- Rename legacy/modern to ota/factory [esphome#6922](https://github.com/esphome/esphome/pull/6922) by [@jesserockz](https://github.com/jesserockz)
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 [esphome#6926](https://github.com/esphome/esphome/pull/6926) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/build-push-action from 5.4.0 to 6.0.0 in /.github/actions/build-image [esphome#6927](https://github.com/esphome/esphome/pull/6927) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/build-push-action from 6.0.0 to 6.0.1 in /.github/actions/build-image [esphome#6934](https://github.com/esphome/esphome/pull/6934) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [network] Default ipv6 to false to always set the flags [esphome#6937](https://github.com/esphome/esphome/pull/6937) by [@jesserockz](https://github.com/jesserockz)
### All changes
- Add IRK support to ble_rssi [esphome#6422](https://github.com/esphome/esphome/pull/6422) by [@chbmuc](https://github.com/chbmuc)
- Add new Error type to skip prepending path [esphome#6716](https://github.com/esphome/esphome/pull/6716) by [@jesserockz](https://github.com/jesserockz)
- [github] Only save platformio cache for dev branch [esphome#6711](https://github.com/esphome/esphome/pull/6711) by [@jesserockz](https://github.com/jesserockz)
- Only cache docker images on dev branch [esphome#6714](https://github.com/esphome/esphome/pull/6714) by [@jesserockz](https://github.com/jesserockz)
- Add pylint to git pre-commit hooks [esphome#6726](https://github.com/esphome/esphome/pull/6726) by [@clydebarrow](https://github.com/clydebarrow)
- separate debug component for each platform in different file [esphome#6715](https://github.com/esphome/esphome/pull/6715) by [@tomaszduda23](https://github.com/tomaszduda23)
- GDK101 support [esphome#4703](https://github.com/esphome/esphome/pull/4703) by [@Szewcson](https://github.com/Szewcson) (new-integration)
- Typing hint and doc fixes [esphome#6729](https://github.com/esphome/esphome/pull/6729) by [@clydebarrow](https://github.com/clydebarrow)
- time_based_cover.cpp with manual control fix [esphome#6719](https://github.com/esphome/esphome/pull/6719) by [@Jorge-Crespo-Celdran](https://github.com/Jorge-Crespo-Celdran)
- [CST816] Add support for Hynitron Microelectronics CST826 capacitive touch [esphome#6682](https://github.com/esphome/esphome/pull/6682) by [@lboue](https://github.com/lboue)
- Bump pytest from 8.1.1 to 8.2.0 [esphome#6732](https://github.com/esphome/esphome/pull/6732) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [web_server] Minor python formatting [esphome#6735](https://github.com/esphome/esphome/pull/6735) by [@jesserockz](https://github.com/jesserockz)
- [esp32_ble] Fix compilation error on esp32c6 [esphome#6734](https://github.com/esphome/esphome/pull/6734) by [@jesserockz](https://github.com/jesserockz)
- [core] Fix minor formatting issues [esphome#6738](https://github.com/esphome/esphome/pull/6738) by [@jesserockz](https://github.com/jesserockz)
- [config] Improve error reporting [esphome#6736](https://github.com/esphome/esphome/pull/6736) by [@clydebarrow](https://github.com/clydebarrow)
- [tests] ``test2.yaml`` has become too large [esphome#6750](https://github.com/esphome/esphome/pull/6750) by [@kbx81](https://github.com/kbx81)
- Bump esphome-dashboard from 20240412.0 to 20240429.1 [esphome#6743](https://github.com/esphome/esphome/pull/6743) by [@dependabot[bot]](https://github.com/apps/dependabot)
- BedJet: expose the outlet temperature on the climate and as a sensor [esphome#6633](https://github.com/esphome/esphome/pull/6633) by [@javawizard](https://github.com/javawizard) (new-platform)
- Add beken_spi_led_strip component [esphome#6515](https://github.com/esphome/esphome/pull/6515) by [@Mat931](https://github.com/Mat931) (new-integration)
- i2c: fix format string specifiers [esphome#6746](https://github.com/esphome/esphome/pull/6746) by [@ius](https://github.com/ius)
- Allow one timing to cancel others [esphome#6744](https://github.com/esphome/esphome/pull/6744) by [@lbilger](https://github.com/lbilger)
- fix rp2040_pio_led flicker and proper multi-strip support [esphome#6194](https://github.com/esphome/esphome/pull/6194) by [@Papa-DMan](https://github.com/Papa-DMan)
- Mirage remote receiver & transmitter [esphome#6479](https://github.com/esphome/esphome/pull/6479) by [@heggi](https://github.com/heggi)
- WPA2 Enterprise - Explicitly set TTLS Phase 2 [esphome#6436](https://github.com/esphome/esphome/pull/6436) by [@shxshxshxshx](https://github.com/shxshxshxshx)
- Fix Prometheus Output to Match Spec [esphome#6032](https://github.com/esphome/esphome/pull/6032) by [@sdwilsh](https://github.com/sdwilsh)
- Skip gpio validation [esphome#5615](https://github.com/esphome/esphome/pull/5615) by [@amcfague](https://github.com/amcfague)
- [core] Migrate to pyproject.toml [esphome#6737](https://github.com/esphome/esphome/pull/6737) by [@jesserockz](https://github.com/jesserockz)
- [core] Move pytest config into pyproject.toml [esphome#6740](https://github.com/esphome/esphome/pull/6740) by [@jesserockz](https://github.com/jesserockz)
- [core] Move pylint config into pyproject.toml [esphome#6739](https://github.com/esphome/esphome/pull/6739) by [@jesserockz](https://github.com/jesserockz)
- [core] Fix running pylint via pre-commit from GUI apps [esphome#6754](https://github.com/esphome/esphome/pull/6754) by [@jesserockz](https://github.com/jesserockz)
- Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change)
- Add ADC multisampling [esphome#6330](https://github.com/esphome/esphome/pull/6330) by [@Mat931](https://github.com/Mat931) (new-feature)
- [core] Fix some extends cases [esphome#6748](https://github.com/esphome/esphome/pull/6748) by [@jesserockz](https://github.com/jesserockz)
- Port wifi_component_esp32_arduino from tcpip_adapter to esp_netif [esphome#6476](https://github.com/esphome/esphome/pull/6476) by [@paravoid](https://github.com/paravoid)
- SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
- Fix wifi compile error on IDF 5.1+ [esphome#6756](https://github.com/esphome/esphome/pull/6756) by [@kbx81](https://github.com/kbx81)
- [core] Update some coroutine priorities [esphome#6755](https://github.com/esphome/esphome/pull/6755) by [@jesserockz](https://github.com/jesserockz)
- INA228/INA229, INA238/INA239, INA237 power/energy/charge monitor (I2C, SPI) [esphome#6138](https://github.com/esphome/esphome/pull/6138) by [@latonita](https://github.com/latonita) (new-integration)
- [nextion] Fix type on sprintf for IDF v5 [esphome#6758](https://github.com/esphome/esphome/pull/6758) by [@edwardtfn](https://github.com/edwardtfn)
- [core] Remove references to deleted setup.py [esphome#6757](https://github.com/esphome/esphome/pull/6757) by [@jesserockz](https://github.com/jesserockz)
- Fix pip3 install [esphome#6771](https://github.com/esphome/esphome/pull/6771) by [@syssi](https://github.com/syssi)
- [tests] make test_build_components work with venv without installing esphome [esphome#6761](https://github.com/esphome/esphome/pull/6761) by [@tomaszduda23](https://github.com/tomaszduda23)
- separate deep_sleep component for each platform in different file [esphome#6762](https://github.com/esphome/esphome/pull/6762) by [@tomaszduda23](https://github.com/tomaszduda23)
- Bump actions/checkout from 4.1.5 to 4.1.6 [esphome#6764](https://github.com/esphome/esphome/pull/6764) by [@dependabot[bot]](https://github.com/apps/dependabot)
- add rp2040 support to the wizard [esphome#6239](https://github.com/esphome/esphome/pull/6239) by [@fodfodfod](https://github.com/fodfodfod)
- [ili9xxx] Add 18bit mode selection and custom init sequence [esphome#6745](https://github.com/esphome/esphome/pull/6745) by [@clydebarrow](https://github.com/clydebarrow)
- Tiny fix in automation.h - unused return value removed [esphome#6760](https://github.com/esphome/esphome/pull/6760) by [@latonita](https://github.com/latonita)
- Uncouple safe_mode from OTA [esphome#6759](https://github.com/esphome/esphome/pull/6759) by [@kbx81](https://github.com/kbx81) (breaking-change)
- Add support for acting as Modbus server [esphome#4874](https://github.com/esphome/esphome/pull/4874) by [@JeroenVanOort](https://github.com/JeroenVanOort)
- Add on_safe_mode trigger [esphome#6790](https://github.com/esphome/esphome/pull/6790) by [@kbx81](https://github.com/kbx81)
- [sx1509] Output open drain pin mode [esphome#6788](https://github.com/esphome/esphome/pull/6788) by [@Swamp-Ig](https://github.com/Swamp-Ig)
- [ledc] Change some logging lines from debug to verbose [esphome#6796](https://github.com/esphome/esphome/pull/6796) by [@jesserockz](https://github.com/jesserockz)
- [haier] ``text_sensor`` and ``button`` platforms [esphome#6780](https://github.com/esphome/esphome/pull/6780) by [@paveldn](https://github.com/paveldn) (new-integration)
- mpr121: Add GPIO support [esphome#6776](https://github.com/esphome/esphome/pull/6776) by [@polyfloyd](https://github.com/polyfloyd) (new-platform)
- [nextion] Add basic functions to Intelligent series [esphome#6791](https://github.com/esphome/esphome/pull/6791) by [@edwardtfn](https://github.com/edwardtfn)
- Fix incorrect naming of the AdaFruit MagTag display. [esphome#6810](https://github.com/esphome/esphome/pull/6810) by [@sasodoma](https://github.com/sasodoma) (breaking-change)
- [tuya] add support for extended services [esphome#6808](https://github.com/esphome/esphome/pull/6808) by [@augs](https://github.com/augs)
- fix libretiny regression from #6715 [esphome#6806](https://github.com/esphome/esphome/pull/6806) by [@augs](https://github.com/augs)
- Make i2s_audio compatible with IDF 5+ [esphome#6534](https://github.com/esphome/esphome/pull/6534) by [@pimdo](https://github.com/pimdo)
- Fix compile errors on ESP32-C6 with latest ESP-IDF [esphome#6822](https://github.com/esphome/esphome/pull/6822) by [@DAVe3283](https://github.com/DAVe3283)
- Use uint8_t instead of uint32_t for 8-bit values on mitsubishi [esphome#6824](https://github.com/esphome/esphome/pull/6824) by [@DAVe3283](https://github.com/DAVe3283)
- Make SPI Ethernet (W5500) compatible with ESP-IDF v5 [esphome#6778](https://github.com/esphome/esphome/pull/6778) by [@fightforlife](https://github.com/fightforlife)
- [wake_on_lan] Make component platform independent [esphome#6815](https://github.com/esphome/esphome/pull/6815) by [@clydebarrow](https://github.com/clydebarrow)
- Fix a bunch of components for IDF 5 compatibility and #6802 [esphome#6805](https://github.com/esphome/esphome/pull/6805) by [@kbx81](https://github.com/kbx81)
- Bump docker/login-action from 3.1.0 to 3.2.0 [esphome#6823](https://github.com/esphome/esphome/pull/6823) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pytest-cov from 4.1.0 to 5.0.0 [esphome#6580](https://github.com/esphome/esphome/pull/6580) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump peter-evans/create-pull-request from 6.0.4 to 6.0.5 [esphome#6635](https://github.com/esphome/esphome/pull/6635) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump black from 24.4.0 to 24.4.2 [esphome#6646](https://github.com/esphome/esphome/pull/6646) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [voice_assistant] Timers [esphome#6821](https://github.com/esphome/esphome/pull/6821) by [@jesserockz](https://github.com/jesserockz) (new-feature)
- [web_server] add entity sorting for v3 [esphome#6445](https://github.com/esphome/esphome/pull/6445) by [@RFDarter](https://github.com/RFDarter)
- [micro_wake_word] Ensure model string is Path [esphome#6826](https://github.com/esphome/esphome/pull/6826) by [@synesthesiam](https://github.com/synesthesiam)
- Fix DHT reading timing for SI7021 on ESP32 [esphome#6604](https://github.com/esphome/esphome/pull/6604) by [@erdembey](https://github.com/erdembey)
- [core] Const-ify some Component fields [esphome#6831](https://github.com/esphome/esphome/pull/6831) by [@jesserockz](https://github.com/jesserockz)
- LTR-303, LTR-329, LTR-553, LTR-556, LTR-559, LTR-659 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6076](https://github.com/esphome/esphome/pull/6076) by [@latonita](https://github.com/latonita) (new-integration)
- Update const.py added missing millimeter [esphome#6834](https://github.com/esphome/esphome/pull/6834) by [@NonaSuomy](https://github.com/NonaSuomy)
- Fix log message in VA for IDF 5 [esphome#6839](https://github.com/esphome/esphome/pull/6839) by [@kbx81](https://github.com/kbx81)
- Replace random non-ascii-print characters with standard substitutes [esphome#6840](https://github.com/esphome/esphome/pull/6840) by [@ptr727](https://github.com/ptr727)
- Wireguard support for bk72 microcontrollers [esphome#6842](https://github.com/esphome/esphome/pull/6842) by [@droscy](https://github.com/droscy)
- Add messages when WiFi and Ethernet components set 'warning' flag. [esphome#6850](https://github.com/esphome/esphome/pull/6850) by [@kpfleming](https://github.com/kpfleming)
- [sntp] fix for ESP-IDF > 5.0 [esphome#6769](https://github.com/esphome/esphome/pull/6769) by [@HeMan](https://github.com/HeMan)
- Avoid unsafe git error when container user and file config volume permissions don't match [esphome#6843](https://github.com/esphome/esphome/pull/6843) by [@ptr727](https://github.com/ptr727)
- Add Ethernet MAC address to ethernet_info [esphome#6835](https://github.com/esphome/esphome/pull/6835) by [@ptr727](https://github.com/ptr727)
- Add host time platform; remove host support from sntp. [esphome#6854](https://github.com/esphome/esphome/pull/6854) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- [wireguard] Implement workaround for crash on IDF 5+ [esphome#6846](https://github.com/esphome/esphome/pull/6846) by [@kbx81](https://github.com/kbx81)
- [ft5x06] Interrupt pin and code quality improvements [esphome#6851](https://github.com/esphome/esphome/pull/6851) by [@jesserockz](https://github.com/jesserockz)
- [ethernet] Add config option to set arbitrary PHY register values [esphome#6836](https://github.com/esphome/esphome/pull/6836) by [@heythisisnate](https://github.com/heythisisnate)
- Add carrier_frequency option to remote_transmitter.transmit_aeha [esphome#6792](https://github.com/esphome/esphome/pull/6792) by [@svxa](https://github.com/svxa)
- Add `invert_position_report` to `tuya.cover` [esphome#6020](https://github.com/esphome/esphome/pull/6020) by [@wrouesnel](https://github.com/wrouesnel)
- [Tuya Climate] Support both datapoint and pins for active state [esphome#6789](https://github.com/esphome/esphome/pull/6789) by [@zry98](https://github.com/zry98)
- [config] Allow file: scheme for git external components [esphome#6844](https://github.com/esphome/esphome/pull/6844) by [@clydebarrow](https://github.com/clydebarrow)
- [ota] http_request update platform [esphome#5586](https://github.com/esphome/esphome/pull/5586) by [@oarcher](https://github.com/oarcher) (new-integration)
- [logger] Fix defines for development [esphome#6870](https://github.com/esphome/esphome/pull/6870) by [@jesserockz](https://github.com/jesserockz)
- [docker] Avoid unsafe git error when container user and file config volume permissions don't match [esphome#6873](https://github.com/esphome/esphome/pull/6873) by [@ptr727](https://github.com/ptr727)
- [datetime] Add logs on DateCall perform [esphome#6868](https://github.com/esphome/esphome/pull/6868) by [@RFDarter](https://github.com/RFDarter)
- fix: arduino media player sets wrong state for announcements [esphome#6849](https://github.com/esphome/esphome/pull/6849) by [@gnumpi](https://github.com/gnumpi)
- [datetime] datetime-datetime strptime support value string without seconds [esphome#6867](https://github.com/esphome/esphome/pull/6867) by [@RFDarter](https://github.com/RFDarter)
- Update webserver local assets to 20240608-093147 [esphome#6874](https://github.com/esphome/esphome/pull/6874) by [@esphomebot](https://github.com/esphomebot)
- fix: arduino media player still sets wrong state. [esphome#6875](https://github.com/esphome/esphome/pull/6875) by [@gnumpi](https://github.com/gnumpi)
- [http_request] Add esp-idf and rp2040 support [esphome#3256](https://github.com/esphome/esphome/pull/3256) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- [i2s_speaker] A few fixes [esphome#6872](https://github.com/esphome/esphome/pull/6872) by [@jesserockz](https://github.com/jesserockz)
- [voice_assistant] Write less data to speaker each loop [esphome#6877](https://github.com/esphome/esphome/pull/6877) by [@jesserockz](https://github.com/jesserockz)
- Bump docker/build-push-action from 5.3.0 to 5.4.0 in /.github/actions/build-image [esphome#6883](https://github.com/esphome/esphome/pull/6883) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Allow parse_json to return a boolean result [esphome#6884](https://github.com/esphome/esphome/pull/6884) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Update webserver local assets to 20240610-230854 [esphome#6886](https://github.com/esphome/esphome/pull/6886) by [@esphomebot](https://github.com/esphomebot)
- [core] Update Entities [esphome#6885](https://github.com/esphome/esphome/pull/6885) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- [Dockerfile] Sync platformio version with requirements.txt [esphome#6888](https://github.com/esphome/esphome/pull/6888) by [@ptr727](https://github.com/ptr727)
- [Deep sleep] Compilation error with IDF >= 5.* [esphome#6879](https://github.com/esphome/esphome/pull/6879) by [@asergunov](https://github.com/asergunov)
- [animation] Allow loading external url at build time [esphome#6876](https://github.com/esphome/esphome/pull/6876) by [@landonr](https://github.com/landonr)
- [waveshare_epaper] Add support for 13.3in-k [esphome#6443](https://github.com/esphome/esphome/pull/6443) by [@pgericson](https://github.com/pgericson)
- Climate IR LG - Support fan only mode and all "on" commands [esphome#3712](https://github.com/esphome/esphome/pull/3712) by [@danieldabate](https://github.com/danieldabate)
- [safe_mode] Allow user-defined interval for successful boot [esphome#6882](https://github.com/esphome/esphome/pull/6882) by [@NMartin354](https://github.com/NMartin354)
- New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change)
- [he60r] Don't publish state unless it has changed. [BUGFIX] [esphome#6869](https://github.com/esphome/esphome/pull/6869) by [@clydebarrow](https://github.com/clydebarrow)
- [image] Make PIL import local [esphome#6864](https://github.com/esphome/esphome/pull/6864) by [@guillempages](https://github.com/guillempages)
- [config] Retain path information in validated configuration [esphome#6785](https://github.com/esphome/esphome/pull/6785) by [@clydebarrow](https://github.com/clydebarrow)
- WebSocket overrides check_origin for reverse proxy configuration [esphome#6845](https://github.com/esphome/esphome/pull/6845) by [@gabest11](https://github.com/gabest11)
- [config] Early termination of validation steps on error [esphome#6837](https://github.com/esphome/esphome/pull/6837) by [@clydebarrow](https://github.com/clydebarrow)
- Fix media_player.volume_set when media player is not started [esphome#6859](https://github.com/esphome/esphome/pull/6859) by [@tetele](https://github.com/tetele)
- [display] SDL2 display driver for host platform [esphome#6825](https://github.com/esphome/esphome/pull/6825) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- [ili9xxx] Implement st7735 support [esphome#6838](https://github.com/esphome/esphome/pull/6838) by [@clydebarrow](https://github.com/clydebarrow)
- [CI] Fix for sdl [esphome#6892](https://github.com/esphome/esphome/pull/6892) by [@jesserockz](https://github.com/jesserockz)
- Add operation_speed option to X9C component [esphome#6890](https://github.com/esphome/esphome/pull/6890) by [@oliverhihn](https://github.com/oliverhihn)
- [host] Execute host program when using run command [esphome#6897](https://github.com/esphome/esphome/pull/6897) by [@jesserockz](https://github.com/jesserockz)
- Bump esphome-dashboard to 20240613.0 [esphome#6901](https://github.com/esphome/esphome/pull/6901) by [@jesserockz](https://github.com/jesserockz)
- Synchronise Device Classes from Home Assistant [esphome#6904](https://github.com/esphome/esphome/pull/6904) by [@esphomebot](https://github.com/esphomebot)
- [ili9xxx] Fix init for GC9A01A [esphome#6913](https://github.com/esphome/esphome/pull/6913) by [@jesserockz](https://github.com/jesserockz)
- [mqtt] Fix datetime copy pasta [esphome#6914](https://github.com/esphome/esphome/pull/6914) by [@jesserockz](https://github.com/jesserockz)
- fix(dallas): make recovery time for 1-bit equal to that of 0-bit [esphome#6763](https://github.com/esphome/esphome/pull/6763) by [@muggenhor](https://github.com/muggenhor)
- [wifi] Fix some access point bugs related to esp-idf 4.4.7 [esphome#6928](https://github.com/esphome/esphome/pull/6928) by [@jesserockz](https://github.com/jesserockz)
- Rename legacy/modern to ota/factory [esphome#6922](https://github.com/esphome/esphome/pull/6922) by [@jesserockz](https://github.com/jesserockz)
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 [esphome#6926](https://github.com/esphome/esphome/pull/6926) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/build-push-action from 5.4.0 to 6.0.0 in /.github/actions/build-image [esphome#6927](https://github.com/esphome/esphome/pull/6927) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/build-push-action from 6.0.0 to 6.0.1 in /.github/actions/build-image [esphome#6934](https://github.com/esphome/esphome/pull/6934) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [network] Default ipv6 to false to always set the flags [esphome#6937](https://github.com/esphome/esphome/pull/6937) by [@jesserockz](https://github.com/jesserockz)

View File

@@ -32,7 +32,7 @@ backup_exclude:
init: false
startup: services
name: ESPHome
version: 2024.2.2
version: 2024.6.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.7.0-dev20240619" # 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: '2024.3.0b1' # BETA
version: "2024.6.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: '2024.2.2' # STABLE
version: "2024.6.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