1
0

Compare commits

...

308 Commits

30 changed files with 125 additions and 281 deletions

View File

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

View File

@@ -19,20 +19,20 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.2.2
- name: Log in to the GitHub container registry
uses: docker/login-action@v3.0.0
uses: docker/login-action@v3.3.0
if: github.event_name != 'pull_request'
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3.0.0
uses: docker/setup-qemu-action@v3.2.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.0.0
uses: docker/setup-buildx-action@v3.7.1
- name: Build and Push
uses: docker/build-push-action@v5.0.0
uses: docker/build-push-action@v6.9.0
with:
context: .
file: .devcontainer/Dockerfile

View File

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

View File

@@ -1,98 +1,6 @@
## 2023.11.0b1
## 2024.10.2
- Splits FastLed test scripts out of test1.yaml [esphome#5522](https://github.com/esphome/esphome/pull/5522) by [@nielsnl68](https://github.com/nielsnl68)
- Add round sensor filter [esphome#5532](https://github.com/esphome/esphome/pull/5532) by [@jesserockz](https://github.com/jesserockz)
- Add Support for Sensirion SFA30 sensor [esphome#5519](https://github.com/esphome/esphome/pull/5519) by [@ghsensdev](https://github.com/ghsensdev) (new-integration)
- Change UART source clock to `UART_SCLK_DEFAULT` when IDF >=v5 [esphome#5533](https://github.com/esphome/esphome/pull/5533) by [@leoshusar](https://github.com/leoshusar)
- add uart button [esphome#5540](https://github.com/esphome/esphome/pull/5540) by [@ssieb](https://github.com/ssieb) (new-integration)
- add on/off options for uart switch [esphome#5539](https://github.com/esphome/esphome/pull/5539) by [@ssieb](https://github.com/ssieb)
- Update docker base and packages + docker python 3.11 [esphome#5473](https://github.com/esphome/esphome/pull/5473) by [@bdraco](https://github.com/bdraco)
- IDF 5 fixes for various components from test1.yaml [esphome#5451](https://github.com/esphome/esphome/pull/5451) by [@kbx81](https://github.com/kbx81)
- Bump aioesphomeapi from 15.0.0 to 18.0.6 [esphome#5557](https://github.com/esphome/esphome/pull/5557) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump zeroconf from 0.115.1 to 0.119.0 [esphome#5560](https://github.com/esphome/esphome/pull/5560) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add config to allow suppression of warnings about use of strapping pins [esphome#5287](https://github.com/esphome/esphome/pull/5287) by [@clydebarrow](https://github.com/clydebarrow)
- Hydreon updates [esphome#5424](https://github.com/esphome/esphome/pull/5424) by [@jj-uk](https://github.com/jj-uk) (breaking-change)
- Bump actions/checkout from 4.1.0 to 4.1.1 [esphome#5551](https://github.com/esphome/esphome/pull/5551) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pyupgrade from 3.10.1 to 3.13.0 [esphome#5428](https://github.com/esphome/esphome/pull/5428) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump tzlocal from 5.0.1 to 5.1 [esphome#5480](https://github.com/esphome/esphome/pull/5480) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump black from 23.9.1 to 23.10.0 [esphome#5561](https://github.com/esphome/esphome/pull/5561) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fan no off cycle action [esphome#5564](https://github.com/esphome/esphome/pull/5564) by [@skykingjwc](https://github.com/skykingjwc)
- Bump aioesphomeapi from 18.0.6 to 18.0.7 [esphome#5573](https://github.com/esphome/esphome/pull/5573) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Remove unnecessary checks in Nextion component [esphome#5578](https://github.com/esphome/esphome/pull/5578) by [@edwardtfn](https://github.com/edwardtfn)
- update storage version from mdns [esphome#5584](https://github.com/esphome/esphome/pull/5584) by [@glmnet](https://github.com/glmnet)
- set Nextion protocol reparse mode [esphome#5484](https://github.com/esphome/esphome/pull/5484) by [@edwardtfn](https://github.com/edwardtfn)
- Add address text sensor to WireGuard [esphome#5576](https://github.com/esphome/esphome/pull/5576) by [@droscy](https://github.com/droscy)
- Add LibreTiny hardwares to PR Template [esphome#5575](https://github.com/esphome/esphome/pull/5575) by [@HeMan](https://github.com/HeMan)
- Bump pytest-mock from 3.11.1 to 3.12.0 [esphome#5571](https://github.com/esphome/esphome/pull/5571) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pyupgrade from 3.13.0 to 3.15.0 [esphome#5570](https://github.com/esphome/esphome/pull/5570) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add ZH/LT-01 climate component with IR receiver option [esphome#4333](https://github.com/esphome/esphome/pull/4333) by [@cfeenstra1024](https://github.com/cfeenstra1024) (new-integration)
- Feat: Add GREE climateir component [esphome#4464](https://github.com/esphome/esphome/pull/4464) by [@PiuPiuson](https://github.com/PiuPiuson) (new-integration)
- AMS iAQ Core CO2 sensor component [esphome#5192](https://github.com/esphome/esphome/pull/5192) by [@yozik04](https://github.com/yozik04) (new-integration)
- Add IR Noblex climate component [esphome#4913](https://github.com/esphome/esphome/pull/4913) by [@AGalfra](https://github.com/AGalfra) (new-integration)
- Bump aioesphomeapi from 18.0.7 to 18.0.12 [esphome#5597](https://github.com/esphome/esphome/pull/5597) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add text component [esphome#5336](https://github.com/esphome/esphome/pull/5336) by [@EternityForest](https://github.com/EternityForest) (new-integration)
- Fix exception handling when loading packages [esphome#5569](https://github.com/esphome/esphome/pull/5569) by [@dentra](https://github.com/dentra)
- Add support for honeywellabp2 pressure sensor [esphome#5422](https://github.com/esphome/esphome/pull/5422) by [@jpfaff](https://github.com/jpfaff) (new-integration)
- Add Emc2101 [esphome#4491](https://github.com/esphome/esphome/pull/4491) by [@ellull](https://github.com/ellull) (new-integration)
- Fix: Incorporate unique serial number in preference's hash for multiple Sensirion sensors [esphome#5479](https://github.com/esphome/esphome/pull/5479) by [@kahrendt](https://github.com/kahrendt)
- Add support for Qwiic PIR binary sensor [esphome#5194](https://github.com/esphome/esphome/pull/5194) by [@kahrendt](https://github.com/kahrendt) (new-integration)
- Add ignore out of range option for clamp filter [esphome#5455](https://github.com/esphome/esphome/pull/5455) by [@kahrendt](https://github.com/kahrendt)
- Print text mqtt command topic [esphome#5601](https://github.com/esphome/esphome/pull/5601) by [@jesserockz](https://github.com/jesserockz)
- Correctly allow mqtt topics to be none so ESPHome does not sub/pub to them [esphome#5213](https://github.com/esphome/esphome/pull/5213) by [@jesserockz](https://github.com/jesserockz)
- SX1509 output debounce fix (resolves esphome/issues#4402) [esphome#4672](https://github.com/esphome/esphome/pull/4672) by [@tracestep](https://github.com/tracestep)
- Add details when error loading package [esphome#5603](https://github.com/esphome/esphome/pull/5603) by [@dentra](https://github.com/dentra)
- Fallback to main secrets.yaml for packages [esphome#5604](https://github.com/esphome/esphome/pull/5604) by [@dentra](https://github.com/dentra)
- Add area (zone) to esphome core config to be suggested through API and MQTT. [esphome#5602](https://github.com/esphome/esphome/pull/5602) by [@Cossid](https://github.com/Cossid)
- Devcontainer: allow pip install and dont warn about root user [esphome#5608](https://github.com/esphome/esphome/pull/5608) by [@jesserockz](https://github.com/jesserockz)
- Validate test files before compiling [esphome#5611](https://github.com/esphome/esphome/pull/5611) by [@jesserockz](https://github.com/jesserockz)
- Minor defines.h updates [esphome#5610](https://github.com/esphome/esphome/pull/5610) by [@jesserockz](https://github.com/jesserockz)
- timeout filter: return value [esphome#5612](https://github.com/esphome/esphome/pull/5612) by [@jesserockz](https://github.com/jesserockz)
- Add dfrobot_sen0395 mmwave radar component [esphome#4203](https://github.com/esphome/esphome/pull/4203) by [@niklasweber](https://github.com/niklasweber) (new-integration)
- refactor mcp4728 component [esphome#5609](https://github.com/esphome/esphome/pull/5609) by [@ssieb](https://github.com/ssieb)
- Fix HA error related to incorrect state class [esphome#5605](https://github.com/esphome/esphome/pull/5605) by [@nagyrobi](https://github.com/nagyrobi)
- Fix xpt2046 for IDF 5 [esphome#5614](https://github.com/esphome/esphome/pull/5614) by [@kbx81](https://github.com/kbx81)
- IDF 5 fixes for various components from test4.yaml [esphome#5622](https://github.com/esphome/esphome/pull/5622) by [@kbx81](https://github.com/kbx81)
- IDF 5 fixes for various components from test2.yaml [esphome#5621](https://github.com/esphome/esphome/pull/5621) by [@kbx81](https://github.com/kbx81)
- Fix armv7 docker builds [esphome#5630](https://github.com/esphome/esphome/pull/5630) by [@bdraco](https://github.com/bdraco)
- Bump aioesphomeapi from 18.0.12 to 18.2.0 [esphome#5606](https://github.com/esphome/esphome/pull/5606) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add needs-docs workflow to fail CI [esphome#5643](https://github.com/esphome/esphome/pull/5643) by [@jesserockz](https://github.com/jesserockz)
- Add support for PCA9535 16 bit I/O expander [esphome#5634](https://github.com/esphome/esphome/pull/5634) by [@clydebarrow](https://github.com/clydebarrow)
- Fix nextion waveform sending for multiple waveforms [esphome#4408](https://github.com/esphome/esphome/pull/4408) by [@gpambrozio](https://github.com/gpambrozio)
- Allow validation of pins based on hub config [esphome#5647](https://github.com/esphome/esphome/pull/5647) by [@jesserockz](https://github.com/jesserockz)
- Bump aioesphomeapi from 18.2.0 to 18.2.1 [esphome#5653](https://github.com/esphome/esphome/pull/5653) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Validate sn74hc595 pin number are within range [esphome#5655](https://github.com/esphome/esphome/pull/5655) by [@jesserockz](https://github.com/jesserockz)
- Update PCA9554 pin checks to new facility [esphome#5656](https://github.com/esphome/esphome/pull/5656) by [@clydebarrow](https://github.com/clydebarrow)
- Update mDNS component to 1.2.2 [esphome#5654](https://github.com/esphome/esphome/pull/5654) by [@HeMan](https://github.com/HeMan)
- Fix return value of run_external_command [esphome#5657](https://github.com/esphome/esphome/pull/5657) by [@jesserockz](https://github.com/jesserockz)
- Update RTTTL component to allow I2S [esphome#5177](https://github.com/esphome/esphome/pull/5177) by [@nielsnl68](https://github.com/nielsnl68)
- Bump flake8 version in pre-commit to match requirements file [esphome#5658](https://github.com/esphome/esphome/pull/5658) by [@jesserockz](https://github.com/jesserockz)
- Bump pytest from 7.4.2 to 7.4.3 [esphome#5599](https://github.com/esphome/esphome/pull/5599) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump tzlocal from 5.1 to 5.2 [esphome#5594](https://github.com/esphome/esphome/pull/5594) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump black from 23.10.0 to 23.10.1 [esphome#5593](https://github.com/esphome/esphome/pull/5593) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add Healthcheck to Dockerfile [esphome#5651](https://github.com/esphome/esphome/pull/5651) by [@JcMinarro](https://github.com/JcMinarro)
- Add HLK-LD2420 mmWave Radar module component. [esphome#4847](https://github.com/esphome/esphome/pull/4847) by [@descipher](https://github.com/descipher) (new-integration)
- Add Micronova component [esphome#4760](https://github.com/esphome/esphome/pull/4760) by [@Jorre05](https://github.com/Jorre05) (new-integration)
- Add basic shell autocompletion using argcomplete [esphome#5618](https://github.com/esphome/esphome/pull/5618) by [@Nardol](https://github.com/Nardol)
- Fixed int variables for user defined service in case of ESP32-C3 [esphome#5675](https://github.com/esphome/esphome/pull/5675) by [@paveldn](https://github.com/paveldn)
- Add callback for raw sml messages [esphome#5668](https://github.com/esphome/esphome/pull/5668) by [@micw](https://github.com/micw)
- Fix compile with latest esp-idf on esp32c6 [esphome#5677](https://github.com/esphome/esphome/pull/5677) by [@DAVe3283](https://github.com/DAVe3283)
- Null topic_prefix disables MQTT publishing/subscription unless topic is explicitly configured [esphome#5644](https://github.com/esphome/esphome/pull/5644) by [@kahrendt](https://github.com/kahrendt)
- feat: Add ESP32 BLE enable/disable automations [esphome#5616](https://github.com/esphome/esphome/pull/5616) by [@Rapsssito](https://github.com/Rapsssito)
- ble_client rssi sensor fix when not connected [esphome#5632](https://github.com/esphome/esphome/pull/5632) by [@jesserockz](https://github.com/jesserockz)
- Add Byron Doorbell RF protocol [esphome#4718](https://github.com/esphome/esphome/pull/4718) by [@marshn](https://github.com/marshn)
- Refactor dashboard zeroconf support [esphome#5681](https://github.com/esphome/esphome/pull/5681) by [@bdraco](https://github.com/bdraco)
- Allow static assets to be cached if not in debug mode [esphome#5684](https://github.com/esphome/esphome/pull/5684) by [@jesserockz](https://github.com/jesserockz)
- Remove extra code in old sgp40 [esphome#5685](https://github.com/esphome/esphome/pull/5685) by [@jesserockz](https://github.com/jesserockz)
- Allow pulse light effect to have separate on and off transition lengths [esphome#5659](https://github.com/esphome/esphome/pull/5659) by [@jesserockz](https://github.com/jesserockz)
- Add differential pressure sensor support for CFSensor XGZP68xxD devices [esphome#5562](https://github.com/esphome/esphome/pull/5562) by [@gcormier](https://github.com/gcormier) (new-integration)
- Bump zeroconf from 0.119.0 to 0.120.0 [esphome#5682](https://github.com/esphome/esphome/pull/5682) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add spi support for ade7953 [esphome#5439](https://github.com/esphome/esphome/pull/5439) by [@angelnu](https://github.com/angelnu) (new-integration)
- Remove page jump on Nextion startup [esphome#5673](https://github.com/esphome/esphome/pull/5673) by [@edwardtfn](https://github.com/edwardtfn)
- [web_server] Adds the ability to handle Private Network Access preflight requests [esphome#5669](https://github.com/esphome/esphome/pull/5669) by [@DanielBaulig](https://github.com/DanielBaulig)
- Update esphome-dashboard to version 20231107.0 [esphome#5686](https://github.com/esphome/esphome/pull/5686) by [@jesserockz](https://github.com/jesserockz)
- add wifi.on_connect and wifi.on_disconnect triggers [esphome#3639](https://github.com/esphome/esphome/pull/3639) by [@ChemicalXandco](https://github.com/ChemicalXandco)
- Implement a memory cache for dashboard entries to avoid frequent disk reads [esphome#5687](https://github.com/esphome/esphome/pull/5687) by [@bdraco](https://github.com/bdraco)
- support spi for sn74hc595 [esphome#5491](https://github.com/esphome/esphome/pull/5491) by [@angelnu](https://github.com/angelnu)
- Handle on_disconnect when Wi-Fi is disabled [esphome#5691](https://github.com/esphome/esphome/pull/5691) by [@kbx81](https://github.com/kbx81)
- Bump aioesphomeapi from 18.2.1 to 18.2.4 [esphome#5692](https://github.com/esphome/esphome/pull/5692) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Humanized the missing MQTT log topic error message [esphome#7634](https://github.com/esphome/esphome/pull/7634) by [@solarkennedy](https://github.com/solarkennedy)
- [lvgl] Some properties were not templatable (Bugfix) [esphome#7655](https://github.com/esphome/esphome/pull/7655) by [@clydebarrow](https://github.com/clydebarrow)
- [voice_assistant] Bugfix: Fix crash on start [esphome#7662](https://github.com/esphome/esphome/pull/7662) by [@kahrendt](https://github.com/kahrendt)

View File

@@ -30,8 +30,9 @@ schema:
backup_exclude:
- '*/*/'
init: false
startup: services
name: ESPHome (beta)
version: 2023.11.0b1
version: 2024.10.2
slug: esphome-beta
description: Beta version of ESPHome add-on
image: ghcr.io/esphome/esphome-hassio

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
# ESPHome Dev Add-On
# ESPHome Device Compiler (Development branch)
[![ESPHome logo][logo]][website]
@@ -7,13 +7,13 @@
## 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
This add-on allows you to write configurations and turn your microcontrollers
into smart home devices 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>
<img title="ESPHome Device Compiler 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]

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

@@ -31,10 +31,12 @@ schema:
backup_exclude:
- '*/*/'
init: false
name: ESPHome (dev)
version: dev
startup: services
name: ESPHome Device Compiler (dev)
version: 2024.11.0-dev20241024
slug: esphome-dev
description: Development version of ESPHome add-on
description: Development version of ESPHome Device Compiler
image: ghcr.io/esphome/esphome-hassio
stage: experimental
advanced: true
options:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

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

View File

@@ -1,4 +1,6 @@
## 2023.10.6
## 2024.10.2
- Revert "Ensure that all uses of strncpy in wifi component are safe." [esphome#5662](https://github.com/esphome/esphome/pull/5662) by [@jesserockz](https://github.com/jesserockz)
- Humanized the missing MQTT log topic error message [esphome#7634](https://github.com/esphome/esphome/pull/7634) by [@solarkennedy](https://github.com/solarkennedy)
- [lvgl] Some properties were not templatable (Bugfix) [esphome#7655](https://github.com/esphome/esphome/pull/7655) by [@clydebarrow](https://github.com/clydebarrow)
- [voice_assistant] Bugfix: Fix crash on start [esphome#7662](https://github.com/esphome/esphome/pull/7662) by [@kahrendt](https://github.com/kahrendt)

View File

@@ -30,8 +30,9 @@ schema:
backup_exclude:
- '*/*/'
init: false
startup: services
name: ESPHome
version: 2023.10.6
version: 2024.10.2
slug: esphome
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
image: ghcr.io/esphome/esphome-hassio

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

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

View File

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

View File

@@ -16,11 +16,11 @@ base: &base
# Ingress settings
ingress: true
ingress_port: 0
panel_icon: 'mdi:chip'
panel_icon: "mdi:chip"
# Automatically add UART devices to add-on
uart: true
ports:
'6052/tcp': null
"6052/tcp": null
map:
- ssl:ro
- config:rw
@@ -39,15 +39,18 @@ base: &base
- "*/*/"
# Disable docker init for s6
init: false
# Make sure dashboard is available for core
startup: services
esphome-dev:
<<: *base
directory: esphome-dev
name: ESPHome (dev)
version: 'dev' # DEV
name: ESPHome Device Compiler (dev)
version: "2024.11.0-dev20241024" # DEV
slug: esphome-dev
description: "Development version of ESPHome add-on"
description: "Development version of ESPHome Device Compiler"
url: https://next.esphome.io/
image: ghcr.io/esphome/esphome-hassio
stage: experimental
advanced: true
schema:
@@ -60,15 +63,14 @@ esphome-dev:
certfile: str?
keyfile: str?
leave_front_door_open: bool?
base_image: ghcr.io/esphome/esphome-hassio:dev
options:
home_assistant_dashboard_integration: false
home_assistant_dashboard_integration: false
esphome-beta:
<<: *base
directory: esphome-beta
name: ESPHome (beta)
version: '2023.11.0b1' # BETA
version: "2024.10.2" # BETA
slug: esphome-beta
description: "Beta version of ESPHome add-on"
url: https://beta.esphome.io/
@@ -76,13 +78,13 @@ esphome-beta:
stage: experimental
advanced: true
options:
home_assistant_dashboard_integration: false
home_assistant_dashboard_integration: false
esphome-stable:
<<: *base
directory: esphome
name: ESPHome
version: '2023.10.6' # STABLE
version: "2024.10.2" # STABLE
slug: esphome
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
image: ghcr.io/esphome/esphome-hassio

BIN
template/beta/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
template/beta/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@@ -1,4 +1,4 @@
# ESPHome Dev Add-On
# ESPHome Device Compiler (Development branch)
[![ESPHome logo][logo]][website]
@@ -7,13 +7,13 @@
## 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
This add-on allows you to write configurations and turn your microcontrollers
into smart home devices 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>
<img title="ESPHome Device Compiler 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]

BIN
template/dev/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
template/dev/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB