1
0

Compare commits

...

93 Commits

16 changed files with 105 additions and 554 deletions

View File

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

View File

@@ -19,9 +19,9 @@ jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v4.1.6
- name: Log in to the GitHub container registry - name: Log in to the GitHub container registry
uses: docker/login-action@v3.0.0 uses: docker/login-action@v3.2.0
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
with: with:
registry: ghcr.io registry: ghcr.io
@@ -30,9 +30,9 @@ jobs:
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v3.0.0 uses: docker/setup-qemu-action@v3.0.0
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.0.0 uses: docker/setup-buildx-action@v3.3.0
- name: Build and Push - name: Build and Push
uses: docker/build-push-action@v5.1.0 uses: docker/build-push-action@v5.3.0
with: with:
context: . context: .
file: .devcontainer/Dockerfile file: .devcontainer/Dockerfile

View File

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

View File

@@ -1,195 +1,6 @@
## 2023.12.0 ## 2024.5.5
## Full list of changes - [voice_assistant] Half the microphone ringbuffer size [esphome#6830](https://github.com/esphome/esphome/pull/6830) by [@jesserockz](https://github.com/jesserockz)
- [i2s_speaker] Add buffer allocation failure checks [esphome#6829](https://github.com/esphome/esphome/pull/6829) by [@jesserockz](https://github.com/jesserockz)
### New Components - [improv_serial] Fix for IDF 4.4.7 [esphome#6855](https://github.com/esphome/esphome/pull/6855) by [@kbx81](https://github.com/kbx81)
- Add ENS160 Sensor [esphome#4243](https://github.com/esphome/esphome/pull/4243) by [@vincentscode](https://github.com/vincentscode) (new-integration)
- Create GT911 Touchscreen component [esphome#4027](https://github.com/esphome/esphome/pull/4027) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Pylontech integration (solar battery bank) [esphome#4688](https://github.com/esphome/esphome/pull/4688) by [@functionpointer](https://github.com/functionpointer) (new-integration)
- Add Chamberlain/HomEntry HE60R garage door opener [esphome#5834](https://github.com/esphome/esphome/pull/5834) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Add graphical display menu [esphome#4105](https://github.com/esphome/esphome/pull/4105) by [@MrMDavidson](https://github.com/MrMDavidson) (new-integration)
- Updating the touchscreen interface structure [esphome#4596](https://github.com/esphome/esphome/pull/4596) by [@nielsnl68](https://github.com/nielsnl68) (new-integration) (breaking-change)
- Added the A02YYUW distance sensor [esphome#5729](https://github.com/esphome/esphome/pull/5729) by [@TH-Braemer](https://github.com/TH-Braemer) (new-integration)
- Add support for PN7160 [esphome#5486](https://github.com/esphome/esphome/pull/5486) by [@kbx81](https://github.com/kbx81) (new-integration)
- Add support for PN7150 [esphome#5487](https://github.com/esphome/esphome/pull/5487) by [@kbx81](https://github.com/kbx81) (new-integration)
### Breaking Changes
- Add proper support for SH1107 to SSD1306 component [esphome#5166](https://github.com/esphome/esphome/pull/5166) by [@nikitakuklev](https://github.com/nikitakuklev) (breaking-change)
- sen5x fix temperature compensation and gas tuning [esphome#4901](https://github.com/esphome/esphome/pull/4901) by [@matt7aylor](https://github.com/matt7aylor) (breaking-change)
- Ensure names containing characters other than `a-z` `A-Z` `0-9` or `_` are unique [esphome#5810](https://github.com/esphome/esphome/pull/5810) by [@bdraco](https://github.com/bdraco) (breaking-change)
- mcp3008: Tidy up and fix auto load bug [esphome#5842](https://github.com/esphome/esphome/pull/5842) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Nextion colors parameters [esphome#5699](https://github.com/esphome/esphome/pull/5699) by [@edwardtfn](https://github.com/edwardtfn) (breaking-change)
- Checks for pins used in multiple places [esphome#5666](https://github.com/esphome/esphome/pull/5666) by [@clydebarrow](https://github.com/clydebarrow) (breaking-change)
- Updating the touchscreen interface structure [esphome#4596](https://github.com/esphome/esphome/pull/4596) by [@nielsnl68](https://github.com/nielsnl68) (new-integration) (breaking-change)
### Beta Changes
- Allow use of CDC/JTAG loggers on esp32 variants with Arduino [esphome#4658](https://github.com/esphome/esphome/pull/4658) by [@jesserockz](https://github.com/jesserockz)
- [Logger] ESP32 S3 serial logger [esphome#4853](https://github.com/esphome/esphome/pull/4853) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Support toggle action for template cover [esphome#5917](https://github.com/esphome/esphome/pull/5917) by [@jochenvg](https://github.com/jochenvg)
- Fix SplitDefault with variants [esphome#5928](https://github.com/esphome/esphome/pull/5928) by [@jesserockz](https://github.com/jesserockz)
- Update ENS160 TVOC device_class and AQI units to match required by HA [esphome#5939](https://github.com/esphome/esphome/pull/5939) by [@mrtoy-me](https://github.com/mrtoy-me)
- Bump zeroconf from 0.128.4 to 0.130.0 [esphome#5950](https://github.com/esphome/esphome/pull/5950) by [@dependabot[bot]](https://github.com/apps/dependabot)
- UARTComponent inline doc [esphome#5930](https://github.com/esphome/esphome/pull/5930) by [@edwardtfn](https://github.com/edwardtfn)
- Fix - Tuya Fan - Allow integer speed datapoint [esphome#5948](https://github.com/esphome/esphome/pull/5948) by [@cram42](https://github.com/cram42)
- i2s_audio: Set player_task's prio to 1 [esphome#5945](https://github.com/esphome/esphome/pull/5945) by [@gaaf](https://github.com/gaaf)
- esp32_camera: Set framebuffer task prio to 1 [esphome#5943](https://github.com/esphome/esphome/pull/5943) by [@gaaf](https://github.com/gaaf)
- web_server_idf: fix call with hardcoded http code [esphome#5942](https://github.com/esphome/esphome/pull/5942) by [@dentra](https://github.com/dentra)
- Revert pure virtual functions in UART component from #5920 [esphome#5932](https://github.com/esphome/esphome/pull/5932) by [@DrCoolzic](https://github.com/DrCoolzic)
- Use the correct UART/`Serial` when CDC is enabled [esphome#5957](https://github.com/esphome/esphome/pull/5957) by [@kbx81](https://github.com/kbx81)
- rename set_raw_touch_position_ to add_raw_touch_position_ [esphome#5962](https://github.com/esphome/esphome/pull/5962) by [@nielsnl68](https://github.com/nielsnl68)
- Fix build issue with UART component when building with Arduino and CDC [esphome#5964](https://github.com/esphome/esphome/pull/5964) by [@kbx81](https://github.com/kbx81)
- Fix I2CBus::write() bug and add i2c documentation [esphome#5947](https://github.com/esphome/esphome/pull/5947) by [@DrCoolzic](https://github.com/DrCoolzic)
- Add deep sleep between updates for waveshare epaper 1.54in and 1.54inv2 [esphome#5961](https://github.com/esphome/esphome/pull/5961) by [@mathieu-mp](https://github.com/mathieu-mp)
- Speed up writing protobuf strings/bytes [esphome#5828](https://github.com/esphome/esphome/pull/5828) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi to 21.0.1 [esphome#5969](https://github.com/esphome/esphome/pull/5969) by [@bdraco](https://github.com/bdraco)
- image: allow the image to by auto-loaded by animation [esphome#5139](https://github.com/esphome/esphome/pull/5139) by [@ayufan](https://github.com/ayufan)
- Fix pin reuse error with pin expanders [esphome#5973](https://github.com/esphome/esphome/pull/5973) by [@jesserockz](https://github.com/jesserockz)
### All changes
- Nextion support to `esp-idf` [esphome#5667](https://github.com/esphome/esphome/pull/5667) by [@edwardtfn](https://github.com/edwardtfn)
- fix pin range for xl9535 [esphome#5722](https://github.com/esphome/esphome/pull/5722) by [@ssieb](https://github.com/ssieb)
- Bump black from 23.10.1 to 23.11.0 [esphome#5702](https://github.com/esphome/esphome/pull/5702) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Speed up YAML by using YAML C loader when available [esphome#5721](https://github.com/esphome/esphome/pull/5721) by [@bdraco](https://github.com/bdraco)
- Bump Arduino Pico Framework to 3.6.0 and Platform to 1.10.0 [esphome#5731](https://github.com/esphome/esphome/pull/5731) by [@HeMan](https://github.com/HeMan)
- Correct url for Arduino platform [esphome#5744](https://github.com/esphome/esphome/pull/5744) by [@HeMan](https://github.com/HeMan)
- remote_base: added helper class and schemas [esphome#5169](https://github.com/esphome/esphome/pull/5169) by [@dudanov](https://github.com/dudanov)
- Bump zeroconf from 0.123.0 to 0.126.0 [esphome#5748](https://github.com/esphome/esphome/pull/5748) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Make precommit checks happy [esphome#5751](https://github.com/esphome/esphome/pull/5751) by [@HeMan](https://github.com/HeMan)
- dashboard: Use mdns cache when available if device connection is OTA [esphome#5724](https://github.com/esphome/esphome/pull/5724) by [@bdraco](https://github.com/bdraco)
- Speed up OTAs [esphome#5720](https://github.com/esphome/esphome/pull/5720) by [@bdraco](https://github.com/bdraco)
- dashboard: convert ping thread to use asyncio [esphome#5749](https://github.com/esphome/esphome/pull/5749) by [@bdraco](https://github.com/bdraco)
- dashboard: Break apart dashboard into separate modules [esphome#5764](https://github.com/esphome/esphome/pull/5764) by [@bdraco](https://github.com/bdraco)
- dashboard: split dashboard web server code into its own module [esphome#5770](https://github.com/esphome/esphome/pull/5770) by [@bdraco](https://github.com/bdraco)
- Bump zeroconf from 0.126.0 to 0.127.0 [esphome#5768](https://github.com/esphome/esphome/pull/5768) by [@dependabot[bot]](https://github.com/apps/dependabot)
- dashboard: fix subprocesses blocking the event loop [esphome#5772](https://github.com/esphome/esphome/pull/5772) by [@bdraco](https://github.com/bdraco)
- dashboard: use fastest available yaml loader in the dashboard [esphome#5771](https://github.com/esphome/esphome/pull/5771) by [@bdraco](https://github.com/bdraco)
- dashboard: Centralize dashboard entries into DashboardEntries class [esphome#5774](https://github.com/esphome/esphome/pull/5774) by [@bdraco](https://github.com/bdraco)
- Pass the name to the log runner when available [esphome#5759](https://github.com/esphome/esphome/pull/5759) by [@bdraco](https://github.com/bdraco)
- Add proper support for SH1107 to SSD1306 component [esphome#5166](https://github.com/esphome/esphome/pull/5166) by [@nikitakuklev](https://github.com/nikitakuklev) (breaking-change)
- Split release workflow jobs per system arch [esphome#5723](https://github.com/esphome/esphome/pull/5723) by [@jesserockz](https://github.com/jesserockz)
- Bump aioesphomeapi to 18.5.3 [esphome#5785](https://github.com/esphome/esphome/pull/5785) by [@bdraco](https://github.com/bdraco)
- Refactor log api client to let aioesphomeapi manage zeroconf [esphome#5783](https://github.com/esphome/esphome/pull/5783) by [@bdraco](https://github.com/bdraco)
- dashboard: Add support for firing events [esphome#5775](https://github.com/esphome/esphome/pull/5775) by [@bdraco](https://github.com/bdraco)
- dashboard: Ensure disk I/O happens in the executor [esphome#5789](https://github.com/esphome/esphome/pull/5789) by [@bdraco](https://github.com/bdraco)
- dashboard: Add lookup by name to entries [esphome#5790](https://github.com/esphome/esphome/pull/5790) by [@bdraco](https://github.com/bdraco)
- Refactor StorageJSON to keep loaded_integrations a set until its converted to JSON [esphome#5793](https://github.com/esphome/esphome/pull/5793) by [@bdraco](https://github.com/bdraco)
- wifi: Don't build SoftAP/DHCPS support unless 'ap' is in config. [esphome#5649](https://github.com/esphome/esphome/pull/5649) by [@kpfleming](https://github.com/kpfleming)
- ssd1306: handle V_COM differently for SH1106 [esphome#5796](https://github.com/esphome/esphome/pull/5796) by [@papillon81](https://github.com/papillon81)
- Bump aioesphomeapi from 18.5.3 to 18.5.5 [esphome#5804](https://github.com/esphome/esphome/pull/5804) by [@dependabot[bot]](https://github.com/apps/dependabot)
- dashboard: Fix online status when api is disabled [esphome#5792](https://github.com/esphome/esphome/pull/5792) by [@bdraco](https://github.com/bdraco)
- Haier component updated to support new protocol variations [esphome#5713](https://github.com/esphome/esphome/pull/5713) by [@paveldn](https://github.com/paveldn)
- sen5x fix temperature compensation and gas tuning [esphome#4901](https://github.com/esphome/esphome/pull/4901) by [@matt7aylor](https://github.com/matt7aylor) (breaking-change)
- Add startup_delay to interval. [esphome#5327](https://github.com/esphome/esphome/pull/5327) by [@clydebarrow](https://github.com/clydebarrow)
- Pillow: bump to 10.1.0 [esphome#5815](https://github.com/esphome/esphome/pull/5815) by [@hostcc](https://github.com/hostcc)
- dashboard: set nodelay on the websocket to avoid a delay seeing log messages [esphome#5802](https://github.com/esphome/esphome/pull/5802) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi from 18.5.5 to 18.5.7 [esphome#5822](https://github.com/esphome/esphome/pull/5822) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Ensure names containing characters other than `a-z` `A-Z` `0-9` or `_` are unique [esphome#5810](https://github.com/esphome/esphome/pull/5810) by [@bdraco](https://github.com/bdraco) (breaking-change)
- Add ENS160 Sensor [esphome#4243](https://github.com/esphome/esphome/pull/4243) by [@vincentscode](https://github.com/vincentscode) (new-integration)
- Bump actions/github-script from 6.4.1 to 7.0.1 [esphome#5803](https://github.com/esphome/esphome/pull/5803) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Run all tests when local testing. [esphome#5717](https://github.com/esphome/esphome/pull/5717) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Bump aioesphomeapi from 18.5.7 to 18.5.9 [esphome#5830](https://github.com/esphome/esphome/pull/5830) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Allow split uart pin inversion for ESP-IDF [esphome#5831](https://github.com/esphome/esphome/pull/5831) by [@clydebarrow](https://github.com/clydebarrow)
- Add `is_detected()` for Nextion displays [esphome#5825](https://github.com/esphome/esphome/pull/5825) by [@edwardtfn](https://github.com/edwardtfn)
- Pull PollingComponent up from individual display drivers to Display. [esphome#5444](https://github.com/esphome/esphome/pull/5444) by [@clydebarrow](https://github.com/clydebarrow)
- Implement variable length single word SPI writes. [esphome#5678](https://github.com/esphome/esphome/pull/5678) by [@clydebarrow](https://github.com/clydebarrow)
- Add 'enable_on_boot' feature to power_supply [esphome#5826](https://github.com/esphome/esphome/pull/5826) by [@clydebarrow](https://github.com/clydebarrow)
- mcp3008: Tidy up and fix auto load bug [esphome#5842](https://github.com/esphome/esphome/pull/5842) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Create GT911 Touchscreen component [esphome#4027](https://github.com/esphome/esphome/pull/4027) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Bump aioesphomeapi from 18.5.9 to 19.1.2 [esphome#5844](https://github.com/esphome/esphome/pull/5844) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Nextion - Standardizing log messages [esphome#5837](https://github.com/esphome/esphome/pull/5837) by [@edwardtfn](https://github.com/edwardtfn)
- dashboard: Small cleanups to dashboard [esphome#5841](https://github.com/esphome/esphome/pull/5841) by [@bdraco](https://github.com/bdraco)
- Pylontech integration (solar battery bank) [esphome#4688](https://github.com/esphome/esphome/pull/4688) by [@functionpointer](https://github.com/functionpointer) (new-integration)
- Implement deep sleep and clear screen on Waveshare 7.5in B V3 [esphome#5239](https://github.com/esphome/esphome/pull/5239) by [@lucasprim](https://github.com/lucasprim)
- Fix ESP-IDF uart initialisation sequence to match Espressif docs. [esphome#5838](https://github.com/esphome/esphome/pull/5838) by [@clydebarrow](https://github.com/clydebarrow)
- Nextion - Align strings on `dump_config` [esphome#5824](https://github.com/esphome/esphome/pull/5824) by [@edwardtfn](https://github.com/edwardtfn)
- Speed up (and fix) ili9xxx display component. [esphome#5406](https://github.com/esphome/esphome/pull/5406) by [@clydebarrow](https://github.com/clydebarrow)
- Fix regex for 'byte' custom CI check [esphome#5851](https://github.com/esphome/esphome/pull/5851) by [@jesserockz](https://github.com/jesserockz)
- Pass through additional arguments to create number [esphome#5849](https://github.com/esphome/esphome/pull/5849) by [@clydebarrow](https://github.com/clydebarrow)
- Nextion `on_touch` trigger [esphome#5833](https://github.com/esphome/esphome/pull/5833) by [@edwardtfn](https://github.com/edwardtfn)
- Nextion colors parameters [esphome#5699](https://github.com/esphome/esphome/pull/5699) by [@edwardtfn](https://github.com/edwardtfn) (breaking-change)
- dashboard: fix supervisor auth doing I/O in the event loop [esphome#5807](https://github.com/esphome/esphome/pull/5807) by [@bdraco](https://github.com/bdraco)
- Improve reliability of Nextion TFT uploads (Arduino) [esphome#5683](https://github.com/esphome/esphome/pull/5683) by [@edwardtfn](https://github.com/edwardtfn)
- Add Pro Check Universal sensor support. [esphome#5798](https://github.com/esphome/esphome/pull/5798) by [@spbrogan](https://github.com/spbrogan)
- Bump aioesphomeapi from 19.1.2 to 19.1.7 [esphome#5859](https://github.com/esphome/esphome/pull/5859) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Pn532 non blocking scan [esphome#5191](https://github.com/esphome/esphome/pull/5191) by [@sharkydog](https://github.com/sharkydog)
- Add Chamberlain/HomEntry HE60R garage door opener [esphome#5834](https://github.com/esphome/esphome/pull/5834) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Bump aioesphomeapi from 19.1.7 to 19.2.1 [esphome#5863](https://github.com/esphome/esphome/pull/5863) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump tornado from 6.3.3 to 6.4 [esphome#5862](https://github.com/esphome/esphome/pull/5862) by [@dependabot[bot]](https://github.com/apps/dependabot)
- add missing ifdef to pvvx_mithermometer [esphome#5880](https://github.com/esphome/esphome/pull/5880) by [@ssieb](https://github.com/ssieb)
- Fix un-initialized version string [esphome#5865](https://github.com/esphome/esphome/pull/5865) by [@descipher](https://github.com/descipher)
- fix a01nyub data reading [esphome#5882](https://github.com/esphome/esphome/pull/5882) by [@ssieb](https://github.com/ssieb)
- Bump pytest-asyncio from 0.21.1 to 0.23.2 [esphome#5888](https://github.com/esphome/esphome/pull/5888) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump zeroconf from 0.127.0 to 0.128.0 [esphome#5889](https://github.com/esphome/esphome/pull/5889) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pylint from 2.17.6 to 3.0.2 [esphome#5592](https://github.com/esphome/esphome/pull/5592) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump voluptuous from 0.13.1 to 0.14.1 [esphome#5784](https://github.com/esphome/esphome/pull/5784) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Security improvement: Support wifi ap_timeout=0s (disable) [esphome#5887](https://github.com/esphome/esphome/pull/5887) by [@fornellas](https://github.com/fornellas)
- Suppress full config output of "esphome config" when -q option is used. [esphome#5852](https://github.com/esphome/esphome/pull/5852) by [@clydebarrow](https://github.com/clydebarrow)
- Checks for pins used in multiple places [esphome#5666](https://github.com/esphome/esphome/pull/5666) by [@clydebarrow](https://github.com/clydebarrow) (breaking-change)
- Nextion support to idf with `cinttypes` [esphome#5876](https://github.com/esphome/esphome/pull/5876) by [@edwardtfn](https://github.com/edwardtfn)
- Fix test4.yaml after #5666 [esphome#5890](https://github.com/esphome/esphome/pull/5890) by [@kbx81](https://github.com/kbx81)
- Fix template text component length check [esphome#5881](https://github.com/esphome/esphome/pull/5881) by [@fornellas](https://github.com/fornellas)
- RC522 - Fix error counter error [esphome#5873](https://github.com/esphome/esphome/pull/5873) by [@kbx81](https://github.com/kbx81)
- feat(packages): support removing components [esphome#5821](https://github.com/esphome/esphome/pull/5821) by [@TMaYaD](https://github.com/TMaYaD)
- dashboard: Add some basic tests for the dashboard [esphome#5870](https://github.com/esphome/esphome/pull/5870) by [@bdraco](https://github.com/bdraco)
- Nextion exit reparse mode on startup [esphome#5868](https://github.com/esphome/esphome/pull/5868) by [@edwardtfn](https://github.com/edwardtfn)
- Bump aioesphomeapi from 19.2.1 to 19.3.0 [esphome#5895](https://github.com/esphome/esphome/pull/5895) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add framework info to Nextion log tags [esphome#5864](https://github.com/esphome/esphome/pull/5864) by [@edwardtfn](https://github.com/edwardtfn)
- Handle case where using enetity level name: None with MQTT [esphome#5897](https://github.com/esphome/esphome/pull/5897) by [@mtl010957](https://github.com/mtl010957)
- Bump actions/setup-python from 4.7.1 to 5.0.0 [esphome#5896](https://github.com/esphome/esphome/pull/5896) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump zeroconf from 0.128.0 to 0.128.4 [esphome#5906](https://github.com/esphome/esphome/pull/5906) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix 18 bit displays. [esphome#5908](https://github.com/esphome/esphome/pull/5908) by [@clydebarrow](https://github.com/clydebarrow)
- fix RGBW Mode on RP2040 [esphome#5907](https://github.com/esphome/esphome/pull/5907) by [@firegore](https://github.com/firegore)
- Add graphical display menu [esphome#4105](https://github.com/esphome/esphome/pull/4105) by [@MrMDavidson](https://github.com/MrMDavidson) (new-integration)
- Added on_image callback to ESP32 Cam [esphome#4860](https://github.com/esphome/esphome/pull/4860) by [@freekode](https://github.com/freekode)
- Bump actions/stale from 8.0.0 to 9.0.0 [esphome#5899](https://github.com/esphome/esphome/pull/5899) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pylint from 3.0.2 to 3.0.3 [esphome#5905](https://github.com/esphome/esphome/pull/5905) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump frenck/action-yamllint from 1.4.1 to 1.4.2 [esphome#5716](https://github.com/esphome/esphome/pull/5716) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump dessant/lock-threads from 4.0.1 to 5.0.1 [esphome#5820](https://github.com/esphome/esphome/pull/5820) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add support for fan preset modes [esphome#5694](https://github.com/esphome/esphome/pull/5694) by [@mill1000](https://github.com/mill1000)
- Fix uninitialized climate target temperature [esphome#5795](https://github.com/esphome/esphome/pull/5795) by [@ckoca](https://github.com/ckoca)
- Bump aioesphomeapi from 19.3.0 to 20.0.0 [esphome#5911](https://github.com/esphome/esphome/pull/5911) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump black from 23.11.0 to 23.12.0 [esphome#5912](https://github.com/esphome/esphome/pull/5912) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Updating the touchscreen interface structure [esphome#4596](https://github.com/esphome/esphome/pull/4596) by [@nielsnl68](https://github.com/nielsnl68) (new-integration) (breaking-change)
- Added the A02YYUW distance sensor [esphome#5729](https://github.com/esphome/esphome/pull/5729) by [@TH-Braemer](https://github.com/TH-Braemer) (new-integration)
- Fix AHT10 / AHT20 communication [esphome#5198](https://github.com/esphome/esphome/pull/5198) by [@flaminggoat](https://github.com/flaminggoat)
- Fix crash when handling pin_check error [esphome#5915](https://github.com/esphome/esphome/pull/5915) by [@clydebarrow](https://github.com/clydebarrow)
- Bump aioesphomeapi to 20.1.0 [esphome#5914](https://github.com/esphome/esphome/pull/5914) by [@bdraco](https://github.com/bdraco)
- Remove setpoint-change from error when calculating derivative in pid controller [esphome#4737](https://github.com/esphome/esphome/pull/4737) by [@Newspaperman57](https://github.com/Newspaperman57)
- ir_transmitter: add support for repeated commands in NEC protocol [esphome#4995](https://github.com/esphome/esphome/pull/4995) by [@ngilles](https://github.com/ngilles)
- BP1658CJ - Fix timing for all platforms, now consistent with other drivers [esphome#5799](https://github.com/esphome/esphome/pull/5799) by [@Cossid](https://github.com/Cossid)
- Add humidity support to climate [esphome#5732](https://github.com/esphome/esphome/pull/5732) by [@kroimon](https://github.com/kroimon)
- Remove lingering note [esphome#5916](https://github.com/esphome/esphome/pull/5916) by [@jesserockz](https://github.com/jesserockz)
- Fix typo added in esp32 post_build filename [esphome#5918](https://github.com/esphome/esphome/pull/5918) by [@jesserockz](https://github.com/jesserockz)
- Copy esp32 custom partition files to build folder [esphome#5919](https://github.com/esphome/esphome/pull/5919) by [@jesserockz](https://github.com/jesserockz)
- UART change at runtime [esphome#5909](https://github.com/esphome/esphome/pull/5909) by [@edwardtfn](https://github.com/edwardtfn)
- Bump aioesphomeapi from 20.1.0 to 21.0.0 [esphome#5922](https://github.com/esphome/esphome/pull/5922) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix the initial run of lambda light effects [esphome#5921](https://github.com/esphome/esphome/pull/5921) by [@smithjacobj](https://github.com/smithjacobj)
- Exposes `load_settings` to `UARTComponent` class [esphome#5920](https://github.com/esphome/esphome/pull/5920) by [@edwardtfn](https://github.com/edwardtfn)
- Add support for PN7160 [esphome#5486](https://github.com/esphome/esphome/pull/5486) by [@kbx81](https://github.com/kbx81) (new-integration)
- Add support for PN7150 [esphome#5487](https://github.com/esphome/esphome/pull/5487) by [@kbx81](https://github.com/kbx81) (new-integration)
- Allow use of CDC/JTAG loggers on esp32 variants with Arduino [esphome#4658](https://github.com/esphome/esphome/pull/4658) by [@jesserockz](https://github.com/jesserockz)
- [Logger] ESP32 S3 serial logger [esphome#4853](https://github.com/esphome/esphome/pull/4853) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Support toggle action for template cover [esphome#5917](https://github.com/esphome/esphome/pull/5917) by [@jochenvg](https://github.com/jochenvg)
- Fix SplitDefault with variants [esphome#5928](https://github.com/esphome/esphome/pull/5928) by [@jesserockz](https://github.com/jesserockz)
- Update ENS160 TVOC device_class and AQI units to match required by HA [esphome#5939](https://github.com/esphome/esphome/pull/5939) by [@mrtoy-me](https://github.com/mrtoy-me)
- Bump zeroconf from 0.128.4 to 0.130.0 [esphome#5950](https://github.com/esphome/esphome/pull/5950) by [@dependabot[bot]](https://github.com/apps/dependabot)
- UARTComponent inline doc [esphome#5930](https://github.com/esphome/esphome/pull/5930) by [@edwardtfn](https://github.com/edwardtfn)
- Fix - Tuya Fan - Allow integer speed datapoint [esphome#5948](https://github.com/esphome/esphome/pull/5948) by [@cram42](https://github.com/cram42)
- i2s_audio: Set player_task's prio to 1 [esphome#5945](https://github.com/esphome/esphome/pull/5945) by [@gaaf](https://github.com/gaaf)
- esp32_camera: Set framebuffer task prio to 1 [esphome#5943](https://github.com/esphome/esphome/pull/5943) by [@gaaf](https://github.com/gaaf)
- web_server_idf: fix call with hardcoded http code [esphome#5942](https://github.com/esphome/esphome/pull/5942) by [@dentra](https://github.com/dentra)
- Revert pure virtual functions in UART component from #5920 [esphome#5932](https://github.com/esphome/esphome/pull/5932) by [@DrCoolzic](https://github.com/DrCoolzic)
- Use the correct UART/`Serial` when CDC is enabled [esphome#5957](https://github.com/esphome/esphome/pull/5957) by [@kbx81](https://github.com/kbx81)
- rename set_raw_touch_position_ to add_raw_touch_position_ [esphome#5962](https://github.com/esphome/esphome/pull/5962) by [@nielsnl68](https://github.com/nielsnl68)
- Fix build issue with UART component when building with Arduino and CDC [esphome#5964](https://github.com/esphome/esphome/pull/5964) by [@kbx81](https://github.com/kbx81)
- Fix I2CBus::write() bug and add i2c documentation [esphome#5947](https://github.com/esphome/esphome/pull/5947) by [@DrCoolzic](https://github.com/DrCoolzic)
- Add deep sleep between updates for waveshare epaper 1.54in and 1.54inv2 [esphome#5961](https://github.com/esphome/esphome/pull/5961) by [@mathieu-mp](https://github.com/mathieu-mp)
- Speed up writing protobuf strings/bytes [esphome#5828](https://github.com/esphome/esphome/pull/5828) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi to 21.0.1 [esphome#5969](https://github.com/esphome/esphome/pull/5969) by [@bdraco](https://github.com/bdraco)
- image: allow the image to by auto-loaded by animation [esphome#5139](https://github.com/esphome/esphome/pull/5139) by [@ayufan](https://github.com/ayufan)
- Fix pin reuse error with pin expanders [esphome#5973](https://github.com/esphome/esphome/pull/5973) by [@jesserockz](https://github.com/jesserockz)

View File

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

View File

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

View File

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

View File

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

View File

@@ -33,9 +33,10 @@ backup_exclude:
init: false init: false
startup: services startup: services
name: ESPHome (dev) name: ESPHome (dev)
version: dev version: 2024.6.0-dev20240605
slug: esphome-dev slug: esphome-dev
description: Development version of ESPHome add-on description: Development version of ESPHome add-on
image: ghcr.io/esphome/esphome-hassio
stage: experimental stage: experimental
advanced: true advanced: true
options: options:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View File

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

View File

@@ -1,195 +1,6 @@
## 2023.12.0 ## 2024.5.5
## Full list of changes - [voice_assistant] Half the microphone ringbuffer size [esphome#6830](https://github.com/esphome/esphome/pull/6830) by [@jesserockz](https://github.com/jesserockz)
- [i2s_speaker] Add buffer allocation failure checks [esphome#6829](https://github.com/esphome/esphome/pull/6829) by [@jesserockz](https://github.com/jesserockz)
### New Components - [improv_serial] Fix for IDF 4.4.7 [esphome#6855](https://github.com/esphome/esphome/pull/6855) by [@kbx81](https://github.com/kbx81)
- Add ENS160 Sensor [esphome#4243](https://github.com/esphome/esphome/pull/4243) by [@vincentscode](https://github.com/vincentscode) (new-integration)
- Create GT911 Touchscreen component [esphome#4027](https://github.com/esphome/esphome/pull/4027) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Pylontech integration (solar battery bank) [esphome#4688](https://github.com/esphome/esphome/pull/4688) by [@functionpointer](https://github.com/functionpointer) (new-integration)
- Add Chamberlain/HomEntry HE60R garage door opener [esphome#5834](https://github.com/esphome/esphome/pull/5834) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Add graphical display menu [esphome#4105](https://github.com/esphome/esphome/pull/4105) by [@MrMDavidson](https://github.com/MrMDavidson) (new-integration)
- Updating the touchscreen interface structure [esphome#4596](https://github.com/esphome/esphome/pull/4596) by [@nielsnl68](https://github.com/nielsnl68) (new-integration) (breaking-change)
- Added the A02YYUW distance sensor [esphome#5729](https://github.com/esphome/esphome/pull/5729) by [@TH-Braemer](https://github.com/TH-Braemer) (new-integration)
- Add support for PN7160 [esphome#5486](https://github.com/esphome/esphome/pull/5486) by [@kbx81](https://github.com/kbx81) (new-integration)
- Add support for PN7150 [esphome#5487](https://github.com/esphome/esphome/pull/5487) by [@kbx81](https://github.com/kbx81) (new-integration)
### Breaking Changes
- Add proper support for SH1107 to SSD1306 component [esphome#5166](https://github.com/esphome/esphome/pull/5166) by [@nikitakuklev](https://github.com/nikitakuklev) (breaking-change)
- sen5x fix temperature compensation and gas tuning [esphome#4901](https://github.com/esphome/esphome/pull/4901) by [@matt7aylor](https://github.com/matt7aylor) (breaking-change)
- Ensure names containing characters other than `a-z` `A-Z` `0-9` or `_` are unique [esphome#5810](https://github.com/esphome/esphome/pull/5810) by [@bdraco](https://github.com/bdraco) (breaking-change)
- mcp3008: Tidy up and fix auto load bug [esphome#5842](https://github.com/esphome/esphome/pull/5842) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Nextion colors parameters [esphome#5699](https://github.com/esphome/esphome/pull/5699) by [@edwardtfn](https://github.com/edwardtfn) (breaking-change)
- Checks for pins used in multiple places [esphome#5666](https://github.com/esphome/esphome/pull/5666) by [@clydebarrow](https://github.com/clydebarrow) (breaking-change)
- Updating the touchscreen interface structure [esphome#4596](https://github.com/esphome/esphome/pull/4596) by [@nielsnl68](https://github.com/nielsnl68) (new-integration) (breaking-change)
### Beta Changes
- Allow use of CDC/JTAG loggers on esp32 variants with Arduino [esphome#4658](https://github.com/esphome/esphome/pull/4658) by [@jesserockz](https://github.com/jesserockz)
- [Logger] ESP32 S3 serial logger [esphome#4853](https://github.com/esphome/esphome/pull/4853) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Support toggle action for template cover [esphome#5917](https://github.com/esphome/esphome/pull/5917) by [@jochenvg](https://github.com/jochenvg)
- Fix SplitDefault with variants [esphome#5928](https://github.com/esphome/esphome/pull/5928) by [@jesserockz](https://github.com/jesserockz)
- Update ENS160 TVOC device_class and AQI units to match required by HA [esphome#5939](https://github.com/esphome/esphome/pull/5939) by [@mrtoy-me](https://github.com/mrtoy-me)
- Bump zeroconf from 0.128.4 to 0.130.0 [esphome#5950](https://github.com/esphome/esphome/pull/5950) by [@dependabot[bot]](https://github.com/apps/dependabot)
- UARTComponent inline doc [esphome#5930](https://github.com/esphome/esphome/pull/5930) by [@edwardtfn](https://github.com/edwardtfn)
- Fix - Tuya Fan - Allow integer speed datapoint [esphome#5948](https://github.com/esphome/esphome/pull/5948) by [@cram42](https://github.com/cram42)
- i2s_audio: Set player_task's prio to 1 [esphome#5945](https://github.com/esphome/esphome/pull/5945) by [@gaaf](https://github.com/gaaf)
- esp32_camera: Set framebuffer task prio to 1 [esphome#5943](https://github.com/esphome/esphome/pull/5943) by [@gaaf](https://github.com/gaaf)
- web_server_idf: fix call with hardcoded http code [esphome#5942](https://github.com/esphome/esphome/pull/5942) by [@dentra](https://github.com/dentra)
- Revert pure virtual functions in UART component from #5920 [esphome#5932](https://github.com/esphome/esphome/pull/5932) by [@DrCoolzic](https://github.com/DrCoolzic)
- Use the correct UART/`Serial` when CDC is enabled [esphome#5957](https://github.com/esphome/esphome/pull/5957) by [@kbx81](https://github.com/kbx81)
- rename set_raw_touch_position_ to add_raw_touch_position_ [esphome#5962](https://github.com/esphome/esphome/pull/5962) by [@nielsnl68](https://github.com/nielsnl68)
- Fix build issue with UART component when building with Arduino and CDC [esphome#5964](https://github.com/esphome/esphome/pull/5964) by [@kbx81](https://github.com/kbx81)
- Fix I2CBus::write() bug and add i2c documentation [esphome#5947](https://github.com/esphome/esphome/pull/5947) by [@DrCoolzic](https://github.com/DrCoolzic)
- Add deep sleep between updates for waveshare epaper 1.54in and 1.54inv2 [esphome#5961](https://github.com/esphome/esphome/pull/5961) by [@mathieu-mp](https://github.com/mathieu-mp)
- Speed up writing protobuf strings/bytes [esphome#5828](https://github.com/esphome/esphome/pull/5828) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi to 21.0.1 [esphome#5969](https://github.com/esphome/esphome/pull/5969) by [@bdraco](https://github.com/bdraco)
- image: allow the image to by auto-loaded by animation [esphome#5139](https://github.com/esphome/esphome/pull/5139) by [@ayufan](https://github.com/ayufan)
- Fix pin reuse error with pin expanders [esphome#5973](https://github.com/esphome/esphome/pull/5973) by [@jesserockz](https://github.com/jesserockz)
### All changes
- Nextion support to `esp-idf` [esphome#5667](https://github.com/esphome/esphome/pull/5667) by [@edwardtfn](https://github.com/edwardtfn)
- fix pin range for xl9535 [esphome#5722](https://github.com/esphome/esphome/pull/5722) by [@ssieb](https://github.com/ssieb)
- Bump black from 23.10.1 to 23.11.0 [esphome#5702](https://github.com/esphome/esphome/pull/5702) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Speed up YAML by using YAML C loader when available [esphome#5721](https://github.com/esphome/esphome/pull/5721) by [@bdraco](https://github.com/bdraco)
- Bump Arduino Pico Framework to 3.6.0 and Platform to 1.10.0 [esphome#5731](https://github.com/esphome/esphome/pull/5731) by [@HeMan](https://github.com/HeMan)
- Correct url for Arduino platform [esphome#5744](https://github.com/esphome/esphome/pull/5744) by [@HeMan](https://github.com/HeMan)
- remote_base: added helper class and schemas [esphome#5169](https://github.com/esphome/esphome/pull/5169) by [@dudanov](https://github.com/dudanov)
- Bump zeroconf from 0.123.0 to 0.126.0 [esphome#5748](https://github.com/esphome/esphome/pull/5748) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Make precommit checks happy [esphome#5751](https://github.com/esphome/esphome/pull/5751) by [@HeMan](https://github.com/HeMan)
- dashboard: Use mdns cache when available if device connection is OTA [esphome#5724](https://github.com/esphome/esphome/pull/5724) by [@bdraco](https://github.com/bdraco)
- Speed up OTAs [esphome#5720](https://github.com/esphome/esphome/pull/5720) by [@bdraco](https://github.com/bdraco)
- dashboard: convert ping thread to use asyncio [esphome#5749](https://github.com/esphome/esphome/pull/5749) by [@bdraco](https://github.com/bdraco)
- dashboard: Break apart dashboard into separate modules [esphome#5764](https://github.com/esphome/esphome/pull/5764) by [@bdraco](https://github.com/bdraco)
- dashboard: split dashboard web server code into its own module [esphome#5770](https://github.com/esphome/esphome/pull/5770) by [@bdraco](https://github.com/bdraco)
- Bump zeroconf from 0.126.0 to 0.127.0 [esphome#5768](https://github.com/esphome/esphome/pull/5768) by [@dependabot[bot]](https://github.com/apps/dependabot)
- dashboard: fix subprocesses blocking the event loop [esphome#5772](https://github.com/esphome/esphome/pull/5772) by [@bdraco](https://github.com/bdraco)
- dashboard: use fastest available yaml loader in the dashboard [esphome#5771](https://github.com/esphome/esphome/pull/5771) by [@bdraco](https://github.com/bdraco)
- dashboard: Centralize dashboard entries into DashboardEntries class [esphome#5774](https://github.com/esphome/esphome/pull/5774) by [@bdraco](https://github.com/bdraco)
- Pass the name to the log runner when available [esphome#5759](https://github.com/esphome/esphome/pull/5759) by [@bdraco](https://github.com/bdraco)
- Add proper support for SH1107 to SSD1306 component [esphome#5166](https://github.com/esphome/esphome/pull/5166) by [@nikitakuklev](https://github.com/nikitakuklev) (breaking-change)
- Split release workflow jobs per system arch [esphome#5723](https://github.com/esphome/esphome/pull/5723) by [@jesserockz](https://github.com/jesserockz)
- Bump aioesphomeapi to 18.5.3 [esphome#5785](https://github.com/esphome/esphome/pull/5785) by [@bdraco](https://github.com/bdraco)
- Refactor log api client to let aioesphomeapi manage zeroconf [esphome#5783](https://github.com/esphome/esphome/pull/5783) by [@bdraco](https://github.com/bdraco)
- dashboard: Add support for firing events [esphome#5775](https://github.com/esphome/esphome/pull/5775) by [@bdraco](https://github.com/bdraco)
- dashboard: Ensure disk I/O happens in the executor [esphome#5789](https://github.com/esphome/esphome/pull/5789) by [@bdraco](https://github.com/bdraco)
- dashboard: Add lookup by name to entries [esphome#5790](https://github.com/esphome/esphome/pull/5790) by [@bdraco](https://github.com/bdraco)
- Refactor StorageJSON to keep loaded_integrations a set until its converted to JSON [esphome#5793](https://github.com/esphome/esphome/pull/5793) by [@bdraco](https://github.com/bdraco)
- wifi: Don't build SoftAP/DHCPS support unless 'ap' is in config. [esphome#5649](https://github.com/esphome/esphome/pull/5649) by [@kpfleming](https://github.com/kpfleming)
- ssd1306: handle V_COM differently for SH1106 [esphome#5796](https://github.com/esphome/esphome/pull/5796) by [@papillon81](https://github.com/papillon81)
- Bump aioesphomeapi from 18.5.3 to 18.5.5 [esphome#5804](https://github.com/esphome/esphome/pull/5804) by [@dependabot[bot]](https://github.com/apps/dependabot)
- dashboard: Fix online status when api is disabled [esphome#5792](https://github.com/esphome/esphome/pull/5792) by [@bdraco](https://github.com/bdraco)
- Haier component updated to support new protocol variations [esphome#5713](https://github.com/esphome/esphome/pull/5713) by [@paveldn](https://github.com/paveldn)
- sen5x fix temperature compensation and gas tuning [esphome#4901](https://github.com/esphome/esphome/pull/4901) by [@matt7aylor](https://github.com/matt7aylor) (breaking-change)
- Add startup_delay to interval. [esphome#5327](https://github.com/esphome/esphome/pull/5327) by [@clydebarrow](https://github.com/clydebarrow)
- Pillow: bump to 10.1.0 [esphome#5815](https://github.com/esphome/esphome/pull/5815) by [@hostcc](https://github.com/hostcc)
- dashboard: set nodelay on the websocket to avoid a delay seeing log messages [esphome#5802](https://github.com/esphome/esphome/pull/5802) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi from 18.5.5 to 18.5.7 [esphome#5822](https://github.com/esphome/esphome/pull/5822) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Ensure names containing characters other than `a-z` `A-Z` `0-9` or `_` are unique [esphome#5810](https://github.com/esphome/esphome/pull/5810) by [@bdraco](https://github.com/bdraco) (breaking-change)
- Add ENS160 Sensor [esphome#4243](https://github.com/esphome/esphome/pull/4243) by [@vincentscode](https://github.com/vincentscode) (new-integration)
- Bump actions/github-script from 6.4.1 to 7.0.1 [esphome#5803](https://github.com/esphome/esphome/pull/5803) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Run all tests when local testing. [esphome#5717](https://github.com/esphome/esphome/pull/5717) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Bump aioesphomeapi from 18.5.7 to 18.5.9 [esphome#5830](https://github.com/esphome/esphome/pull/5830) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Allow split uart pin inversion for ESP-IDF [esphome#5831](https://github.com/esphome/esphome/pull/5831) by [@clydebarrow](https://github.com/clydebarrow)
- Add `is_detected()` for Nextion displays [esphome#5825](https://github.com/esphome/esphome/pull/5825) by [@edwardtfn](https://github.com/edwardtfn)
- Pull PollingComponent up from individual display drivers to Display. [esphome#5444](https://github.com/esphome/esphome/pull/5444) by [@clydebarrow](https://github.com/clydebarrow)
- Implement variable length single word SPI writes. [esphome#5678](https://github.com/esphome/esphome/pull/5678) by [@clydebarrow](https://github.com/clydebarrow)
- Add 'enable_on_boot' feature to power_supply [esphome#5826](https://github.com/esphome/esphome/pull/5826) by [@clydebarrow](https://github.com/clydebarrow)
- mcp3008: Tidy up and fix auto load bug [esphome#5842](https://github.com/esphome/esphome/pull/5842) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Create GT911 Touchscreen component [esphome#4027](https://github.com/esphome/esphome/pull/4027) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Bump aioesphomeapi from 18.5.9 to 19.1.2 [esphome#5844](https://github.com/esphome/esphome/pull/5844) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Nextion - Standardizing log messages [esphome#5837](https://github.com/esphome/esphome/pull/5837) by [@edwardtfn](https://github.com/edwardtfn)
- dashboard: Small cleanups to dashboard [esphome#5841](https://github.com/esphome/esphome/pull/5841) by [@bdraco](https://github.com/bdraco)
- Pylontech integration (solar battery bank) [esphome#4688](https://github.com/esphome/esphome/pull/4688) by [@functionpointer](https://github.com/functionpointer) (new-integration)
- Implement deep sleep and clear screen on Waveshare 7.5in B V3 [esphome#5239](https://github.com/esphome/esphome/pull/5239) by [@lucasprim](https://github.com/lucasprim)
- Fix ESP-IDF uart initialisation sequence to match Espressif docs. [esphome#5838](https://github.com/esphome/esphome/pull/5838) by [@clydebarrow](https://github.com/clydebarrow)
- Nextion - Align strings on `dump_config` [esphome#5824](https://github.com/esphome/esphome/pull/5824) by [@edwardtfn](https://github.com/edwardtfn)
- Speed up (and fix) ili9xxx display component. [esphome#5406](https://github.com/esphome/esphome/pull/5406) by [@clydebarrow](https://github.com/clydebarrow)
- Fix regex for 'byte' custom CI check [esphome#5851](https://github.com/esphome/esphome/pull/5851) by [@jesserockz](https://github.com/jesserockz)
- Pass through additional arguments to create number [esphome#5849](https://github.com/esphome/esphome/pull/5849) by [@clydebarrow](https://github.com/clydebarrow)
- Nextion `on_touch` trigger [esphome#5833](https://github.com/esphome/esphome/pull/5833) by [@edwardtfn](https://github.com/edwardtfn)
- Nextion colors parameters [esphome#5699](https://github.com/esphome/esphome/pull/5699) by [@edwardtfn](https://github.com/edwardtfn) (breaking-change)
- dashboard: fix supervisor auth doing I/O in the event loop [esphome#5807](https://github.com/esphome/esphome/pull/5807) by [@bdraco](https://github.com/bdraco)
- Improve reliability of Nextion TFT uploads (Arduino) [esphome#5683](https://github.com/esphome/esphome/pull/5683) by [@edwardtfn](https://github.com/edwardtfn)
- Add Pro Check Universal sensor support. [esphome#5798](https://github.com/esphome/esphome/pull/5798) by [@spbrogan](https://github.com/spbrogan)
- Bump aioesphomeapi from 19.1.2 to 19.1.7 [esphome#5859](https://github.com/esphome/esphome/pull/5859) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Pn532 non blocking scan [esphome#5191](https://github.com/esphome/esphome/pull/5191) by [@sharkydog](https://github.com/sharkydog)
- Add Chamberlain/HomEntry HE60R garage door opener [esphome#5834](https://github.com/esphome/esphome/pull/5834) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Bump aioesphomeapi from 19.1.7 to 19.2.1 [esphome#5863](https://github.com/esphome/esphome/pull/5863) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump tornado from 6.3.3 to 6.4 [esphome#5862](https://github.com/esphome/esphome/pull/5862) by [@dependabot[bot]](https://github.com/apps/dependabot)
- add missing ifdef to pvvx_mithermometer [esphome#5880](https://github.com/esphome/esphome/pull/5880) by [@ssieb](https://github.com/ssieb)
- Fix un-initialized version string [esphome#5865](https://github.com/esphome/esphome/pull/5865) by [@descipher](https://github.com/descipher)
- fix a01nyub data reading [esphome#5882](https://github.com/esphome/esphome/pull/5882) by [@ssieb](https://github.com/ssieb)
- Bump pytest-asyncio from 0.21.1 to 0.23.2 [esphome#5888](https://github.com/esphome/esphome/pull/5888) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump zeroconf from 0.127.0 to 0.128.0 [esphome#5889](https://github.com/esphome/esphome/pull/5889) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pylint from 2.17.6 to 3.0.2 [esphome#5592](https://github.com/esphome/esphome/pull/5592) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump voluptuous from 0.13.1 to 0.14.1 [esphome#5784](https://github.com/esphome/esphome/pull/5784) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Security improvement: Support wifi ap_timeout=0s (disable) [esphome#5887](https://github.com/esphome/esphome/pull/5887) by [@fornellas](https://github.com/fornellas)
- Suppress full config output of "esphome config" when -q option is used. [esphome#5852](https://github.com/esphome/esphome/pull/5852) by [@clydebarrow](https://github.com/clydebarrow)
- Checks for pins used in multiple places [esphome#5666](https://github.com/esphome/esphome/pull/5666) by [@clydebarrow](https://github.com/clydebarrow) (breaking-change)
- Nextion support to idf with `cinttypes` [esphome#5876](https://github.com/esphome/esphome/pull/5876) by [@edwardtfn](https://github.com/edwardtfn)
- Fix test4.yaml after #5666 [esphome#5890](https://github.com/esphome/esphome/pull/5890) by [@kbx81](https://github.com/kbx81)
- Fix template text component length check [esphome#5881](https://github.com/esphome/esphome/pull/5881) by [@fornellas](https://github.com/fornellas)
- RC522 - Fix error counter error [esphome#5873](https://github.com/esphome/esphome/pull/5873) by [@kbx81](https://github.com/kbx81)
- feat(packages): support removing components [esphome#5821](https://github.com/esphome/esphome/pull/5821) by [@TMaYaD](https://github.com/TMaYaD)
- dashboard: Add some basic tests for the dashboard [esphome#5870](https://github.com/esphome/esphome/pull/5870) by [@bdraco](https://github.com/bdraco)
- Nextion exit reparse mode on startup [esphome#5868](https://github.com/esphome/esphome/pull/5868) by [@edwardtfn](https://github.com/edwardtfn)
- Bump aioesphomeapi from 19.2.1 to 19.3.0 [esphome#5895](https://github.com/esphome/esphome/pull/5895) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add framework info to Nextion log tags [esphome#5864](https://github.com/esphome/esphome/pull/5864) by [@edwardtfn](https://github.com/edwardtfn)
- Handle case where using enetity level name: None with MQTT [esphome#5897](https://github.com/esphome/esphome/pull/5897) by [@mtl010957](https://github.com/mtl010957)
- Bump actions/setup-python from 4.7.1 to 5.0.0 [esphome#5896](https://github.com/esphome/esphome/pull/5896) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump zeroconf from 0.128.0 to 0.128.4 [esphome#5906](https://github.com/esphome/esphome/pull/5906) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix 18 bit displays. [esphome#5908](https://github.com/esphome/esphome/pull/5908) by [@clydebarrow](https://github.com/clydebarrow)
- fix RGBW Mode on RP2040 [esphome#5907](https://github.com/esphome/esphome/pull/5907) by [@firegore](https://github.com/firegore)
- Add graphical display menu [esphome#4105](https://github.com/esphome/esphome/pull/4105) by [@MrMDavidson](https://github.com/MrMDavidson) (new-integration)
- Added on_image callback to ESP32 Cam [esphome#4860](https://github.com/esphome/esphome/pull/4860) by [@freekode](https://github.com/freekode)
- Bump actions/stale from 8.0.0 to 9.0.0 [esphome#5899](https://github.com/esphome/esphome/pull/5899) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pylint from 3.0.2 to 3.0.3 [esphome#5905](https://github.com/esphome/esphome/pull/5905) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump frenck/action-yamllint from 1.4.1 to 1.4.2 [esphome#5716](https://github.com/esphome/esphome/pull/5716) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump dessant/lock-threads from 4.0.1 to 5.0.1 [esphome#5820](https://github.com/esphome/esphome/pull/5820) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add support for fan preset modes [esphome#5694](https://github.com/esphome/esphome/pull/5694) by [@mill1000](https://github.com/mill1000)
- Fix uninitialized climate target temperature [esphome#5795](https://github.com/esphome/esphome/pull/5795) by [@ckoca](https://github.com/ckoca)
- Bump aioesphomeapi from 19.3.0 to 20.0.0 [esphome#5911](https://github.com/esphome/esphome/pull/5911) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump black from 23.11.0 to 23.12.0 [esphome#5912](https://github.com/esphome/esphome/pull/5912) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Updating the touchscreen interface structure [esphome#4596](https://github.com/esphome/esphome/pull/4596) by [@nielsnl68](https://github.com/nielsnl68) (new-integration) (breaking-change)
- Added the A02YYUW distance sensor [esphome#5729](https://github.com/esphome/esphome/pull/5729) by [@TH-Braemer](https://github.com/TH-Braemer) (new-integration)
- Fix AHT10 / AHT20 communication [esphome#5198](https://github.com/esphome/esphome/pull/5198) by [@flaminggoat](https://github.com/flaminggoat)
- Fix crash when handling pin_check error [esphome#5915](https://github.com/esphome/esphome/pull/5915) by [@clydebarrow](https://github.com/clydebarrow)
- Bump aioesphomeapi to 20.1.0 [esphome#5914](https://github.com/esphome/esphome/pull/5914) by [@bdraco](https://github.com/bdraco)
- Remove setpoint-change from error when calculating derivative in pid controller [esphome#4737](https://github.com/esphome/esphome/pull/4737) by [@Newspaperman57](https://github.com/Newspaperman57)
- ir_transmitter: add support for repeated commands in NEC protocol [esphome#4995](https://github.com/esphome/esphome/pull/4995) by [@ngilles](https://github.com/ngilles)
- BP1658CJ - Fix timing for all platforms, now consistent with other drivers [esphome#5799](https://github.com/esphome/esphome/pull/5799) by [@Cossid](https://github.com/Cossid)
- Add humidity support to climate [esphome#5732](https://github.com/esphome/esphome/pull/5732) by [@kroimon](https://github.com/kroimon)
- Remove lingering note [esphome#5916](https://github.com/esphome/esphome/pull/5916) by [@jesserockz](https://github.com/jesserockz)
- Fix typo added in esp32 post_build filename [esphome#5918](https://github.com/esphome/esphome/pull/5918) by [@jesserockz](https://github.com/jesserockz)
- Copy esp32 custom partition files to build folder [esphome#5919](https://github.com/esphome/esphome/pull/5919) by [@jesserockz](https://github.com/jesserockz)
- UART change at runtime [esphome#5909](https://github.com/esphome/esphome/pull/5909) by [@edwardtfn](https://github.com/edwardtfn)
- Bump aioesphomeapi from 20.1.0 to 21.0.0 [esphome#5922](https://github.com/esphome/esphome/pull/5922) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix the initial run of lambda light effects [esphome#5921](https://github.com/esphome/esphome/pull/5921) by [@smithjacobj](https://github.com/smithjacobj)
- Exposes `load_settings` to `UARTComponent` class [esphome#5920](https://github.com/esphome/esphome/pull/5920) by [@edwardtfn](https://github.com/edwardtfn)
- Add support for PN7160 [esphome#5486](https://github.com/esphome/esphome/pull/5486) by [@kbx81](https://github.com/kbx81) (new-integration)
- Add support for PN7150 [esphome#5487](https://github.com/esphome/esphome/pull/5487) by [@kbx81](https://github.com/kbx81) (new-integration)
- Allow use of CDC/JTAG loggers on esp32 variants with Arduino [esphome#4658](https://github.com/esphome/esphome/pull/4658) by [@jesserockz](https://github.com/jesserockz)
- [Logger] ESP32 S3 serial logger [esphome#4853](https://github.com/esphome/esphome/pull/4853) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Support toggle action for template cover [esphome#5917](https://github.com/esphome/esphome/pull/5917) by [@jochenvg](https://github.com/jochenvg)
- Fix SplitDefault with variants [esphome#5928](https://github.com/esphome/esphome/pull/5928) by [@jesserockz](https://github.com/jesserockz)
- Update ENS160 TVOC device_class and AQI units to match required by HA [esphome#5939](https://github.com/esphome/esphome/pull/5939) by [@mrtoy-me](https://github.com/mrtoy-me)
- Bump zeroconf from 0.128.4 to 0.130.0 [esphome#5950](https://github.com/esphome/esphome/pull/5950) by [@dependabot[bot]](https://github.com/apps/dependabot)
- UARTComponent inline doc [esphome#5930](https://github.com/esphome/esphome/pull/5930) by [@edwardtfn](https://github.com/edwardtfn)
- Fix - Tuya Fan - Allow integer speed datapoint [esphome#5948](https://github.com/esphome/esphome/pull/5948) by [@cram42](https://github.com/cram42)
- i2s_audio: Set player_task's prio to 1 [esphome#5945](https://github.com/esphome/esphome/pull/5945) by [@gaaf](https://github.com/gaaf)
- esp32_camera: Set framebuffer task prio to 1 [esphome#5943](https://github.com/esphome/esphome/pull/5943) by [@gaaf](https://github.com/gaaf)
- web_server_idf: fix call with hardcoded http code [esphome#5942](https://github.com/esphome/esphome/pull/5942) by [@dentra](https://github.com/dentra)
- Revert pure virtual functions in UART component from #5920 [esphome#5932](https://github.com/esphome/esphome/pull/5932) by [@DrCoolzic](https://github.com/DrCoolzic)
- Use the correct UART/`Serial` when CDC is enabled [esphome#5957](https://github.com/esphome/esphome/pull/5957) by [@kbx81](https://github.com/kbx81)
- rename set_raw_touch_position_ to add_raw_touch_position_ [esphome#5962](https://github.com/esphome/esphome/pull/5962) by [@nielsnl68](https://github.com/nielsnl68)
- Fix build issue with UART component when building with Arduino and CDC [esphome#5964](https://github.com/esphome/esphome/pull/5964) by [@kbx81](https://github.com/kbx81)
- Fix I2CBus::write() bug and add i2c documentation [esphome#5947](https://github.com/esphome/esphome/pull/5947) by [@DrCoolzic](https://github.com/DrCoolzic)
- Add deep sleep between updates for waveshare epaper 1.54in and 1.54inv2 [esphome#5961](https://github.com/esphome/esphome/pull/5961) by [@mathieu-mp](https://github.com/mathieu-mp)
- Speed up writing protobuf strings/bytes [esphome#5828](https://github.com/esphome/esphome/pull/5828) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi to 21.0.1 [esphome#5969](https://github.com/esphome/esphome/pull/5969) by [@bdraco](https://github.com/bdraco)
- image: allow the image to by auto-loaded by animation [esphome#5139](https://github.com/esphome/esphome/pull/5139) by [@ayufan](https://github.com/ayufan)
- Fix pin reuse error with pin expanders [esphome#5973](https://github.com/esphome/esphome/pull/5973) by [@jesserockz](https://github.com/jesserockz)

View File

@@ -32,7 +32,7 @@ backup_exclude:
init: false init: false
startup: services startup: services
name: ESPHome name: ESPHome
version: 2023.12.0 version: 2024.5.5
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

View File

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

View File

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

View File

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