1
0

Compare commits

...

305 Commits

53 changed files with 570 additions and 255 deletions

View File

@@ -3,7 +3,12 @@ FROM ghcr.io/home-assistant/devcontainer:addons
RUN \ RUN \
apt-get update \ apt-get update \
&& apt-get install -y --no-install-recommends \ && apt-get install -y --no-install-recommends \
python3-pip python3-pip \
python3-venv
ENV VIRTUAL_ENV=/opt/venv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
COPY script/requirements.txt / COPY script/requirements.txt /

View File

@@ -14,23 +14,28 @@
"containerEnv": { "containerEnv": {
"WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}" "WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}"
}, },
"extensions": [ "customizations": {
"timonwong.shellcheck", "vscode": {
"esbenp.prettier-vscode" "extensions": [
], "timonwong.shellcheck",
"mounts": [ "esbenp.prettier-vscode",
"type=volume,target=/var/lib/docker" "ms-python.python"
], ],
"settings": { "mounts": [
"terminal.integrated.profiles.linux": { "type=volume,target=/var/lib/docker"
"zsh": { ],
"path": "/usr/bin/zsh" "settings": {
"terminal.integrated.profiles.linux": {
"zsh": {
"path": "/usr/bin/zsh"
}
},
"terminal.integrated.defaultProfile.linux": "zsh",
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"files.trimTrailingWhitespace": true
} }
}, }
"terminal.integrated.defaultProfile.linux": "zsh",
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"files.trimTrailingWhitespace": true
} }
} }

View File

@@ -6,49 +6,56 @@ on:
version: version:
description: The version to release description: The version to release
required: true required: true
content:
description: The content of the release-notes
required: true
jobs: jobs:
create-release: create-release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true continue-on-error: true
steps: steps:
- uses: actions/checkout@v3.3.0 - uses: actions/checkout@v4.1.7
- uses: actions/setup-python@v4 - uses: actions/setup-python@v5.1.0
with: with:
python-version: '3.x' python-version: "3.11"
- run: pip install -r script/requirements.txt - run: pip install -r script/requirements.txt
- run: script/bump-version.py ${{ github.event.inputs.version }} - run: script/bump-version.py ${{ github.event.inputs.version }}
- name: Commit version bump - name: Write Beta changelog
id: commit_version if: ${{ !contains(github.event.inputs.version, 'dev') }}
run: | run: |
git config user.name esphomebot cat > esphome-beta/CHANGELOG.md << 'EOF'
git config user.email esphome@nabucasa.com ## ${{ github.event.inputs.version }}
git add .
git commit -m "Bump version to ${{ github.event.inputs.version }}" ${{ github.event.inputs.content }}
git push EOF
COMMIT=$(git rev-parse HEAD) - name: Write Stable changelog
echo "::set-output name=commit_sha::${COMMIT}" if: ${{ !contains(github.event.inputs.version, 'b') && !contains(github.event.inputs.version, 'dev') }}
- if: ${{ contains(github.event.inputs.version, 'b') }} run: |
name: Create Beta Release cat > esphome/CHANGELOG.md << 'EOF'
uses: actions/create-release@v1.1.4 ## ${{ github.event.inputs.version }}
continue-on-error: true
env: ${{ github.event.inputs.content }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} EOF
with: - name: Commit version bump
tag_name: ${{ github.event.inputs.version }} id: commit_version
release_name: ${{ github.event.inputs.version }} run: |
body: 'See https://beta.esphome.io/changelog/index.html' git config user.name esphomebot
prerelease: true git config user.email esphome@nabucasa.com
commitish: ${{ steps.commit_version.outputs.commit_sha }} git add .
- if: ${{ !contains(github.event.inputs.version, 'b') }} git commit -m "Bump version to ${{ github.event.inputs.version }}"
name: Create Stable Release git push
uses: actions/create-release@v1.1.4 COMMIT=$(git rev-parse HEAD)
continue-on-error: true echo "::set-output name=commit_sha::${COMMIT}"
env: - name: Create a Release
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} uses: actions/create-release@v1.1.4
with: continue-on-error: true
tag_name: ${{ github.event.inputs.version }} if: ${{ !contains(github.event.inputs.version, 'dev') }}
release_name: ${{ github.event.inputs.version }} env:
body: 'See https://esphome.io/changelog/index.html' GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
prerelease: false with:
commitish: ${{ steps.commit_version.outputs.commit_sha }} 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: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3.3.0 - uses: actions/checkout@v4.1.7
- name: Log in to the GitHub container registry - name: Log in to the GitHub container registry
uses: docker/login-action@v2.1.0 uses: docker/login-action@v3.2.0
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v2.1.0 uses: docker/setup-qemu-action@v3.1.0
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2.2.1 uses: docker/setup-buildx-action@v3.4.0
- name: Build and Push - name: Build and Push
uses: docker/build-push-action@v3.3.0 uses: docker/build-push-action@v6.2.0
with: with:
context: . context: .
file: .devcontainer/Dockerfile file: .devcontainer/Dockerfile

View File

@@ -19,16 +19,16 @@ jobs:
channel: dev channel: dev
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v3.3.0 uses: actions/checkout@v4.1.7
- name: 🛠 Setup Python - name: 🛠 Setup Python
uses: actions/setup-python@v4 uses: actions/setup-python@v5.1.0
with: with:
python-version: '3.x' python-version: '3.11'
- name: 🛠 Install dependencies - name: 🛠 Install dependencies
run: pip install -r script/requirements.txt run: pip install -r script/requirements.txt
- name: 🛠 Generate files from template - name: 🛠 Generate files from template
run: python script/generate.py ${{ matrix.channels.channel }} run: python script/generate.py ${{ matrix.channels.channel }}
- name: 🚀 Run Home Assistant Add-on Lint on ${{ matrix.channels.channel }} - name: 🚀 Run Home Assistant Add-on Lint on ${{ matrix.channels.channel }}
uses: frenck/action-addon-linter@v2.11.0 uses: frenck/action-addon-linter@v2.15.1
with: with:
path: "./${{ matrix.channels.folder }}" path: "./${{ matrix.channels.folder }}"

View File

