1
0

Compare commits

..

345 Commits

35 changed files with 154 additions and 451 deletions

View File

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

View File

@@ -14,9 +14,12 @@
"containerEnv": { "containerEnv": {
"WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}" "WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}"
}, },
"customizations": {
"vscode": {
"extensions": [ "extensions": [
"timonwong.shellcheck", "timonwong.shellcheck",
"esbenp.prettier-vscode" "esbenp.prettier-vscode",
"ms-python.python"
], ],
"mounts": [ "mounts": [
"type=volume,target=/var/lib/docker" "type=volume,target=/var/lib/docker"
@@ -34,3 +37,5 @@
"files.trimTrailingWhitespace": true "files.trimTrailingWhitespace": true
} }
} }
}
}

View File

@@ -15,13 +15,14 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true continue-on-error: true
steps: steps:
- uses: actions/checkout@v3.5.3 - uses: actions/checkout@v4.2.2
- uses: actions/setup-python@v4 - uses: actions/setup-python@v5.3.0
with: with:
python-version: '3.x' python-version: "3.11"
- run: pip install -r script/requirements.txt - run: pip install -r script/requirements.txt
- run: script/bump-version.py ${{ github.event.inputs.version }} - run: script/bump-version.py ${{ github.event.inputs.version }}
- name: Write Beta changelog - name: Write Beta changelog
if: ${{ !contains(github.event.inputs.version, 'dev') }}
run: | run: |
cat > esphome-beta/CHANGELOG.md << 'EOF' cat > esphome-beta/CHANGELOG.md << 'EOF'
## ${{ github.event.inputs.version }} ## ${{ github.event.inputs.version }}
@@ -29,7 +30,7 @@ jobs:
${{ 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 }}
@@ -49,6 +50,7 @@ jobs:
- 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
if: ${{ !contains(github.event.inputs.version, 'dev') }}
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:

View File

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

View File

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

View File