@@ -1 +1,119 @@
See https://esphome.io/changelog/index.html ## 2024.7.0
## Full list of changes
### New Features
- [uptime] Add new timestamp type for uptime sensor [esphome#7029](https://github.com/esphome/esphome/pull/7029) by [@jesserockz](https://github.com/jesserockz) (new-feature)
### Breaking Changes
- [dooya] Flip bit timings [esphome#6947](https://github.com/esphome/esphome/pull/6947) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- [modbus_text_sensor] new default ANSI encoding type [esphome#6975](https://github.com/esphome/esphome/pull/6975) by [@dudanov](https://github.com/dudanov) (breaking-change)
- [micro_wake_word] Version 2 [esphome#7032](https://github.com/esphome/esphome/pull/7032) by [@kahrendt](https://github.com/kahrendt) (breaking-change)
### Beta Changes
- helpers.cpp: Fix GLIBCXX_RELEASE check < 8 [esphome#7062](https://github.com/esphome/esphome/pull/7062) by [@ferbar](https://github.com/ferbar)
- Fix pmsa003i cold boot marked as failed on ESP32 et al [esphome#7064](https://github.com/esphome/esphome/pull/7064) by [@z3liff](https://github.com/z3liff)
- [http_request] Fix follow_redirects on arduino [esphome#7054](https://github.com/esphome/esphome/pull/7054) by [@guillempages](https://github.com/guillempages)
- [ethernet] Fix compile warning for IPv6 [esphome#7048](https://github.com/esphome/esphome/pull/7048) by [@HeMan](https://github.com/HeMan)
- Update webserver local assets to 20240704-081526 [esphome#7041](https://github.com/esphome/esphome/pull/7041) by [@esphomebot](https://github.com/esphomebot)
- Add braces to if statement to avoid compiler warning. [esphome#7036](https://github.com/esphome/esphome/pull/7036) by [@colmbuckley](https://github.com/colmbuckley)
- [mitsubishi] Fix current temperature [esphome#6909](https://github.com/esphome/esphome/pull/6909) by [@ttaborda](https://github.com/ttaborda)
- [climate] fix dump output of unsupported features [esphome#7005](https://github.com/esphome/esphome/pull/7005) by [@dudanov](https://github.com/dudanov)
- [climate-traits] improved performance [esphome#7006](https://github.com/esphome/esphome/pull/7006) by [@dudanov](https://github.com/dudanov)
- Add default icon to restart button [esphome#7076](https://github.com/esphome/esphome/pull/7076) by [@leejoow](https://github.com/leejoow)
- Add support for the Gree YAC1FB9 in climate_ir [esphome#7056](https://github.com/esphome/esphome/pull/7056) by [@topeju](https://github.com/topeju)
- add ESP32-C6 support to esp32_can [esphome#7063](https://github.com/esphome/esphome/pull/7063) by [@Adminius](https://github.com/Adminius)
- Fix voice assistant crash when no speaker configured [esphome#7075](https://github.com/esphome/esphome/pull/7075) by [@kevdliu](https://github.com/kevdliu)
- Bump HeatpumpIR, add protocols, remove IRremoteESP8266 [esphome#6996](https://github.com/esphome/esphome/pull/6996) by [@nagyrobi](https://github.com/nagyrobi)
- LTR390 separate ALS and UV gain and resolution [esphome#7026](https://github.com/esphome/esphome/pull/7026) by [@latonita](https://github.com/latonita)
- [improv_serial] Fix linker error created in #6998 [esphome#7082](https://github.com/esphome/esphome/pull/7082) by [@kbx81](https://github.com/kbx81)
- [i2s_audio] Allow config for primary/secondary i2s mode [esphome#7092](https://github.com/esphome/esphome/pull/7092) by [@jesserockz](https://github.com/jesserockz)
- [micro_wake_word] Allow simpler model config [esphome#7094](https://github.com/esphome/esphome/pull/7094) by [@jesserockz](https://github.com/jesserockz)
- [ota] Print Arduino update errors [esphome#7096](https://github.com/esphome/esphome/pull/7096) by [@jesserockz](https://github.com/jesserockz)
### All changes
- [CI] Update device class sync script for update entities [esphome#6895](https://github.com/esphome/esphome/pull/6895) by [@jesserockz](https://github.com/jesserockz)
- X9c operation speed [esphome#6898](https://github.com/esphome/esphome/pull/6898) by [@oliverhihn](https://github.com/oliverhihn)
- Bump actions/checkout from 4.1.6 to 4.1.7 [esphome#6900](https://github.com/esphome/esphome/pull/6900) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [CI] Allow clang-tidy to see IDF components [esphome#6903](https://github.com/esphome/esphome/pull/6903) by [@kbx81](https://github.com/kbx81)
- [esp32_camera] Use newer library version (for #6802) [esphome#6809](https://github.com/esphome/esphome/pull/6809) by [@kbx81](https://github.com/kbx81)
- [micro_wake_word] Pin to esp-tflite-micro v1.3.1 [esphome#6906](https://github.com/esphome/esphome/pull/6906) by [@kbx81](https://github.com/kbx81)
- VEML7700 Fix GCC build warnings [esphome#6881](https://github.com/esphome/esphome/pull/6881) by [@latonita](https://github.com/latonita)
- IDF 5 fixes for #6802 [esphome#6911](https://github.com/esphome/esphome/pull/6911) by [@kbx81](https://github.com/kbx81)
- [CI-ethernet] Add/fix/organize/clean up ethernet component tests [esphome#6916](https://github.com/esphome/esphome/pull/6916) by [@kbx81](https://github.com/kbx81)
- [CI-a01nyub] Consolidate test files [esphome#6917](https://github.com/esphome/esphome/pull/6917) by [@kbx81](https://github.com/kbx81)
- [CI-api] Test fix for IDF 5+ [esphome#6918](https://github.com/esphome/esphome/pull/6918) by [@kbx81](https://github.com/kbx81)
- [CI-http_request] Test fix for IDF 5+ [esphome#6919](https://github.com/esphome/esphome/pull/6919) by [@kbx81](https://github.com/kbx81)
- [CI-wireguard] Test file consolidation [esphome#6920](https://github.com/esphome/esphome/pull/6920) by [@kbx81](https://github.com/kbx81)
- [CI-esp32_hall] Remove IDF test [esphome#6921](https://github.com/esphome/esphome/pull/6921) by [@kbx81](https://github.com/kbx81)
- [CI] Introduce testing for IDF 5 (and other arbitrary framework versions) [esphome#6802](https://github.com/esphome/esphome/pull/6802) by [@kbx81](https://github.com/kbx81)
- uart: allow setting the UART id in final_validate_device_schema [esphome#6923](https://github.com/esphome/esphome/pull/6923) by [@paravoid](https://github.com/paravoid)
- Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0 [esphome#6935](https://github.com/esphome/esphome/pull/6935) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix garbled graphics on LILYGO T4-S3 display [esphome#6910](https://github.com/esphome/esphome/pull/6910) by [@manuelkasper](https://github.com/manuelkasper)
- Update cover.h for open() and close() compiler warnings [esphome#6936](https://github.com/esphome/esphome/pull/6936) by [@peter--s](https://github.com/peter--s)
- [CI] Add debug component test for LibreTiny [esphome#6945](https://github.com/esphome/esphome/pull/6945) by [@kbx81](https://github.com/kbx81)
- [dooya] Flip bit timings [esphome#6947](https://github.com/esphome/esphome/pull/6947) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- [qspi_amoled] Fix display remaining blank after update() before setup completion [esphome#6958](https://github.com/esphome/esphome/pull/6958) by [@manuelkasper](https://github.com/manuelkasper)
- Bump docker/build-push-action from 6.0.1 to 6.1.0 in /.github/actions/build-image [esphome#6962](https://github.com/esphome/esphome/pull/6962) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Synchronise Device Classes from Home Assistant [esphome#6966](https://github.com/esphome/esphome/pull/6966) by [@esphomebot](https://github.com/esphomebot)
- [qspi_amoled] Fix clear/fill with rotation [esphome#6960](https://github.com/esphome/esphome/pull/6960) by [@manuelkasper](https://github.com/manuelkasper)
- [script] allow template parameters [esphome#6972](https://github.com/esphome/esphome/pull/6972) by [@ssieb](https://github.com/ssieb)
- [haier] climate ID auto generation [esphome#6949](https://github.com/esphome/esphome/pull/6949) by [@dudanov](https://github.com/dudanov)
- [core] Add script to extract actions, conditions, and pin_providers [esphome#6929](https://github.com/esphome/esphome/pull/6929) by [@jesserockz](https://github.com/jesserockz)
- [external_files] Move common ``download_content`` function to ``external_files.py`` [esphome#6982](https://github.com/esphome/esphome/pull/6982) by [@jesserockz](https://github.com/jesserockz)
- Do not build mDNS when mDNS is disabled via yaml [esphome#6979](https://github.com/esphome/esphome/pull/6979) by [@Links2004](https://github.com/Links2004)
- Bump HeatpumpIR and IRremoteESP8266 [esphome#6948](https://github.com/esphome/esphome/pull/6948) by [@nagyrobi](https://github.com/nagyrobi)
- [CI] Add more mdns and safe_mode tests [esphome#6990](https://github.com/esphome/esphome/pull/6990) by [@kbx81](https://github.com/kbx81)
- [CI] Remove old test yamls from CI runs [esphome#6991](https://github.com/esphome/esphome/pull/6991) by [@kbx81](https://github.com/kbx81)
- [CI] Update tests to run against IDF 5.1 [esphome#6992](https://github.com/esphome/esphome/pull/6992) by [@kbx81](https://github.com/kbx81)
- Bump docker/build-push-action from 6.1.0 to 6.2.0 in /.github/actions/build-image [esphome#6999](https://github.com/esphome/esphome/pull/6999) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [tuya] implement command 0x22 - datapoint-async [esphome#6980](https://github.com/esphome/esphome/pull/6980) by [@christiaanderidder](https://github.com/christiaanderidder)
- Allow wireguard to bind to PPP interface [esphome#6989](https://github.com/esphome/esphome/pull/6989) by [@droscy](https://github.com/droscy)
- [modbus_text_sensor] new default ANSI encoding type [esphome#6975](https://github.com/esphome/esphome/pull/6975) by [@dudanov](https://github.com/dudanov) (breaking-change)
- [CI] Remove old test yaml files [esphome#7002](https://github.com/esphome/esphome/pull/7002) by [@kbx81](https://github.com/kbx81)
- Revert "[CI] Update tests to run against IDF 5.1" [esphome#7003](https://github.com/esphome/esphome/pull/7003) by [@jesserockz](https://github.com/jesserockz)
- Enable devcontainer linters [esphome#7019](https://github.com/esphome/esphome/pull/7019) by [@orland0m](https://github.com/orland0m)
- 'uart' and 'improv_serial' need to understand non-UART logger configurations [esphome#6998](https://github.com/esphome/esphome/pull/6998) by [@kpfleming](https://github.com/kpfleming)
- Make crc8 const-correct [esphome#7027](https://github.com/esphome/esphome/pull/7027) by [@nattgris](https://github.com/nattgris)
- [CI] Run all tests when a base test changes [esphome#7010](https://github.com/esphome/esphome/pull/7010) by [@kbx81](https://github.com/kbx81)
- [CI] Update tests to run against IDF 5.1 [esphome#7011](https://github.com/esphome/esphome/pull/7011) by [@kbx81](https://github.com/kbx81)
- [uptime] Add new timestamp type for uptime sensor [esphome#7029](https://github.com/esphome/esphome/pull/7029) by [@jesserockz](https://github.com/jesserockz) (new-feature)
- Fix compile errors on ESP32-C6 with W5500 SPI ethernet [esphome#7030](https://github.com/esphome/esphome/pull/7030) by [@LeeHanYeong](https://github.com/LeeHanYeong)
- Bump docker/setup-buildx-action from 3.3.0 to 3.4.0 [esphome#7043](https://github.com/esphome/esphome/pull/7043) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/build-push-action from 6.2.0 to 6.3.0 in /.github/actions/build-image [esphome#7038](https://github.com/esphome/esphome/pull/7038) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-qemu-action from 3.0.0 to 3.1.0 [esphome#7039](https://github.com/esphome/esphome/pull/7039) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/upload-artifact from 4.3.3 to 4.3.4 [esphome#7047](https://github.com/esphome/esphome/pull/7047) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/download-artifact from 4.1.7 to 4.1.8 [esphome#7046](https://github.com/esphome/esphome/pull/7046) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix display of update state in webinterfae [esphome#7045](https://github.com/esphome/esphome/pull/7045) by [@leejoow](https://github.com/leejoow)
- Haier component update to support more protocol variations [esphome#7040](https://github.com/esphome/esphome/pull/7040) by [@paveldn](https://github.com/paveldn)
- Don't test for IPv6 addresses when min_ipv6_addr_count is 0 [esphome#7037](https://github.com/esphome/esphome/pull/7037) by [@colmbuckley](https://github.com/colmbuckley)
- [CI] Allow running specific target test(s) only [esphome#7051](https://github.com/esphome/esphome/pull/7051) by [@tomaszduda23](https://github.com/tomaszduda23)
- Bump actions/setup-python from 5.1.0 to 5.1.1 in /.github/actions/restore-python [esphome#7071](https://github.com/esphome/esphome/pull/7071) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix RC Switch protocol not transmitting correctly via IR [esphome#5411](https://github.com/esphome/esphome/pull/5411) by [@michd](https://github.com/michd)
- [micro_wake_word] Version 2 [esphome#7032](https://github.com/esphome/esphome/pull/7032) by [@kahrendt](https://github.com/kahrendt) (breaking-change)
- UART component support added for host platform [esphome#6912](https://github.com/esphome/esphome/pull/6912) by [@paveldn](https://github.com/paveldn)
- Configure ap ip for RP2040 [esphome#7065](https://github.com/esphome/esphome/pull/7065) by [@HeMan](https://github.com/HeMan)
- helpers.cpp: Fix GLIBCXX_RELEASE check < 8 [esphome#7062](https://github.com/esphome/esphome/pull/7062) by [@ferbar](https://github.com/ferbar)
- Fix pmsa003i cold boot marked as failed on ESP32 et al [esphome#7064](https://github.com/esphome/esphome/pull/7064) by [@z3liff](https://github.com/z3liff)
- [http_request] Fix follow_redirects on arduino [esphome#7054](https://github.com/esphome/esphome/pull/7054) by [@guillempages](https://github.com/guillempages)
- [ethernet] Fix compile warning for IPv6 [esphome#7048](https://github.com/esphome/esphome/pull/7048) by [@HeMan](https://github.com/HeMan)
- Update webserver local assets to 20240704-081526 [esphome#7041](https://github.com/esphome/esphome/pull/7041) by [@esphomebot](https://github.com/esphomebot)
- Add braces to if statement to avoid compiler warning. [esphome#7036](https://github.com/esphome/esphome/pull/7036) by [@colmbuckley](https://github.com/colmbuckley)
- [mitsubishi] Fix current temperature [esphome#6909](https://github.com/esphome/esphome/pull/6909) by [@ttaborda](https://github.com/ttaborda)
- [climate] fix dump output of unsupported features [esphome#7005](https://github.com/esphome/esphome/pull/7005) by [@dudanov](https://github.com/dudanov)
- [climate-traits] improved performance [esphome#7006](https://github.com/esphome/esphome/pull/7006) by [@dudanov](https://github.com/dudanov)
- Add default icon to restart button [esphome#7076](https://github.com/esphome/esphome/pull/7076) by [@leejoow](https://github.com/leejoow)
- Add support for the Gree YAC1FB9 in climate_ir [esphome#7056](https://github.com/esphome/esphome/pull/7056) by [@topeju](https://github.com/topeju)
- add ESP32-C6 support to esp32_can [esphome#7063](https://github.com/esphome/esphome/pull/7063) by [@Adminius](https://github.com/Adminius)
- Fix voice assistant crash when no speaker configured [esphome#7075](https://github.com/esphome/esphome/pull/7075) by [@kevdliu](https://github.com/kevdliu)
- Bump HeatpumpIR, add protocols, remove IRremoteESP8266 [esphome#6996](https://github.com/esphome/esphome/pull/6996) by [@nagyrobi](https://github.com/nagyrobi)
- LTR390 separate ALS and UV gain and resolution [esphome#7026](https://github.com/esphome/esphome/pull/7026) by [@latonita](https://github.com/latonita)
- [improv_serial] Fix linker error created in #6998 [esphome#7082](https://github.com/esphome/esphome/pull/7082) by [@kbx81](https://github.com/kbx81)
- [i2s_audio] Allow config for primary/secondary i2s mode [esphome#7092](https://github.com/esphome/esphome/pull/7092) by [@jesserockz](https://github.com/jesserockz)
- [micro_wake_word] Allow simpler model config [esphome#7094](https://github.com/esphome/esphome/pull/7094) by [@jesserockz](https://github.com/jesserockz)
- [ota] Print Arduino update errors [esphome#7096](https://github.com/esphome/esphome/pull/7096) by [@jesserockz](https://github.com/jesserockz)

View File

@@ -1,5 +1,4 @@
# Home Assistant Community Add-on: ESPHome # ESPHome Add-on
## Installation ## Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on. The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.

View File

@@ -1,9 +1,8 @@
# ESPHome Home Assistant Add-On # ESPHome Beta Add-On
[![ESPHome logo](https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/logo.png)](https://esphome.io/) [![ESPHome logo][logo]][website]
[![GitHub stars](https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000)](https://github.com/esphome/esphome) [![GitHub stars][github-stars-shield]][repository]
[![GitHub Release][releases-shield]][releases]
[![Discord][discord-shield]][discord] [![Discord][discord-shield]][discord]
## About ## About
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
handled by ESPHome. handled by ESPHome.
<p align="center"> <p align="center">
<img title="ESPHome dashboard screenshot" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img> <img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/screenshot.png" width="700px"></img>
</p> </p>
[View the ESPHome documentation](https://esphome.io/) [View the ESPHome documentation][website]
## Example ## Example
@@ -26,15 +25,17 @@ firmware. For example, to include a [DHT22][dht22].
temperature and humidity sensor, you just need to include 8 lines of YAML temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file: in your configuration file:
<img title="ESPHome DHT configuration example" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/dht-example.png" width="500px"></img> <img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/dht-example.png" width="500px"></img>
Then just click UPLOAD and the sensor will magically appear in Home Assistant: Then just click UPLOAD and the sensor will magically appear in Home Assistant:
<img title="ESPHome Home Assistant MQTT discovery" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/temperature-humidity.png" width="600px"></img> <img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/temperature-humidity.png" width="600px"></img>
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
[dht22]: https://esphome.io/components/sensor/dht.html
[discord]: https://discord.gg/KhAMKrd [discord]: https://discord.gg/KhAMKrd
[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg
[releases]: https://esphome.io/changelog/index.html
[repository]: https://github.com/esphome/esphome [repository]: https://github.com/esphome/esphome
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
[dht22]: https://beta.esphome.io/components/sensor/dht.html
[releases]: https://beta.esphome.io/changelog/index.html
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/logo.png
[website]: https://beta.esphome.io/

View File

@@ -16,22 +16,27 @@ ports:
map: map:
- ssl:ro - ssl:ro
- config:rw - config:rw
discovery:
- esphome
schema: schema:
status_use_ping: bool? status_use_ping: bool?
streamer_mode: bool? streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)? default_compile_process_limit: int(1,)?
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome (beta) name: ESPHome (beta)
version: 2022.12.5 version: 2024.7.0
slug: esphome-beta slug: esphome-beta
description: Beta version of ESPHome add-on description: Beta version of ESPHome add-on
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio
stage: experimental stage: experimental
advanced: true advanced: true
options:
home_assistant_dashboard_integration: false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@@ -23,6 +23,13 @@ configuration:
Please note that the fork or branch you are using **must** be up to Please note that the fork or branch you are using **must** be up to
date with ESPHome dev or the add-on **will not start**. date with ESPHome dev or the add-on **will not start**.
home_assistant_dashboard_integration:
name: Home Assistant Dashboard Integration
description: >-
Enables/Disables the ESPHome dashboard integrating with Home Assistant
for automatic configuration of devices and device updates. If you use
multiple version of the ESPHome add-on, make sure it is enabled on a
single add-on only.
keyfile: keyfile:
name: Private key file name: Private key file
description: >- description: >-

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,9 +1,8 @@
# ESPHome Home Assistant Add-On # ESPHome Dev Add-On
[![ESPHome logo](https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/logo.png)](https://esphome.io/) [![ESPHome logo][logo]][website]
[![GitHub stars](https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000)](https://github.com/esphome/esphome) [![GitHub stars][github-stars-shield]][repository]
[![GitHub Release][releases-shield]][releases]
[![Discord][discord-shield]][discord] [![Discord][discord-shield]][discord]
## About ## About
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
handled by ESPHome. handled by ESPHome.
<p align="center"> <p align="center">
<img title="ESPHome dashboard screenshot" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img> <img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/screenshot.png" width="700px"></img>
</p> </p>
[View the ESPHome documentation](https://esphome.io/) [View the ESPHome documentation][website]
## Example ## Example
@@ -26,15 +25,17 @@ firmware. For example, to include a [DHT22][dht22].
temperature and humidity sensor, you just need to include 8 lines of YAML temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file: in your configuration file:
<img title="ESPHome DHT configuration example" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/dht-example.png" width="500px"></img> <img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/dht-example.png" width="500px"></img>
Then just click UPLOAD and the sensor will magically appear in Home Assistant: Then just click UPLOAD and the sensor will magically appear in Home Assistant:
<img title="ESPHome Home Assistant MQTT discovery" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/temperature-humidity.png" width="600px"></img> <img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
[dht22]: https://esphome.io/components/sensor/dht.html
[discord]: https://discord.gg/KhAMKrd [discord]: https://discord.gg/KhAMKrd
[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg
[releases]: https://esphome.io/changelog/index.html
[repository]: https://github.com/esphome/esphome [repository]: https://github.com/esphome/esphome
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
[dht22]: https://next.esphome.io/components/sensor/dht.html
[releases]: https://next.esphome.io/changelog/index.html
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/logo.png
[website]: https://next.esphome.io/

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

@@ -16,22 +16,28 @@ ports:
map: map:
- ssl:ro - ssl:ro
- config:rw - config:rw
discovery:
- esphome
schema: schema:
status_use_ping: bool? status_use_ping: bool?
streamer_mode: bool? streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)? default_compile_process_limit: int(1,)?
esphome_fork: str? esphome_fork: str?
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome (dev) name: ESPHome (dev)
version: dev version: 2024.8.0-dev20240717
slug: esphome-dev slug: esphome-dev
description: Development version of ESPHome add-on description: Development version of ESPHome add-on
image: ghcr.io/esphome/esphome-hassio
stage: experimental stage: experimental
advanced: true advanced: true
options:
home_assistant_dashboard_integration: false

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

@@ -23,6 +23,13 @@ configuration:
Please note that the fork or branch you are using **must** be up to Please note that the fork or branch you are using **must** be up to
date with ESPHome dev or the add-on **will not start**. date with ESPHome dev or the add-on **will not start**.
home_assistant_dashboard_integration:
name: Home Assistant Dashboard Integration
description: >-
Enables/Disables the ESPHome dashboard integrating with Home Assistant
for automatic configuration of devices and device updates. If you use
multiple version of the ESPHome add-on, make sure it is enabled on a
single add-on only.
keyfile: keyfile:
name: Private key file name: Private key file
description: >- description: >-

View File

@@ -1 +1,119 @@
See https://esphome.io/changelog/index.html ## 2024.7.0
## Full list of changes
### New Features
- [uptime] Add new timestamp type for uptime sensor [esphome#7029](https://github.com/esphome/esphome/pull/7029) by [@jesserockz](https://github.com/jesserockz) (new-feature)
### Breaking Changes
- [dooya] Flip bit timings [esphome#6947](https://github.com/esphome/esphome/pull/6947) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- [modbus_text_sensor] new default ANSI encoding type [esphome#6975](https://github.com/esphome/esphome/pull/6975) by [@dudanov](https://github.com/dudanov) (breaking-change)
- [micro_wake_word] Version 2 [esphome#7032](https://github.com/esphome/esphome/pull/7032) by [@kahrendt](https://github.com/kahrendt) (breaking-change)
### Beta Changes
- helpers.cpp: Fix GLIBCXX_RELEASE check < 8 [esphome#7062](https://github.com/esphome/esphome/pull/7062) by [@ferbar](https://github.com/ferbar)
- Fix pmsa003i cold boot marked as failed on ESP32 et al [esphome#7064](https://github.com/esphome/esphome/pull/7064) by [@z3liff](https://github.com/z3liff)
- [http_request] Fix follow_redirects on arduino [esphome#7054](https://github.com/esphome/esphome/pull/7054) by [@guillempages](https://github.com/guillempages)
- [ethernet] Fix compile warning for IPv6 [esphome#7048](https://github.com/esphome/esphome/pull/7048) by [@HeMan](https://github.com/HeMan)
- Update webserver local assets to 20240704-081526 [esphome#7041](https://github.com/esphome/esphome/pull/7041) by [@esphomebot](https://github.com/esphomebot)
- Add braces to if statement to avoid compiler warning. [esphome#7036](https://github.com/esphome/esphome/pull/7036) by [@colmbuckley](https://github.com/colmbuckley)
- [mitsubishi] Fix current temperature [esphome#6909](https://github.com/esphome/esphome/pull/6909) by [@ttaborda](https://github.com/ttaborda)
- [climate] fix dump output of unsupported features [esphome#7005](https://github.com/esphome/esphome/pull/7005) by [@dudanov](https://github.com/dudanov)
- [climate-traits] improved performance [esphome#7006](https://github.com/esphome/esphome/pull/7006) by [@dudanov](https://github.com/dudanov)
- Add default icon to restart button [esphome#7076](https://github.com/esphome/esphome/pull/7076) by [@leejoow](https://github.com/leejoow)
- Add support for the Gree YAC1FB9 in climate_ir [esphome#7056](https://github.com/esphome/esphome/pull/7056) by [@topeju](https://github.com/topeju)
- add ESP32-C6 support to esp32_can [esphome#7063](https://github.com/esphome/esphome/pull/7063) by [@Adminius](https://github.com/Adminius)
- Fix voice assistant crash when no speaker configured [esphome#7075](https://github.com/esphome/esphome/pull/7075) by [@kevdliu](https://github.com/kevdliu)
- Bump HeatpumpIR, add protocols, remove IRremoteESP8266 [esphome#6996](https://github.com/esphome/esphome/pull/6996) by [@nagyrobi](https://github.com/nagyrobi)
- LTR390 separate ALS and UV gain and resolution [esphome#7026](https://github.com/esphome/esphome/pull/7026) by [@latonita](https://github.com/latonita)
- [improv_serial] Fix linker error created in #6998 [esphome#7082](https://github.com/esphome/esphome/pull/7082) by [@kbx81](https://github.com/kbx81)
- [i2s_audio] Allow config for primary/secondary i2s mode [esphome#7092](https://github.com/esphome/esphome/pull/7092) by [@jesserockz](https://github.com/jesserockz)
- [micro_wake_word] Allow simpler model config [esphome#7094](https://github.com/esphome/esphome/pull/7094) by [@jesserockz](https://github.com/jesserockz)
- [ota] Print Arduino update errors [esphome#7096](https://github.com/esphome/esphome/pull/7096) by [@jesserockz](https://github.com/jesserockz)
### All changes
- [CI] Update device class sync script for update entities [esphome#6895](https://github.com/esphome/esphome/pull/6895) by [@jesserockz](https://github.com/jesserockz)
- X9c operation speed [esphome#6898](https://github.com/esphome/esphome/pull/6898) by [@oliverhihn](https://github.com/oliverhihn)
- Bump actions/checkout from 4.1.6 to 4.1.7 [esphome#6900](https://github.com/esphome/esphome/pull/6900) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [CI] Allow clang-tidy to see IDF components [esphome#6903](https://github.com/esphome/esphome/pull/6903) by [@kbx81](https://github.com/kbx81)
- [esp32_camera] Use newer library version (for #6802) [esphome#6809](https://github.com/esphome/esphome/pull/6809) by [@kbx81](https://github.com/kbx81)
- [micro_wake_word] Pin to esp-tflite-micro v1.3.1 [esphome#6906](https://github.com/esphome/esphome/pull/6906) by [@kbx81](https://github.com/kbx81)
- VEML7700 Fix GCC build warnings [esphome#6881](https://github.com/esphome/esphome/pull/6881) by [@latonita](https://github.com/latonita)
- IDF 5 fixes for #6802 [esphome#6911](https://github.com/esphome/esphome/pull/6911) by [@kbx81](https://github.com/kbx81)
- [CI-ethernet] Add/fix/organize/clean up ethernet component tests [esphome#6916](https://github.com/esphome/esphome/pull/6916) by [@kbx81](https://github.com/kbx81)
- [CI-a01nyub] Consolidate test files [esphome#6917](https://github.com/esphome/esphome/pull/6917) by [@kbx81](https://github.com/kbx81)
- [CI-api] Test fix for IDF 5+ [esphome#6918](https://github.com/esphome/esphome/pull/6918) by [@kbx81](https://github.com/kbx81)
- [CI-http_request] Test fix for IDF 5+ [esphome#6919](https://github.com/esphome/esphome/pull/6919) by [@kbx81](https://github.com/kbx81)
- [CI-wireguard] Test file consolidation [esphome#6920](https://github.com/esphome/esphome/pull/6920) by [@kbx81](https://github.com/kbx81)
- [CI-esp32_hall] Remove IDF test [esphome#6921](https://github.com/esphome/esphome/pull/6921) by [@kbx81](https://github.com/kbx81)
- [CI] Introduce testing for IDF 5 (and other arbitrary framework versions) [esphome#6802](https://github.com/esphome/esphome/pull/6802) by [@kbx81](https://github.com/kbx81)
- uart: allow setting the UART id in final_validate_device_schema [esphome#6923](https://github.com/esphome/esphome/pull/6923) by [@paravoid](https://github.com/paravoid)
- Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0 [esphome#6935](https://github.com/esphome/esphome/pull/6935) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix garbled graphics on LILYGO T4-S3 display [esphome#6910](https://github.com/esphome/esphome/pull/6910) by [@manuelkasper](https://github.com/manuelkasper)
- Update cover.h for open() and close() compiler warnings [esphome#6936](https://github.com/esphome/esphome/pull/6936) by [@peter--s](https://github.com/peter--s)
- [CI] Add debug component test for LibreTiny [esphome#6945](https://github.com/esphome/esphome/pull/6945) by [@kbx81](https://github.com/kbx81)
- [dooya] Flip bit timings [esphome#6947](https://github.com/esphome/esphome/pull/6947) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- [qspi_amoled] Fix display remaining blank after update() before setup completion [esphome#6958](https://github.com/esphome/esphome/pull/6958) by [@manuelkasper](https://github.com/manuelkasper)
- Bump docker/build-push-action from 6.0.1 to 6.1.0 in /.github/actions/build-image [esphome#6962](https://github.com/esphome/esphome/pull/6962) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Synchronise Device Classes from Home Assistant [esphome#6966](https://github.com/esphome/esphome/pull/6966) by [@esphomebot](https://github.com/esphomebot)
- [qspi_amoled] Fix clear/fill with rotation [esphome#6960](https://github.com/esphome/esphome/pull/6960) by [@manuelkasper](https://github.com/manuelkasper)
- [script] allow template parameters [esphome#6972](https://github.com/esphome/esphome/pull/6972) by [@ssieb](https://github.com/ssieb)
- [haier] climate ID auto generation [esphome#6949](https://github.com/esphome/esphome/pull/6949) by [@dudanov](https://github.com/dudanov)
- [core] Add script to extract actions, conditions, and pin_providers [esphome#6929](https://github.com/esphome/esphome/pull/6929) by [@jesserockz](https://github.com/jesserockz)
- [external_files] Move common ``download_content`` function to ``external_files.py`` [esphome#6982](https://github.com/esphome/esphome/pull/6982) by [@jesserockz](https://github.com/jesserockz)
- Do not build mDNS when mDNS is disabled via yaml [esphome#6979](https://github.com/esphome/esphome/pull/6979) by [@Links2004](https://github.com/Links2004)
- Bump HeatpumpIR and IRremoteESP8266 [esphome#6948](https://github.com/esphome/esphome/pull/6948) by [@nagyrobi](https://github.com/nagyrobi)
- [CI] Add more mdns and safe_mode tests [esphome#6990](https://github.com/esphome/esphome/pull/6990) by [@kbx81](https://github.com/kbx81)
- [CI] Remove old test yamls from CI runs [esphome#6991](https://github.com/esphome/esphome/pull/6991) by [@kbx81](https://github.com/kbx81)
- [CI] Update tests to run against IDF 5.1 [esphome#6992](https://github.com/esphome/esphome/pull/6992) by [@kbx81](https://github.com/kbx81)
- Bump docker/build-push-action from 6.1.0 to 6.2.0 in /.github/actions/build-image [esphome#6999](https://github.com/esphome/esphome/pull/6999) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [tuya] implement command 0x22 - datapoint-async [esphome#6980](https://github.com/esphome/esphome/pull/6980) by [@christiaanderidder](https://github.com/christiaanderidder)
- Allow wireguard to bind to PPP interface [esphome#6989](https://github.com/esphome/esphome/pull/6989) by [@droscy](https://github.com/droscy)
- [modbus_text_sensor] new default ANSI encoding type [esphome#6975](https://github.com/esphome/esphome/pull/6975) by [@dudanov](https://github.com/dudanov) (breaking-change)
- [CI] Remove old test yaml files [esphome#7002](https://github.com/esphome/esphome/pull/7002) by [@kbx81](https://github.com/kbx81)
- Revert "[CI] Update tests to run against IDF 5.1" [esphome#7003](https://github.com/esphome/esphome/pull/7003) by [@jesserockz](https://github.com/jesserockz)
- Enable devcontainer linters [esphome#7019](https://github.com/esphome/esphome/pull/7019) by [@orland0m](https://github.com/orland0m)
- 'uart' and 'improv_serial' need to understand non-UART logger configurations [esphome#6998](https://github.com/esphome/esphome/pull/6998) by [@kpfleming](https://github.com/kpfleming)
- Make crc8 const-correct [esphome#7027](https://github.com/esphome/esphome/pull/7027) by [@nattgris](https://github.com/nattgris)
- [CI] Run all tests when a base test changes [esphome#7010](https://github.com/esphome/esphome/pull/7010) by [@kbx81](https://github.com/kbx81)
- [CI] Update tests to run against IDF 5.1 [esphome#7011](https://github.com/esphome/esphome/pull/7011) by [@kbx81](https://github.com/kbx81)
- [uptime] Add new timestamp type for uptime sensor [esphome#7029](https://github.com/esphome/esphome/pull/7029) by [@jesserockz](https://github.com/jesserockz) (new-feature)
- Fix compile errors on ESP32-C6 with W5500 SPI ethernet [esphome#7030](https://github.com/esphome/esphome/pull/7030) by [@LeeHanYeong](https://github.com/LeeHanYeong)
- Bump docker/setup-buildx-action from 3.3.0 to 3.4.0 [esphome#7043](https://github.com/esphome/esphome/pull/7043) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/build-push-action from 6.2.0 to 6.3.0 in /.github/actions/build-image [esphome#7038](https://github.com/esphome/esphome/pull/7038) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-qemu-action from 3.0.0 to 3.1.0 [esphome#7039](https://github.com/esphome/esphome/pull/7039) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/upload-artifact from 4.3.3 to 4.3.4 [esphome#7047](https://github.com/esphome/esphome/pull/7047) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/download-artifact from 4.1.7 to 4.1.8 [esphome#7046](https://github.com/esphome/esphome/pull/7046) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix display of update state in webinterfae [esphome#7045](https://github.com/esphome/esphome/pull/7045) by [@leejoow](https://github.com/leejoow)
- Haier component update to support more protocol variations [esphome#7040](https://github.com/esphome/esphome/pull/7040) by [@paveldn](https://github.com/paveldn)
- Don't test for IPv6 addresses when min_ipv6_addr_count is 0 [esphome#7037](https://github.com/esphome/esphome/pull/7037) by [@colmbuckley](https://github.com/colmbuckley)
- [CI] Allow running specific target test(s) only [esphome#7051](https://github.com/esphome/esphome/pull/7051) by [@tomaszduda23](https://github.com/tomaszduda23)
- Bump actions/setup-python from 5.1.0 to 5.1.1 in /.github/actions/restore-python [esphome#7071](https://github.com/esphome/esphome/pull/7071) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix RC Switch protocol not transmitting correctly via IR [esphome#5411](https://github.com/esphome/esphome/pull/5411) by [@michd](https://github.com/michd)
- [micro_wake_word] Version 2 [esphome#7032](https://github.com/esphome/esphome/pull/7032) by [@kahrendt](https://github.com/kahrendt) (breaking-change)
- UART component support added for host platform [esphome#6912](https://github.com/esphome/esphome/pull/6912) by [@paveldn](https://github.com/paveldn)
- Configure ap ip for RP2040 [esphome#7065](https://github.com/esphome/esphome/pull/7065) by [@HeMan](https://github.com/HeMan)
- helpers.cpp: Fix GLIBCXX_RELEASE check < 8 [esphome#7062](https://github.com/esphome/esphome/pull/7062) by [@ferbar](https://github.com/ferbar)
- Fix pmsa003i cold boot marked as failed on ESP32 et al [esphome#7064](https://github.com/esphome/esphome/pull/7064) by [@z3liff](https://github.com/z3liff)
- [http_request] Fix follow_redirects on arduino [esphome#7054](https://github.com/esphome/esphome/pull/7054) by [@guillempages](https://github.com/guillempages)
- [ethernet] Fix compile warning for IPv6 [esphome#7048](https://github.com/esphome/esphome/pull/7048) by [@HeMan](https://github.com/HeMan)
- Update webserver local assets to 20240704-081526 [esphome#7041](https://github.com/esphome/esphome/pull/7041) by [@esphomebot](https://github.com/esphomebot)
- Add braces to if statement to avoid compiler warning. [esphome#7036](https://github.com/esphome/esphome/pull/7036) by [@colmbuckley](https://github.com/colmbuckley)
- [mitsubishi] Fix current temperature [esphome#6909](https://github.com/esphome/esphome/pull/6909) by [@ttaborda](https://github.com/ttaborda)
- [climate] fix dump output of unsupported features [esphome#7005](https://github.com/esphome/esphome/pull/7005) by [@dudanov](https://github.com/dudanov)
- [climate-traits] improved performance [esphome#7006](https://github.com/esphome/esphome/pull/7006) by [@dudanov](https://github.com/dudanov)
- Add default icon to restart button [esphome#7076](https://github.com/esphome/esphome/pull/7076) by [@leejoow](https://github.com/leejoow)
- Add support for the Gree YAC1FB9 in climate_ir [esphome#7056](https://github.com/esphome/esphome/pull/7056) by [@topeju](https://github.com/topeju)
- add ESP32-C6 support to esp32_can [esphome#7063](https://github.com/esphome/esphome/pull/7063) by [@Adminius](https://github.com/Adminius)
- Fix voice assistant crash when no speaker configured [esphome#7075](https://github.com/esphome/esphome/pull/7075) by [@kevdliu](https://github.com/kevdliu)
- Bump HeatpumpIR, add protocols, remove IRremoteESP8266 [esphome#6996](https://github.com/esphome/esphome/pull/6996) by [@nagyrobi](https://github.com/nagyrobi)
- LTR390 separate ALS and UV gain and resolution [esphome#7026](https://github.com/esphome/esphome/pull/7026) by [@latonita](https://github.com/latonita)
- [improv_serial] Fix linker error created in #6998 [esphome#7082](https://github.com/esphome/esphome/pull/7082) by [@kbx81](https://github.com/kbx81)
- [i2s_audio] Allow config for primary/secondary i2s mode [esphome#7092](https://github.com/esphome/esphome/pull/7092) by [@jesserockz](https://github.com/jesserockz)
- [micro_wake_word] Allow simpler model config [esphome#7094](https://github.com/esphome/esphome/pull/7094) by [@jesserockz](https://github.com/jesserockz)
- [ota] Print Arduino update errors [esphome#7096](https://github.com/esphome/esphome/pull/7096) by [@jesserockz](https://github.com/jesserockz)

View File

@@ -1,5 +1,4 @@
# Home Assistant Community Add-on: ESPHome # ESPHome Add-on
## Installation ## Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on. The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.

View File

@@ -1,9 +1,8 @@
# ESPHome Home Assistant Add-On # ESPHome Add-On
[![ESPHome logo](https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/logo.png)](https://esphome.io/) [![ESPHome logo][logo]][website]
[![GitHub stars](https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000)](https://github.com/esphome/esphome) [![GitHub stars][github-stars-shield]][repository]
[![GitHub Release][releases-shield]][releases]
[![Discord][discord-shield]][discord] [![Discord][discord-shield]][discord]
## About ## About
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
handled by ESPHome. handled by ESPHome.
<p align="center"> <p align="center">
<img title="ESPHome dashboard screenshot" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img> <img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/screenshot.png" width="700px"></img>
</p> </p>
[View the ESPHome documentation](https://esphome.io/) [View the ESPHome documentation][website]
## Example ## Example
@@ -26,15 +25,17 @@ firmware. For example, to include a [DHT22][dht22].
temperature and humidity sensor, you just need to include 8 lines of YAML temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file: in your configuration file:
<img title="ESPHome DHT configuration example" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/dht-example.png" width="500px"></img> <img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/dht-example.png" width="500px"></img>
Then just click UPLOAD and the sensor will magically appear in Home Assistant: Then just click UPLOAD and the sensor will magically appear in Home Assistant:
<img title="ESPHome Home Assistant MQTT discovery" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/temperature-humidity.png" width="600px"></img> <img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/temperature-humidity.png" width="600px"></img>
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
[dht22]: https://esphome.io/components/sensor/dht.html
[discord]: https://discord.gg/KhAMKrd [discord]: https://discord.gg/KhAMKrd
[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg
[releases]: https://esphome.io/changelog/index.html
[repository]: https://github.com/esphome/esphome [repository]: https://github.com/esphome/esphome
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
[dht22]: https://esphome.io/components/sensor/dht.html
[releases]: https://esphome.io/changelog/index.html
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome/logo.png
[website]: https://esphome.io/

View File

@@ -16,20 +16,23 @@ ports:
map: map:
- ssl:ro - ssl:ro
- config:rw - config:rw
discovery:
- esphome
schema: schema:
status_use_ping: bool? status_use_ping: bool?
streamer_mode: bool? streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)? default_compile_process_limit: int(1,)?
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome name: ESPHome
version: 2022.12.5 version: 2024.7.0
slug: esphome slug: esphome
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -23,6 +23,13 @@ configuration:
Please note that the fork or branch you are using **must** be up to Please note that the fork or branch you are using **must** be up to
date with ESPHome dev or the add-on **will not start**. date with ESPHome dev or the add-on **will not start**.
home_assistant_dashboard_integration:
name: Home Assistant Dashboard Integration
description: >-
Enables/Disables the ESPHome dashboard integrating with Home Assistant
for automatic configuration of devices and device updates. If you use
multiple version of the ESPHome add-on, make sure it is enabled on a
single add-on only.
keyfile: keyfile:
name: Private key file name: Private key file
description: >- description: >-

View File

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

View File

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

View File

@@ -1 +0,0 @@
See https://esphome.io/changelog/index.html

View File

@@ -1,5 +1,4 @@
# Home Assistant Community Add-on: ESPHome # ESPHome Add-on
## Installation ## Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on. The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.

View File

@@ -1,9 +1,8 @@
# ESPHome Home Assistant Add-On # ESPHome Add-On
[![ESPHome logo](https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/logo.png)](https://esphome.io/) [![ESPHome logo][logo]][website]
[![GitHub stars](https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000)](https://github.com/esphome/esphome) [![GitHub stars][github-stars-shield]][repository]
[![GitHub Release][releases-shield]][releases]
[![Discord][discord-shield]][discord] [![Discord][discord-shield]][discord]
## About ## About
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
handled by ESPHome. handled by ESPHome.
<p align="center"> <p align="center">
<img title="ESPHome dashboard screenshot" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img> <img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/screenshot.png" width="700px"></img>
</p> </p>
[View the ESPHome documentation](https://esphome.io/) [View the ESPHome documentation][website]
## Example ## Example
@@ -26,15 +25,17 @@ firmware. For example, to include a [DHT22][dht22].
temperature and humidity sensor, you just need to include 8 lines of YAML temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file: in your configuration file:
<img title="ESPHome DHT configuration example" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/dht-example.png" width="500px"></img> <img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/dht-example.png" width="500px"></img>
Then just click UPLOAD and the sensor will magically appear in Home Assistant: Then just click UPLOAD and the sensor will magically appear in Home Assistant:
<img title="ESPHome Home Assistant MQTT discovery" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/temperature-humidity.png" width="600px"></img> <img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/temperature-humidity.png" width="600px"></img>
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
[dht22]: https://esphome.io/components/sensor/dht.html
[discord]: https://discord.gg/KhAMKrd [discord]: https://discord.gg/KhAMKrd
[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg
[releases]: https://esphome.io/changelog/index.html
[repository]: https://github.com/esphome/esphome [repository]: https://github.com/esphome/esphome
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
[dht22]: https://esphome.io/components/sensor/dht.html
[releases]: https://esphome.io/changelog/index.html
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome/logo.png
[website]: https://esphome.io/

View File

@@ -16,75 +16,85 @@ base: &base
# Ingress settings # Ingress settings
ingress: true ingress: true
ingress_port: 0 ingress_port: 0
panel_icon: 'mdi:chip' panel_icon: "mdi:chip"
# Automatically add UART devices to add-on # Automatically add UART devices to add-on
uart: true uart: true
ports: ports:
'6052/tcp': null "6052/tcp": null
map: map:
- ssl:ro - ssl:ro
- config:rw - config:rw
discovery:
- esphome
schema: schema:
status_use_ping: bool? status_use_ping: bool?
streamer_mode: bool? streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)? default_compile_process_limit: int(1,)?
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- "*/*/" - "*/*/"
# Disable docker init for s6 # Disable docker init for s6
init: false init: false
# Make sure dashboard is available for core
startup: services
esphome-dev: esphome-dev:
<<: *base <<: *base
directory: esphome-dev directory: esphome-dev
name: ESPHome (dev) name: ESPHome (dev)
version: 'dev' # DEV version: "2024.8.0-dev20240717" # DEV
slug: esphome-dev slug: esphome-dev
description: "Development version of ESPHome add-on" description: "Development version of ESPHome add-on"
url: https://next.esphome.io/ url: https://next.esphome.io/
image: ghcr.io/esphome/esphome-hassio
stage: experimental stage: experimental
advanced: true advanced: true
schema: schema:
status_use_ping: bool? status_use_ping: bool?
streamer_mode: bool? streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)? default_compile_process_limit: int(1,)?
esphome_fork: str? esphome_fork: str?
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
base_image: ghcr.io/esphome/esphome-hassio:dev options:
home_assistant_dashboard_integration: false
esphome-beta: esphome-beta:
<<: *base <<: *base
directory: esphome-beta directory: esphome-beta
name: ESPHome (beta) name: ESPHome (beta)
version: '2022.12.5' # BETA version: "2024.7.0" # BETA
slug: esphome-beta slug: esphome-beta
description: "Beta version of ESPHome add-on" description: "Beta version of ESPHome add-on"
url: https://beta.esphome.io/ url: https://beta.esphome.io/
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio
stage: experimental stage: experimental
advanced: true advanced: true
options:
home_assistant_dashboard_integration: false
esphome-stable: esphome-stable:
<<: *base <<: *base
directory: esphome directory: esphome
name: ESPHome name: ESPHome
version: '2022.12.5' # STABLE version: "2024.7.0" # STABLE
slug: esphome slug: esphome
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices" description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio
copy_files: copy_files:
CHANGELOG.md: - DOCS.md
DOCS.md: - icon.png
icon.png: - logo.png
logo.png: - README.md
README.md: - translations/en.yaml
translations/en.yaml: - images/dht-example.png
- images/screenshot.png
- images/temperature-humidity.png

41
template/beta/README.md Normal file
View File

@@ -0,0 +1,41 @@
# ESPHome Beta Add-On
[![ESPHome logo][logo]][website]
[![GitHub stars][github-stars-shield]][repository]
[![Discord][discord-shield]][discord]
## About
This add-on allows you to manage and program your ESP8266 and ESP32 based microcontrollers
directly through Home Assistant **with no programming experience required**. All you need to do
is write YAML configuration files; the rest (over-the-air updates, compiling) is all
handled by ESPHome.
<p align="center">
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/screenshot.png" width="700px"></img>
</p>
[View the ESPHome documentation][website]
## Example
With ESPHome, you can go from a few lines of YAML straight to a custom-made
firmware. For example, to include a [DHT22][dht22].
temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file:
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/dht-example.png" width="500px"></img>
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/temperature-humidity.png" width="600px"></img>
[discord]: https://discord.gg/KhAMKrd
[repository]: https://github.com/esphome/esphome
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
[dht22]: https://beta.esphome.io/components/sensor/dht.html
[releases]: https://beta.esphome.io/changelog/index.html
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/logo.png
[website]: https://beta.esphome.io/

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

41
template/dev/README.md Normal file
View File

@@ -0,0 +1,41 @@
# ESPHome Dev Add-On
[![ESPHome logo][logo]][website]
[![GitHub stars][github-stars-shield]][repository]
[![Discord][discord-shield]][discord]
## About
This add-on allows you to manage and program your ESP8266 and ESP32 based microcontrollers
directly through Home Assistant **with no programming experience required**. All you need to do
is write YAML configuration files; the rest (over-the-air updates, compiling) is all
handled by ESPHome.
<p align="center">
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/screenshot.png" width="700px"></img>
</p>
[View the ESPHome documentation][website]
## Example
With ESPHome, you can go from a few lines of YAML straight to a custom-made
firmware. For example, to include a [DHT22][dht22].
temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file:
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/dht-example.png" width="500px"></img>
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
[discord]: https://discord.gg/KhAMKrd
[repository]: https://github.com/esphome/esphome
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
[dht22]: https://next.esphome.io/components/sensor/dht.html
[releases]: https://next.esphome.io/changelog/index.html
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/logo.png
[website]: https://next.esphome.io/

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.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -23,6 +23,13 @@ configuration:
Please note that the fork or branch you are using **must** be up to Please note that the fork or branch you are using **must** be up to
date with ESPHome dev or the add-on **will not start**. date with ESPHome dev or the add-on **will not start**.
home_assistant_dashboard_integration:
name: Home Assistant Dashboard Integration
description: >-
Enables/Disables the ESPHome dashboard integrating with Home Assistant
for automatic configuration of devices and device updates. If you use
multiple version of the ESPHome add-on, make sure it is enabled on a
single add-on only.
keyfile: keyfile:
name: Private key file name: Private key file
description: >- description: >-