@@ -1,124 +1,6 @@
## 2023.8.0 ## 2024.10.2
## Full list of changes - 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)
### New Components - [voice_assistant] Bugfix: Fix crash on start [esphome#7662](https://github.com/esphome/esphome/pull/7662) by [@kahrendt](https://github.com/kahrendt)
- Add support for a01nyub [esphome#4863](https://github.com/esphome/esphome/pull/4863) by [@MrSuicideParrot](https://github.com/MrSuicideParrot) (new-integration)
- Add KMeterISO component. [esphome#5170](https://github.com/esphome/esphome/pull/5170) by [@Rudd-O](https://github.com/Rudd-O) (new-integration)
- New component: Add support for bmp581 pressure and temperature sensors [esphome#4657](https://github.com/esphome/esphome/pull/4657) by [@kahrendt](https://github.com/kahrendt) (new-integration)
- New PM sensor Panasonic SN-GCJA5 [esphome#4988](https://github.com/esphome/esphome/pull/4988) by [@gcormier](https://github.com/gcormier) (new-integration)
- Add configuration flow abilites to the ld2410 component [esphome#4434](https://github.com/esphome/esphome/pull/4434) by [@regevbr](https://github.com/regevbr) (new-integration) (notable-change) (breaking-change)
### Breaking Changes
- Coolix IR protocol improvements [esphome#5105](https://github.com/esphome/esphome/pull/5105) by [@dudanov](https://github.com/dudanov) (breaking-change)
- Speaker return bytes written and do not wait for queue [esphome#5182](https://github.com/esphome/esphome/pull/5182) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Change device name in MQTT discovery messages to friendly names [esphome#5205](https://github.com/esphome/esphome/pull/5205) by [@pidpawel](https://github.com/pidpawel) (breaking-change)
- Add configuration flow abilites to the ld2410 component [esphome#4434](https://github.com/esphome/esphome/pull/4434) by [@regevbr](https://github.com/regevbr) (new-integration) (notable-change) (breaking-change)
### Beta Changes
- Read string of bool env and match against well known values [esphome#5232](https://github.com/esphome/esphome/pull/5232) by [@jesserockz](https://github.com/jesserockz)
- fix aeha data template [esphome#5231](https://github.com/esphome/esphome/pull/5231) by [@ssieb](https://github.com/ssieb)
- Expose start to speaker interface [esphome#5228](https://github.com/esphome/esphome/pull/5228) by [@jesserockz](https://github.com/jesserockz)
- New features added for Haier integration [esphome#5196](https://github.com/esphome/esphome/pull/5196) by [@paveldn](https://github.com/paveldn)
- pca9554 cache reads [esphome#5137](https://github.com/esphome/esphome/pull/5137) by [@hwstar](https://github.com/hwstar)
- fix midea: undo approved PR#4053 [esphome#5233](https://github.com/esphome/esphome/pull/5233) by [@dudanov](https://github.com/dudanov)
- Fixing smartair2 protocol implementation if no Wi-Fi [esphome#5238](https://github.com/esphome/esphome/pull/5238) by [@paveldn](https://github.com/paveldn)
- tuya: add time sync callback only once to prevent memleak [esphome#5234](https://github.com/esphome/esphome/pull/5234) by [@afflux](https://github.com/afflux)
- Fix duplicate tuya time warning [esphome#5243](https://github.com/esphome/esphome/pull/5243) by [@jesserockz](https://github.com/jesserockz)
- Change XL9535 `setup_priority` to IO [esphome#5246](https://github.com/esphome/esphome/pull/5246) by [@mreditor97](https://github.com/mreditor97)
- rmt_base additional minor changes [esphome#5245](https://github.com/esphome/esphome/pull/5245) by [@dudanov](https://github.com/dudanov)
- Fix 24 bit signed integer parsing in sml parser [esphome#5250](https://github.com/esphome/esphome/pull/5250) by [@mulder-fbi](https://github.com/mulder-fbi)
- Fix IDFI2CBus::writev ignoring stop parameter [esphome#4840](https://github.com/esphome/esphome/pull/4840) by [@CarsonF](https://github.com/CarsonF)
- Add configuration flow abilites to the ld2410 component [esphome#4434](https://github.com/esphome/esphome/pull/4434) by [@regevbr](https://github.com/regevbr) (new-integration) (notable-change) (breaking-change)
### Notable Changes
- Change MQTT client for ESP32 Arduino [esphome#5157](https://github.com/esphome/esphome/pull/5157) by [@HeMan](https://github.com/HeMan) (notable-change)
- Add configuration flow abilites to the ld2410 component [esphome#4434](https://github.com/esphome/esphome/pull/4434) by [@regevbr](https://github.com/regevbr) (new-integration) (notable-change) (breaking-change)
### All changes
- Mk2 to prepare color.h for idf >= 5 [esphome#5070](https://github.com/esphome/esphome/pull/5070) by [@HeMan](https://github.com/HeMan)
- display: Add helper methods to `Display::clip` and `Display::clamp_x/y_` [esphome#5003](https://github.com/esphome/esphome/pull/5003) by [@ayufan](https://github.com/ayufan)
- Mark repo as safe directory to git config [esphome#5102](https://github.com/esphome/esphome/pull/5102) by [@davet2001](https://github.com/davet2001)
- Bump click from 8.1.3 to 8.1.5 [esphome#5099](https://github.com/esphome/esphome/pull/5099) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pyyaml from 6.0 to 6.0.1 [esphome#5117](https://github.com/esphome/esphome/pull/5117) by [@dependabot[bot]](https://github.com/apps/dependabot)
- ignore components folder in root [esphome#5130](https://github.com/esphome/esphome/pull/5130) by [@jesserockz](https://github.com/jesserockz)
- Add size getter to CallbackManager [esphome#5129](https://github.com/esphome/esphome/pull/5129) by [@jesserockz](https://github.com/jesserockz)
- Make docker use pip installed pillow [esphome#5074](https://github.com/esphome/esphome/pull/5074) by [@HeMan](https://github.com/HeMan)
- Change datatype in e131 addressable light [esphome#5127](https://github.com/esphome/esphome/pull/5127) by [@HeMan](https://github.com/HeMan)
- Streamer mode [esphome#5119](https://github.com/esphome/esphome/pull/5119) by [@grahambrown11](https://github.com/grahambrown11)
- Version bump for ESP32 IDF and Arduino [esphome#5035](https://github.com/esphome/esphome/pull/5035) by [@HeMan](https://github.com/HeMan)
- Synchronise Device Classes from Home Assistant [esphome#5136](https://github.com/esphome/esphome/pull/5136) by [@esphomebot](https://github.com/esphomebot)
- Update known boards to 5.4.0 [esphome#5134](https://github.com/esphome/esphome/pull/5134) by [@jesserockz](https://github.com/jesserockz)
- Init colorama in ESPHome main [esphome#5111](https://github.com/esphome/esphome/pull/5111) by [@kuba2k2](https://github.com/kuba2k2)
- Coolix IR protocol improvements [esphome#5105](https://github.com/esphome/esphome/pull/5105) by [@dudanov](https://github.com/dudanov) (breaking-change)
- Allow esp32 idf components to specify submodules and specific components [esphome#5128](https://github.com/esphome/esphome/pull/5128) by [@jesserockz](https://github.com/jesserockz)
- Synchronise Device Classes from Home Assistant [esphome#5147](https://github.com/esphome/esphome/pull/5147) by [@esphomebot](https://github.com/esphomebot)
- Prepare some components for IDF >= 5 [esphome#5061](https://github.com/esphome/esphome/pull/5061) by [@HeMan](https://github.com/HeMan)
- Bump clang-tidy from 11 to 14 [esphome#5160](https://github.com/esphome/esphome/pull/5160) by [@dudanov](https://github.com/dudanov)
- climate triggers Climate and ClimateCall references [esphome#5028](https://github.com/esphome/esphome/pull/5028) by [@dudanov](https://github.com/dudanov)
- remote_base changes [esphome#5124](https://github.com/esphome/esphome/pull/5124) by [@dudanov](https://github.com/dudanov)
- Add 'map_linear' and 'clamp' sensor filters [esphome#5040](https://github.com/esphome/esphome/pull/5040) by [@Mat931](https://github.com/Mat931)
- Adding Inkplate 6 v2 model variant [esphome#5165](https://github.com/esphome/esphome/pull/5165) by [@mullerdavid](https://github.com/mullerdavid)
- duty_time: fix build without binary_sensor. Parented in automations. [esphome#5156](https://github.com/esphome/esphome/pull/5156) by [@dudanov](https://github.com/dudanov)
- Add standardized CRC helper functions [esphome#4798](https://github.com/esphome/esphome/pull/4798) by [@Mat931](https://github.com/Mat931)
- Enable IPv6 for ESP32 Arduino, wifi and ethernet [esphome#4865](https://github.com/esphome/esphome/pull/4865) by [@HeMan](https://github.com/HeMan)
- Bump zeroconf from 0.69.0 to 0.71.4 [esphome#5148](https://github.com/esphome/esphome/pull/5148) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump black from 23.3.0 to 23.7.0 [esphome#5126](https://github.com/esphome/esphome/pull/5126) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pylint from 2.17.4 to 2.17.5 [esphome#5172](https://github.com/esphome/esphome/pull/5172) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pyupgrade from 3.7.0 to 3.9.0 [esphome#5083](https://github.com/esphome/esphome/pull/5083) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Vertical and horizontal airflow actions fix for Haier climate [esphome#5164](https://github.com/esphome/esphome/pull/5164) by [@paveldn](https://github.com/paveldn)
- Microphone add is_stopped [esphome#5183](https://github.com/esphome/esphome/pull/5183) by [@jesserockz](https://github.com/jesserockz)
- Add get_board function to esp32 module [esphome#5184](https://github.com/esphome/esphome/pull/5184) by [@jesserockz](https://github.com/jesserockz)
- Speaker return bytes written and do not wait for queue [esphome#5182](https://github.com/esphome/esphome/pull/5182) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Update components "if x in config" [esphome#5181](https://github.com/esphome/esphome/pull/5181) by [@jesserockz](https://github.com/jesserockz)
- Bump click from 8.1.5 to 8.1.6 [esphome#5179](https://github.com/esphome/esphome/pull/5179) by [@dependabot[bot]](https://github.com/apps/dependabot)
- PWM Output on RP2040 for high frequencies [esphome#5204](https://github.com/esphome/esphome/pull/5204) by [@matemaciek](https://github.com/matemaciek)
- Fix some configs after #5181 [esphome#5209](https://github.com/esphome/esphome/pull/5209) by [@jesserockz](https://github.com/jesserockz)
- Improved compensation sgp30 [esphome#5208](https://github.com/esphome/esphome/pull/5208) by [@arno1801](https://github.com/arno1801)
- Add support for a01nyub [esphome#4863](https://github.com/esphome/esphome/pull/4863) by [@MrSuicideParrot](https://github.com/MrSuicideParrot) (new-integration)
- Change device name in MQTT discovery messages to friendly names [esphome#5205](https://github.com/esphome/esphome/pull/5205) by [@pidpawel](https://github.com/pidpawel) (breaking-change)
- Add ESP32-S2/S3 capacitive touch support [esphome#5116](https://github.com/esphome/esphome/pull/5116) by [@kbx81](https://github.com/kbx81)
- Bump zeroconf from 0.71.4 to 0.74.0 [esphome#5199](https://github.com/esphome/esphome/pull/5199) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Implemented Waveshare 7.5in B V3 [esphome#5210](https://github.com/esphome/esphome/pull/5210) by [@lucasprim](https://github.com/lucasprim)
- Refactor `pulse_meter` to better handle higher frequencies [esphome#4231](https://github.com/esphome/esphome/pull/4231) by [@TrentHouliston](https://github.com/TrentHouliston)
- Change MQTT client for ESP32 Arduino [esphome#5157](https://github.com/esphome/esphome/pull/5157) by [@HeMan](https://github.com/HeMan) (notable-change)
- Add read interface to microphone [esphome#5131](https://github.com/esphome/esphome/pull/5131) by [@jesserockz](https://github.com/jesserockz)
- i2c: fix build on ESP-IDF >= 5.1 [esphome#5200](https://github.com/esphome/esphome/pull/5200) by [@stintel](https://github.com/stintel)
- Add socket define for rp2040 dev [esphome#4968](https://github.com/esphome/esphome/pull/4968) by [@jesserockz](https://github.com/jesserockz)
- core: read ESP32 MAC address from eFuse if IEEE802.15.4 is supported [esphome#5176](https://github.com/esphome/esphome/pull/5176) by [@stintel](https://github.com/stintel)
- esp32_ble_beacon: enable CONFIG_BT_BLE_42_FEATURES_SUPPORTED [esphome#5211](https://github.com/esphome/esphome/pull/5211) by [@stintel](https://github.com/stintel)
- Bump pytest-asyncio from 0.21.0 to 0.21.1 [esphome#5187](https://github.com/esphome/esphome/pull/5187) by [@dependabot[bot]](https://github.com/apps/dependabot)
- ledc: check SOC_LEDC_SUPPORT_APB_CLOCK [esphome#5212](https://github.com/esphome/esphome/pull/5212) by [@stintel](https://github.com/stintel)
- Add arm night to alarm control panel [esphome#5186](https://github.com/esphome/esphome/pull/5186) by [@primeroz](https://github.com/primeroz)
- Bump pyupgrade from 3.9.0 to 3.10.1 [esphome#5189](https://github.com/esphome/esphome/pull/5189) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add KMeterISO component. [esphome#5170](https://github.com/esphome/esphome/pull/5170) by [@Rudd-O](https://github.com/Rudd-O) (new-integration)
- Bump platformio from 6.1.7 to 6.1.9 [esphome#5066](https://github.com/esphome/esphome/pull/5066) by [@dependabot[bot]](https://github.com/apps/dependabot)
- New component: Add support for bmp581 pressure and temperature sensors [esphome#4657](https://github.com/esphome/esphome/pull/4657) by [@kahrendt](https://github.com/kahrendt) (new-integration)
- New PM sensor Panasonic SN-GCJA5 [esphome#4988](https://github.com/esphome/esphome/pull/4988) by [@gcormier](https://github.com/gcormier) (new-integration)
- Daly BMS improvements [esphome#3388](https://github.com/esphome/esphome/pull/3388) by [@matthias882](https://github.com/matthias882)
- Add missing `on_(arming|pending|armed_home|armed_night|armed_away|disarmed)` triggers to alarm_control_panel [esphome#5219](https://github.com/esphome/esphome/pull/5219) by [@primeroz](https://github.com/primeroz)
- add value option to timeout filter [esphome#5222](https://github.com/esphome/esphome/pull/5222) by [@ssieb](https://github.com/ssieb)
- Tweak Color init because IDF 5+ [esphome#5221](https://github.com/esphome/esphome/pull/5221) by [@kbx81](https://github.com/kbx81)
- Read string of bool env and match against well known values [esphome#5232](https://github.com/esphome/esphome/pull/5232) by [@jesserockz](https://github.com/jesserockz)
- fix aeha data template [esphome#5231](https://github.com/esphome/esphome/pull/5231) by [@ssieb](https://github.com/ssieb)
- Expose start to speaker interface [esphome#5228](https://github.com/esphome/esphome/pull/5228) by [@jesserockz](https://github.com/jesserockz)
- New features added for Haier integration [esphome#5196](https://github.com/esphome/esphome/pull/5196) by [@paveldn](https://github.com/paveldn)
- pca9554 cache reads [esphome#5137](https://github.com/esphome/esphome/pull/5137) by [@hwstar](https://github.com/hwstar)
- fix midea: undo approved PR#4053 [esphome#5233](https://github.com/esphome/esphome/pull/5233) by [@dudanov](https://github.com/dudanov)
- Fixing smartair2 protocol implementation if no Wi-Fi [esphome#5238](https://github.com/esphome/esphome/pull/5238) by [@paveldn](https://github.com/paveldn)
- tuya: add time sync callback only once to prevent memleak [esphome#5234](https://github.com/esphome/esphome/pull/5234) by [@afflux](https://github.com/afflux)
- Fix duplicate tuya time warning [esphome#5243](https://github.com/esphome/esphome/pull/5243) by [@jesserockz](https://github.com/jesserockz)
- Change XL9535 `setup_priority` to IO [esphome#5246](https://github.com/esphome/esphome/pull/5246) by [@mreditor97](https://github.com/mreditor97)
- rmt_base additional minor changes [esphome#5245](https://github.com/esphome/esphome/pull/5245) by [@dudanov](https://github.com/dudanov)
- Fix 24 bit signed integer parsing in sml parser [esphome#5250](https://github.com/esphome/esphome/pull/5250) by [@mulder-fbi](https://github.com/mulder-fbi)
- Fix IDFI2CBus::writev ignoring stop parameter [esphome#4840](https://github.com/esphome/esphome/pull/4840) by [@CarsonF](https://github.com/CarsonF)
- Add configuration flow abilites to the ld2410 component [esphome#4434](https://github.com/esphome/esphome/pull/4434) by [@regevbr](https://github.com/regevbr) (new-integration) (notable-change) (breaking-change)
- Add `libfreetype-dev` Debian package for armv7 Docker builds [esphome#5262](https://github.com/esphome/esphome/pull/5262) by [@pierlon](https://github.com/pierlon)
- Add delay before enabling ipv6 [esphome#5256](https://github.com/esphome/esphome/pull/5256) by [@HeMan](https://github.com/HeMan)
- Bump zeroconf from 0.74.0 to 0.80.0 [esphome#5260](https://github.com/esphome/esphome/pull/5260) by [@dependabot[bot]](https://github.com/apps/dependabot)

View File

@@ -26,13 +26,13 @@ schema:
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome (beta) name: ESPHome (beta)
version: 2023.8.0 version: 2024.10.2
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

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: 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] [![ESPHome logo][logo]][website]
@@ -7,13 +7,13 @@
## About ## About
This add-on allows you to manage and program your ESP8266 and ESP32 based microcontrollers This add-on allows you to write configurations and turn your microcontrollers
directly through Home Assistant **with no programming experience required**. All you need to do into smart home devices directly through Home Assistant **with no programming experience required**.
is write YAML configuration files; the rest (over-the-air updates, compiling) is all All you need to do is write YAML configuration files; the rest (over-the-air updates, compiling) is all
handled by ESPHome. handled by ESPHome.
<p align="center"> <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> </p>
[View the ESPHome documentation][website] [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

@@ -27,15 +27,16 @@ schema:
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
name: ESPHome (dev) startup: services
version: dev name: ESPHome Device Compiler (dev)
version: 2024.11.0-dev20241024
slug: esphome-dev 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 stage: experimental
advanced: true advanced: true
options: 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,124 +1,6 @@
## 2023.8.0 ## 2024.10.2
## Full list of changes - 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)
### New Components - [voice_assistant] Bugfix: Fix crash on start [esphome#7662](https://github.com/esphome/esphome/pull/7662) by [@kahrendt](https://github.com/kahrendt)
- Add support for a01nyub [esphome#4863](https://github.com/esphome/esphome/pull/4863) by [@MrSuicideParrot](https://github.com/MrSuicideParrot) (new-integration)
- Add KMeterISO component. [esphome#5170](https://github.com/esphome/esphome/pull/5170) by [@Rudd-O](https://github.com/Rudd-O) (new-integration)
- New component: Add support for bmp581 pressure and temperature sensors [esphome#4657](https://github.com/esphome/esphome/pull/4657) by [@kahrendt](https://github.com/kahrendt) (new-integration)
- New PM sensor Panasonic SN-GCJA5 [esphome#4988](https://github.com/esphome/esphome/pull/4988) by [@gcormier](https://github.com/gcormier) (new-integration)
- Add configuration flow abilites to the ld2410 component [esphome#4434](https://github.com/esphome/esphome/pull/4434) by [@regevbr](https://github.com/regevbr) (new-integration) (notable-change) (breaking-change)
### Breaking Changes
- Coolix IR protocol improvements [esphome#5105](https://github.com/esphome/esphome/pull/5105) by [@dudanov](https://github.com/dudanov) (breaking-change)
- Speaker return bytes written and do not wait for queue [esphome#5182](https://github.com/esphome/esphome/pull/5182) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Change device name in MQTT discovery messages to friendly names [esphome#5205](https://github.com/esphome/esphome/pull/5205) by [@pidpawel](https://github.com/pidpawel) (breaking-change)
- Add configuration flow abilites to the ld2410 component [esphome#4434](https://github.com/esphome/esphome/pull/4434) by [@regevbr](https://github.com/regevbr) (new-integration) (notable-change) (breaking-change)
### Beta Changes
- Read string of bool env and match against well known values [esphome#5232](https://github.com/esphome/esphome/pull/5232) by [@jesserockz](https://github.com/jesserockz)
- fix aeha data template [esphome#5231](https://github.com/esphome/esphome/pull/5231) by [@ssieb](https://github.com/ssieb)
- Expose start to speaker interface [esphome#5228](https://github.com/esphome/esphome/pull/5228) by [@jesserockz](https://github.com/jesserockz)
- New features added for Haier integration [esphome#5196](https://github.com/esphome/esphome/pull/5196) by [@paveldn](https://github.com/paveldn)
- pca9554 cache reads [esphome#5137](https://github.com/esphome/esphome/pull/5137) by [@hwstar](https://github.com/hwstar)
- fix midea: undo approved PR#4053 [esphome#5233](https://github.com/esphome/esphome/pull/5233) by [@dudanov](https://github.com/dudanov)
- Fixing smartair2 protocol implementation if no Wi-Fi [esphome#5238](https://github.com/esphome/esphome/pull/5238) by [@paveldn](https://github.com/paveldn)
- tuya: add time sync callback only once to prevent memleak [esphome#5234](https://github.com/esphome/esphome/pull/5234) by [@afflux](https://github.com/afflux)
- Fix duplicate tuya time warning [esphome#5243](https://github.com/esphome/esphome/pull/5243) by [@jesserockz](https://github.com/jesserockz)
- Change XL9535 `setup_priority` to IO [esphome#5246](https://github.com/esphome/esphome/pull/5246) by [@mreditor97](https://github.com/mreditor97)
- rmt_base additional minor changes [esphome#5245](https://github.com/esphome/esphome/pull/5245) by [@dudanov](https://github.com/dudanov)
- Fix 24 bit signed integer parsing in sml parser [esphome#5250](https://github.com/esphome/esphome/pull/5250) by [@mulder-fbi](https://github.com/mulder-fbi)
- Fix IDFI2CBus::writev ignoring stop parameter [esphome#4840](https://github.com/esphome/esphome/pull/4840) by [@CarsonF](https://github.com/CarsonF)
- Add configuration flow abilites to the ld2410 component [esphome#4434](https://github.com/esphome/esphome/pull/4434) by [@regevbr](https://github.com/regevbr) (new-integration) (notable-change) (breaking-change)
### Notable Changes
- Change MQTT client for ESP32 Arduino [esphome#5157](https://github.com/esphome/esphome/pull/5157) by [@HeMan](https://github.com/HeMan) (notable-change)
- Add configuration flow abilites to the ld2410 component [esphome#4434](https://github.com/esphome/esphome/pull/4434) by [@regevbr](https://github.com/regevbr) (new-integration) (notable-change) (breaking-change)
### All changes
- Mk2 to prepare color.h for idf >= 5 [esphome#5070](https://github.com/esphome/esphome/pull/5070) by [@HeMan](https://github.com/HeMan)
- display: Add helper methods to `Display::clip` and `Display::clamp_x/y_` [esphome#5003](https://github.com/esphome/esphome/pull/5003) by [@ayufan](https://github.com/ayufan)
- Mark repo as safe directory to git config [esphome#5102](https://github.com/esphome/esphome/pull/5102) by [@davet2001](https://github.com/davet2001)
- Bump click from 8.1.3 to 8.1.5 [esphome#5099](https://github.com/esphome/esphome/pull/5099) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pyyaml from 6.0 to 6.0.1 [esphome#5117](https://github.com/esphome/esphome/pull/5117) by [@dependabot[bot]](https://github.com/apps/dependabot)
- ignore components folder in root [esphome#5130](https://github.com/esphome/esphome/pull/5130) by [@jesserockz](https://github.com/jesserockz)
- Add size getter to CallbackManager [esphome#5129](https://github.com/esphome/esphome/pull/5129) by [@jesserockz](https://github.com/jesserockz)
- Make docker use pip installed pillow [esphome#5074](https://github.com/esphome/esphome/pull/5074) by [@HeMan](https://github.com/HeMan)
- Change datatype in e131 addressable light [esphome#5127](https://github.com/esphome/esphome/pull/5127) by [@HeMan](https://github.com/HeMan)
- Streamer mode [esphome#5119](https://github.com/esphome/esphome/pull/5119) by [@grahambrown11](https://github.com/grahambrown11)
- Version bump for ESP32 IDF and Arduino [esphome#5035](https://github.com/esphome/esphome/pull/5035) by [@HeMan](https://github.com/HeMan)
- Synchronise Device Classes from Home Assistant [esphome#5136](https://github.com/esphome/esphome/pull/5136) by [@esphomebot](https://github.com/esphomebot)
- Update known boards to 5.4.0 [esphome#5134](https://github.com/esphome/esphome/pull/5134) by [@jesserockz](https://github.com/jesserockz)
- Init colorama in ESPHome main [esphome#5111](https://github.com/esphome/esphome/pull/5111) by [@kuba2k2](https://github.com/kuba2k2)
- Coolix IR protocol improvements [esphome#5105](https://github.com/esphome/esphome/pull/5105) by [@dudanov](https://github.com/dudanov) (breaking-change)
- Allow esp32 idf components to specify submodules and specific components [esphome#5128](https://github.com/esphome/esphome/pull/5128) by [@jesserockz](https://github.com/jesserockz)
- Synchronise Device Classes from Home Assistant [esphome#5147](https://github.com/esphome/esphome/pull/5147) by [@esphomebot](https://github.com/esphomebot)
- Prepare some components for IDF >= 5 [esphome#5061](https://github.com/esphome/esphome/pull/5061) by [@HeMan](https://github.com/HeMan)
- Bump clang-tidy from 11 to 14 [esphome#5160](https://github.com/esphome/esphome/pull/5160) by [@dudanov](https://github.com/dudanov)
- climate triggers Climate and ClimateCall references [esphome#5028](https://github.com/esphome/esphome/pull/5028) by [@dudanov](https://github.com/dudanov)
- remote_base changes [esphome#5124](https://github.com/esphome/esphome/pull/5124) by [@dudanov](https://github.com/dudanov)
- Add 'map_linear' and 'clamp' sensor filters [esphome#5040](https://github.com/esphome/esphome/pull/5040) by [@Mat931](https://github.com/Mat931)
- Adding Inkplate 6 v2 model variant [esphome#5165](https://github.com/esphome/esphome/pull/5165) by [@mullerdavid](https://github.com/mullerdavid)
- duty_time: fix build without binary_sensor. Parented in automations. [esphome#5156](https://github.com/esphome/esphome/pull/5156) by [@dudanov](https://github.com/dudanov)
- Add standardized CRC helper functions [esphome#4798](https://github.com/esphome/esphome/pull/4798) by [@Mat931](https://github.com/Mat931)
- Enable IPv6 for ESP32 Arduino, wifi and ethernet [esphome#4865](https://github.com/esphome/esphome/pull/4865) by [@HeMan](https://github.com/HeMan)
- Bump zeroconf from 0.69.0 to 0.71.4 [esphome#5148](https://github.com/esphome/esphome/pull/5148) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump black from 23.3.0 to 23.7.0 [esphome#5126](https://github.com/esphome/esphome/pull/5126) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pylint from 2.17.4 to 2.17.5 [esphome#5172](https://github.com/esphome/esphome/pull/5172) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pyupgrade from 3.7.0 to 3.9.0 [esphome#5083](https://github.com/esphome/esphome/pull/5083) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Vertical and horizontal airflow actions fix for Haier climate [esphome#5164](https://github.com/esphome/esphome/pull/5164) by [@paveldn](https://github.com/paveldn)
- Microphone add is_stopped [esphome#5183](https://github.com/esphome/esphome/pull/5183) by [@jesserockz](https://github.com/jesserockz)
- Add get_board function to esp32 module [esphome#5184](https://github.com/esphome/esphome/pull/5184) by [@jesserockz](https://github.com/jesserockz)
- Speaker return bytes written and do not wait for queue [esphome#5182](https://github.com/esphome/esphome/pull/5182) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Update components "if x in config" [esphome#5181](https://github.com/esphome/esphome/pull/5181) by [@jesserockz](https://github.com/jesserockz)
- Bump click from 8.1.5 to 8.1.6 [esphome#5179](https://github.com/esphome/esphome/pull/5179) by [@dependabot[bot]](https://github.com/apps/dependabot)
- PWM Output on RP2040 for high frequencies [esphome#5204](https://github.com/esphome/esphome/pull/5204) by [@matemaciek](https://github.com/matemaciek)
- Fix some configs after #5181 [esphome#5209](https://github.com/esphome/esphome/pull/5209) by [@jesserockz](https://github.com/jesserockz)
- Improved compensation sgp30 [esphome#5208](https://github.com/esphome/esphome/pull/5208) by [@arno1801](https://github.com/arno1801)
- Add support for a01nyub [esphome#4863](https://github.com/esphome/esphome/pull/4863) by [@MrSuicideParrot](https://github.com/MrSuicideParrot) (new-integration)
- Change device name in MQTT discovery messages to friendly names [esphome#5205](https://github.com/esphome/esphome/pull/5205) by [@pidpawel](https://github.com/pidpawel) (breaking-change)
- Add ESP32-S2/S3 capacitive touch support [esphome#5116](https://github.com/esphome/esphome/pull/5116) by [@kbx81](https://github.com/kbx81)
- Bump zeroconf from 0.71.4 to 0.74.0 [esphome#5199](https://github.com/esphome/esphome/pull/5199) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Implemented Waveshare 7.5in B V3 [esphome#5210](https://github.com/esphome/esphome/pull/5210) by [@lucasprim](https://github.com/lucasprim)
- Refactor `pulse_meter` to better handle higher frequencies [esphome#4231](https://github.com/esphome/esphome/pull/4231) by [@TrentHouliston](https://github.com/TrentHouliston)
- Change MQTT client for ESP32 Arduino [esphome#5157](https://github.com/esphome/esphome/pull/5157) by [@HeMan](https://github.com/HeMan) (notable-change)
- Add read interface to microphone [esphome#5131](https://github.com/esphome/esphome/pull/5131) by [@jesserockz](https://github.com/jesserockz)
- i2c: fix build on ESP-IDF >= 5.1 [esphome#5200](https://github.com/esphome/esphome/pull/5200) by [@stintel](https://github.com/stintel)
- Add socket define for rp2040 dev [esphome#4968](https://github.com/esphome/esphome/pull/4968) by [@jesserockz](https://github.com/jesserockz)
- core: read ESP32 MAC address from eFuse if IEEE802.15.4 is supported [esphome#5176](https://github.com/esphome/esphome/pull/5176) by [@stintel](https://github.com/stintel)
- esp32_ble_beacon: enable CONFIG_BT_BLE_42_FEATURES_SUPPORTED [esphome#5211](https://github.com/esphome/esphome/pull/5211) by [@stintel](https://github.com/stintel)
- Bump pytest-asyncio from 0.21.0 to 0.21.1 [esphome#5187](https://github.com/esphome/esphome/pull/5187) by [@dependabot[bot]](https://github.com/apps/dependabot)
- ledc: check SOC_LEDC_SUPPORT_APB_CLOCK [esphome#5212](https://github.com/esphome/esphome/pull/5212) by [@stintel](https://github.com/stintel)
- Add arm night to alarm control panel [esphome#5186](https://github.com/esphome/esphome/pull/5186) by [@primeroz](https://github.com/primeroz)
- Bump pyupgrade from 3.9.0 to 3.10.1 [esphome#5189](https://github.com/esphome/esphome/pull/5189) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add KMeterISO component. [esphome#5170](https://github.com/esphome/esphome/pull/5170) by [@Rudd-O](https://github.com/Rudd-O) (new-integration)
- Bump platformio from 6.1.7 to 6.1.9 [esphome#5066](https://github.com/esphome/esphome/pull/5066) by [@dependabot[bot]](https://github.com/apps/dependabot)
- New component: Add support for bmp581 pressure and temperature sensors [esphome#4657](https://github.com/esphome/esphome/pull/4657) by [@kahrendt](https://github.com/kahrendt) (new-integration)
- New PM sensor Panasonic SN-GCJA5 [esphome#4988](https://github.com/esphome/esphome/pull/4988) by [@gcormier](https://github.com/gcormier) (new-integration)
- Daly BMS improvements [esphome#3388](https://github.com/esphome/esphome/pull/3388) by [@matthias882](https://github.com/matthias882)
- Add missing `on_(arming|pending|armed_home|armed_night|armed_away|disarmed)` triggers to alarm_control_panel [esphome#5219](https://github.com/esphome/esphome/pull/5219) by [@primeroz](https://github.com/primeroz)
- add value option to timeout filter [esphome#5222](https://github.com/esphome/esphome/pull/5222) by [@ssieb](https://github.com/ssieb)
- Tweak Color init because IDF 5+ [esphome#5221](https://github.com/esphome/esphome/pull/5221) by [@kbx81](https://github.com/kbx81)
- Read string of bool env and match against well known values [esphome#5232](https://github.com/esphome/esphome/pull/5232) by [@jesserockz](https://github.com/jesserockz)
- fix aeha data template [esphome#5231](https://github.com/esphome/esphome/pull/5231) by [@ssieb](https://github.com/ssieb)
- Expose start to speaker interface [esphome#5228](https://github.com/esphome/esphome/pull/5228) by [@jesserockz](https://github.com/jesserockz)
- New features added for Haier integration [esphome#5196](https://github.com/esphome/esphome/pull/5196) by [@paveldn](https://github.com/paveldn)
- pca9554 cache reads [esphome#5137](https://github.com/esphome/esphome/pull/5137) by [@hwstar](https://github.com/hwstar)
- fix midea: undo approved PR#4053 [esphome#5233](https://github.com/esphome/esphome/pull/5233) by [@dudanov](https://github.com/dudanov)
- Fixing smartair2 protocol implementation if no Wi-Fi [esphome#5238](https://github.com/esphome/esphome/pull/5238) by [@paveldn](https://github.com/paveldn)
- tuya: add time sync callback only once to prevent memleak [esphome#5234](https://github.com/esphome/esphome/pull/5234) by [@afflux](https://github.com/afflux)
- Fix duplicate tuya time warning [esphome#5243](https://github.com/esphome/esphome/pull/5243) by [@jesserockz](https://github.com/jesserockz)
- Change XL9535 `setup_priority` to IO [esphome#5246](https://github.com/esphome/esphome/pull/5246) by [@mreditor97](https://github.com/mreditor97)
- rmt_base additional minor changes [esphome#5245](https://github.com/esphome/esphome/pull/5245) by [@dudanov](https://github.com/dudanov)
- Fix 24 bit signed integer parsing in sml parser [esphome#5250](https://github.com/esphome/esphome/pull/5250) by [@mulder-fbi](https://github.com/mulder-fbi)
- Fix IDFI2CBus::writev ignoring stop parameter [esphome#4840](https://github.com/esphome/esphome/pull/4840) by [@CarsonF](https://github.com/CarsonF)
- Add configuration flow abilites to the ld2410 component [esphome#4434](https://github.com/esphome/esphome/pull/4434) by [@regevbr](https://github.com/regevbr) (new-integration) (notable-change) (breaking-change)
- Add `libfreetype-dev` Debian package for armv7 Docker builds [esphome#5262](https://github.com/esphome/esphome/pull/5262) by [@pierlon](https://github.com/pierlon)
- Add delay before enabling ipv6 [esphome#5256](https://github.com/esphome/esphome/pull/5256) by [@HeMan](https://github.com/HeMan)
- Bump zeroconf from 0.74.0 to 0.80.0 [esphome#5260](https://github.com/esphome/esphome/pull/5260) by [@dependabot[bot]](https://github.com/apps/dependabot)

View File

@@ -26,13 +26,13 @@ schema:
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome name: ESPHome
version: 2023.8.0 version: 2024.10.2
slug: esphome slug: esphome
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

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: 5.9 KiB

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
@@ -34,21 +34,23 @@ base: &base
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- "*/*/" - "*/*/"
# Disable docker init for s6 # Disable docker init for s6
init: false init: false
# Make sure dashboard is available for core
startup: services
esphome-dev: esphome-dev:
<<: *base <<: *base
directory: esphome-dev directory: esphome-dev
name: ESPHome (dev) name: ESPHome Device Compiler (dev)
version: 'dev' # DEV version: "2024.11.0-dev20241024" # DEV
slug: esphome-dev slug: esphome-dev
description: "Development version of ESPHome add-on" description: "Development version of ESPHome Device Compiler"
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:
@@ -60,9 +62,7 @@ esphome-dev:
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
base_image: ghcr.io/esphome/esphome-hassio:dev
options: options:
home_assistant_dashboard_integration: false home_assistant_dashboard_integration: false
@@ -70,7 +70,7 @@ esphome-beta:
<<: *base <<: *base
directory: esphome-beta directory: esphome-beta
name: ESPHome (beta) name: ESPHome (beta)
version: '2023.8.0' # BETA version: "2024.10.2" # 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/
@@ -84,7 +84,7 @@ esphome-stable:
<<: *base <<: *base
directory: esphome directory: esphome
name: ESPHome name: ESPHome
version: '2023.8.0' # STABLE version: "2024.10.2" # 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

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] [![ESPHome logo][logo]][website]
@@ -7,13 +7,13 @@
## About ## About
This add-on allows you to manage and program your ESP8266 and ESP32 based microcontrollers This add-on allows you to write configurations and turn your microcontrollers
directly through Home Assistant **with no programming experience required**. All you need to do into smart home devices directly through Home Assistant **with no programming experience required**.
is write YAML configuration files; the rest (over-the-air updates, compiling) is all All you need to do is write YAML configuration files; the rest (over-the-air updates, compiling) is all
handled by ESPHome. handled by ESPHome.
<p align="center"> <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> </p>
[View the ESPHome documentation][website] [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: 20 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB