1
0

Compare commits

..

249 Commits

51 changed files with 1069 additions and 372 deletions

15
.devcontainer/Dockerfile Normal file
View File

@@ -0,0 +1,15 @@
FROM ghcr.io/home-assistant/devcontainer:addons
RUN \
apt-get update \
&& apt-get install -y --no-install-recommends \
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 /
RUN pip install -r /requirements.txt

View File

@@ -0,0 +1,41 @@
{
"name": "ESPHome Home Assistant add-on devcontainer",
"image": "ghcr.io/esphome/devcontainer:addons",
"appPort": [
"7123:8123",
"7357:4357"
],
"postStartCommand": "bash devcontainer_bootstrap",
"runArgs": [
"-e",
"GIT_EDITOR=code --wait",
"--privileged"
],
"containerEnv": {
"WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}"
},
"customizations": {
"vscode": {
"extensions": [
"timonwong.shellcheck",
"esbenp.prettier-vscode",
"ms-python.python"
],
"mounts": [
"type=volume,target=/var/lib/docker"
],
"settings": {
"terminal.integrated.profiles.linux": {
"zsh": {
"path": "/usr/bin/zsh"
}
},
"terminal.integrated.defaultProfile.linux": "zsh",
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"files.trimTrailingWhitespace": true
}
}
}
}

7
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,7 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10

View File

@@ -6,18 +6,36 @@ on:
version:
description: The version to release
required: true
content:
description: The content of the release-notes
required: true
jobs:
create-release:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: actions/checkout@v4.1.1
- uses: actions/setup-python@v4.8.0
with:
python-version: '3.x'
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 }}
${{ 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: Commit version bump
id: commit_version
run: |
@@ -28,59 +46,14 @@ jobs:
git push
COMMIT=$(git rev-parse HEAD)
echo "::set-output name=commit_sha::${COMMIT}"
- if: ${{ contains(github.event.inputs.version, 'b') }}
name: Create Beta Release
uses: actions/create-release@v1
- 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: 'See https://beta.esphome.io/changelog/index.html'
prerelease: true
body: ${{ github.event.inputs.content }}
prerelease: ${{ contains(github.event.inputs.version, 'b') }}
commitish: ${{ steps.commit_version.outputs.commit_sha }}
- if: ${{ !contains(github.event.inputs.version, 'b') }}
name: Create Stable Release
uses: actions/create-release@v1
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.event.inputs.version }}
release_name: ${{ github.event.inputs.version }}
body: 'See https://esphome.io/changelog/index.html'
prerelease: false
commitish: ${{ steps.commit_version.outputs.commit_sha }}
deploy-community-addons:
runs-on: ubuntu-latest
needs: [create-release]
steps:
- name: Publish beta release to community-addons repository
uses: peter-evans/repository-dispatch@v1.1.3
with:
token: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}
repository: hassio-addons/repository-beta
event-type: update
client-payload: >
{
"addon": "esphome",
"name": "ESPHome",
"repository": "esphome/home-assistant-addon",
"version": "${{ github.event.inputs.version }}"
}
- if: ${{ !contains(github.event.inputs.version, 'b') }}
name: Publish stable release to community-addons repository
uses: peter-evans/repository-dispatch@v1.1.3
with:
token: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}
repository: hassio-addons/repository
event-type: update
client-payload: >
{
"addon": "esphome",
"name": "ESPHome",
"repository": "esphome/home-assistant-addon",
"version": "${{ github.event.inputs.version }}"
}

View File

@@ -1,46 +0,0 @@
name: Update Community Repo
on:
workflow_dispatch:
inputs:
version:
description: The version to release
required: true
beta:
description: Whether to release a beta version
type: boolean
required: false
default: false
jobs:
deploy-community-addons:
runs-on: ubuntu-latest
steps:
- if: ${{ contains(github.event.inputs.version, 'b') || github.event.inputs.beta == 'true' }}
name: Publish beta release to community-addons repository
uses: peter-evans/repository-dispatch@v1.1.3
with:
token: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}
repository: hassio-addons/repository-beta
event-type: update
client-payload: >
{
"addon": "esphome",
"name": "ESPHome",
"repository": "esphome/home-assistant-addon",
"version": "${{ github.event.inputs.version }}"
}
- if: ${{ !contains(github.event.inputs.version, 'b') }}
name: Publish stable release to community-addons repository
uses: peter-evans/repository-dispatch@v1.1.3
with:
token: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}
repository: hassio-addons/repository
event-type: update
client-payload: >
{
"addon": "esphome",
"name": "ESPHome",
"repository": "esphome/home-assistant-addon",
"version": "${{ github.event.inputs.version }}"
}

View File

@@ -0,0 +1,41 @@
name: Build devcontainer image
on:
workflow_dispatch:
push:
branches:
- main
paths:
- .devcontainer/**
schedule:
- cron: '0 0 1 * *'
pull_request:
branches:
- main
paths:
- .devcontainer/**
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- name: Log in to the GitHub container registry
uses: docker/login-action@v3.0.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
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.0.0
- name: Build and Push
uses: docker/build-push-action@v5.1.0
with:
context: .
file: .devcontainer/Dockerfile
tags: ghcr.io/${{ github.repository_owner }}/devcontainer:addons
push: ${{ github.event_name != 'pull_request' }}
platforms: linux/amd64,linux/arm64

View File

@@ -19,16 +19,16 @@ jobs:
channel: dev
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v4.1.1
- name: 🛠 Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4.8.0
with:
python-version: '3.x'
python-version: '3.11'
- name: 🛠 Install dependencies
run: pip install -r script/requirements.txt
- 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
uses: frenck/action-addon-linter@v2.15.0
with:
path: "./${{ matrix.channels.folder }}"

19
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,19 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Start Home Assistant",
"type": "shell",
"command": "supervisor_run",
"group": {
"kind": "test",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
}
]
}

View File

@@ -1 +1,157 @@
See https://esphome.io/changelog/index.html
## 2024.2.0
## Full list of changes
### New Components
- feat: add AS5600 component/sensor [esphome#5174](https://github.com/esphome/esphome/pull/5174) by [@ammmze](https://github.com/ammmze) (new-integration)
- Support for ST7567 display 128x64 (I2C, SPI) [esphome#5952](https://github.com/esphome/esphome/pull/5952) by [@latonita](https://github.com/latonita) (new-integration)
- BME280 SPI [esphome#5538](https://github.com/esphome/esphome/pull/5538) by [@apbodrov](https://github.com/apbodrov) (new-integration) (breaking-change)
- Add support for VEML3235 lux sensor [esphome#5959](https://github.com/esphome/esphome/pull/5959) by [@kbx81](https://github.com/kbx81) (new-integration)
- Add support of Honeywell HumidIcon (I2C HIH series) Temperature & Humidity sensor [esphome#5730](https://github.com/esphome/esphome/pull/5730) by [@Benichou34](https://github.com/Benichou34) (new-integration)
- Add combination sensor and remove absorbed kalman_combinator component [esphome#5438](https://github.com/esphome/esphome/pull/5438) by [@kahrendt](https://github.com/kahrendt) (new-integration) (breaking-change)
- Add micro_wake_word component [esphome#6136](https://github.com/esphome/esphome/pull/6136) by [@kahrendt](https://github.com/kahrendt) (new-integration)
### Breaking Changes
- PMSx003 add relevant device and state classes to default config [esphome#5633](https://github.com/esphome/esphome/pull/5633) by [@wheimbigner](https://github.com/wheimbigner) (breaking-change)
- BME280 SPI [esphome#5538](https://github.com/esphome/esphome/pull/5538) by [@apbodrov](https://github.com/apbodrov) (new-integration) (breaking-change)
- convert cse7766 to non-polling [esphome#6095](https://github.com/esphome/esphome/pull/6095) by [@ssieb](https://github.com/ssieb) (breaking-change)
- Add combination sensor and remove absorbed kalman_combinator component [esphome#5438](https://github.com/esphome/esphome/pull/5438) by [@kahrendt](https://github.com/kahrendt) (new-integration) (breaking-change)
### Beta Changes
- AUTO_LOAD `sensor` for `shelly_dimmer` [esphome#6223](https://github.com/esphome/esphome/pull/6223) by [@kbx81](https://github.com/kbx81)
- Add more debugging logs to microWakeWord [esphome#6238](https://github.com/esphome/esphome/pull/6238) by [@kahrendt](https://github.com/kahrendt)
- Fix to RF receiver for Drayton Digistat heating controller [esphome#6235](https://github.com/esphome/esphome/pull/6235) by [@marshn](https://github.com/marshn)
- WRGB Use correct multiplier [esphome#6237](https://github.com/esphome/esphome/pull/6237) by [@mhetzi](https://github.com/mhetzi)
- Add optional minimum esphome version to microWakeWord manifest [esphome#6240](https://github.com/esphome/esphome/pull/6240) by [@jesserockz](https://github.com/jesserockz)
- Fix xl9535 pin reads [esphome#6242](https://github.com/esphome/esphome/pull/6242) by [@jesserockz](https://github.com/jesserockz)
- hold interrupt disable for dallas one-wire [esphome#6244](https://github.com/esphome/esphome/pull/6244) by [@ssieb](https://github.com/ssieb)
- Fix tm1651 enum [esphome#6248](https://github.com/esphome/esphome/pull/6248) by [@kbx81](https://github.com/kbx81)
- Clear UART read buffer before sending next command [esphome#6200](https://github.com/esphome/esphome/pull/6200) by [@fototakas](https://github.com/fototakas)
- Voice Assistant: add on_idle trigger and fix nevermind [esphome#6141](https://github.com/esphome/esphome/pull/6141) by [@synesthesiam](https://github.com/synesthesiam)
- Tuya Fan component fix to handle enum datapoint type [esphome#6135](https://github.com/esphome/esphome/pull/6135) by [@sibowler](https://github.com/sibowler)
### All changes
- Bump esptool from 4.6.2 to 4.7.0 [esphome#5935](https://github.com/esphome/esphome/pull/5935) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/download-artifact from 3.0.2 to 4.0.0 [esphome#5936](https://github.com/esphome/esphome/pull/5936) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump build-image action versions [esphome#5954](https://github.com/esphome/esphome/pull/5954) by [@jesserockz](https://github.com/jesserockz)
- Revert "Bump build-image action versions" [esphome#5955](https://github.com/esphome/esphome/pull/5955) by [@jesserockz](https://github.com/jesserockz)
- Revert "Bump actions/download-artifact from 3.0.2 to 4.0.0" [esphome#5956](https://github.com/esphome/esphome/pull/5956) by [@jesserockz](https://github.com/jesserockz)
- Bump zeroconf from 0.130.0 to 0.131.0 [esphome#5967](https://github.com/esphome/esphome/pull/5967) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add ability to lock to set mode [esphome#5924](https://github.com/esphome/esphome/pull/5924) by [@ysmilda](https://github.com/ysmilda)
- feat: add AS5600 component/sensor [esphome#5174](https://github.com/esphome/esphome/pull/5174) by [@ammmze](https://github.com/ammmze) (new-integration)
- Add default substitutions for package includes [esphome#5752](https://github.com/esphome/esphome/pull/5752) by [@mknjc](https://github.com/mknjc)
- Add gradient option to addressable color wipe effect [esphome#5689](https://github.com/esphome/esphome/pull/5689) by [@lifeisafractal](https://github.com/lifeisafractal)
- Added alarm processing for Haier component (hOn protocol) [esphome#5965](https://github.com/esphome/esphome/pull/5965) by [@paveldn](https://github.com/paveldn)
- Allow haier remote protocol to use lambdas [esphome#5898](https://github.com/esphome/esphome/pull/5898) by [@catlee](https://github.com/catlee)
- PMSx003 add relevant device and state classes to default config [esphome#5633](https://github.com/esphome/esphome/pull/5633) by [@wheimbigner](https://github.com/wheimbigner) (breaking-change)
- Add waveshare 2.7in V2 model [esphome#5903](https://github.com/esphome/esphome/pull/5903) by [@gumulka](https://github.com/gumulka)
- Add support for waveshare 2.9in B V3 version [esphome#5902](https://github.com/esphome/esphome/pull/5902) by [@gumulka](https://github.com/gumulka)
- Fix pin reuse in test1 [esphome#5978](https://github.com/esphome/esphome/pull/5978) by [@jesserockz](https://github.com/jesserockz)
- Add Waveshare 1.47in 172x320 to ST7789v component [esphome#5884](https://github.com/esphome/esphome/pull/5884) by [@mrtoy-me](https://github.com/mrtoy-me)
- (fingerprint_grow) Added on_finger_scan_invalid automation. [esphome#5885](https://github.com/esphome/esphome/pull/5885) by [@RubenNL](https://github.com/RubenNL)
- Alarm panel: Add changes to support enhanced features [esphome#5671](https://github.com/esphome/esphome/pull/5671) by [@hwstar](https://github.com/hwstar)
- support default pins for adafruit esp32 feather v2 [esphome#5482](https://github.com/esphome/esphome/pull/5482) by [@sbrudenell](https://github.com/sbrudenell)
- Bug: Unwanted change resistance in x9c component [esphome#5483](https://github.com/esphome/esphome/pull/5483) by [@fizista](https://github.com/fizista)
- Improvements to RF receiver for Drayton Digistat heating controller [esphome#5504](https://github.com/esphome/esphome/pull/5504) by [@marshn](https://github.com/marshn)
- Reduce memory usage with StringRef in MQTT Components [esphome#5719](https://github.com/esphome/esphome/pull/5719) by [@kahrendt](https://github.com/kahrendt)
- Nextion allow underscore on names [esphome#5979](https://github.com/esphome/esphome/pull/5979) by [@edwardtfn](https://github.com/edwardtfn)
- Add Keeloq RF protocol [esphome#5511](https://github.com/esphome/esphome/pull/5511) by [@marshn](https://github.com/marshn)
- Add a Binary Sensor Filter for state settling [esphome#5900](https://github.com/esphome/esphome/pull/5900) by [@cottsay](https://github.com/cottsay)
- Lint the script folder files [esphome#5991](https://github.com/esphome/esphome/pull/5991) by [@jesserockz](https://github.com/jesserockz)
- web_server support for home assistant like styling [esphome#5854](https://github.com/esphome/esphome/pull/5854) by [@afarago](https://github.com/afarago)
- [Touchscreen] Add expire of touch record. [esphome#5986](https://github.com/esphome/esphome/pull/5986) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Support for ST7567 display 128x64 (I2C, SPI) [esphome#5952](https://github.com/esphome/esphome/pull/5952) by [@latonita](https://github.com/latonita) (new-integration)
- Add constants used by multiple display drivers to global const.py [esphome#6033](https://github.com/esphome/esphome/pull/6033) by [@clydebarrow](https://github.com/clydebarrow)
- Nextion queue size [esphome#6029](https://github.com/esphome/esphome/pull/6029) by [@edwardtfn](https://github.com/edwardtfn)
- Ble client additions and fixes [esphome#5277](https://github.com/esphome/esphome/pull/5277) by [@clydebarrow](https://github.com/clydebarrow)
- HaierProtocol library updated to 0.9.25 to fix the answer_timeout bug [esphome#6015](https://github.com/esphome/esphome/pull/6015) by [@paveldn](https://github.com/paveldn)
- GT911 touchscreen: Fix bug causing touch button release to fail [esphome#6042](https://github.com/esphome/esphome/pull/6042) by [@clydebarrow](https://github.com/clydebarrow)
- Display: Introduce `draw_pixels_at()` method for fast block display rendering [esphome#6034](https://github.com/esphome/esphome/pull/6034) by [@clydebarrow](https://github.com/clydebarrow)
- clang-format and clang-tidy scripts: More robust algorithm to find correct executable [esphome#6041](https://github.com/esphome/esphome/pull/6041) by [@clydebarrow](https://github.com/clydebarrow)
- Don't crash with invalid adc pin [esphome#6059](https://github.com/esphome/esphome/pull/6059) by [@ssieb](https://github.com/ssieb)
- Add questionmark to default glyphs. [esphome#6053](https://github.com/esphome/esphome/pull/6053) by [@RubenNL](https://github.com/RubenNL)
- pylontech: fix voltage_low and voltage_high wrong unit [esphome#6060](https://github.com/esphome/esphome/pull/6060) by [@functionpointer](https://github.com/functionpointer)
- Bump flake8 from 6.1.0 to 7.0.0 [esphome#6058](https://github.com/esphome/esphome/pull/6058) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Nextion enable upload from https when using esp-idf [esphome#6051](https://github.com/esphome/esphome/pull/6051) by [@edwardtfn](https://github.com/edwardtfn)
- Extends UART change at runtime to ESP8266 [esphome#6019](https://github.com/esphome/esphome/pull/6019) by [@edwardtfn](https://github.com/edwardtfn)
- Nextion draw QR code at runtime [esphome#6027](https://github.com/esphome/esphome/pull/6027) by [@edwardtfn](https://github.com/edwardtfn)
- Extend i2s config options [esphome#6056](https://github.com/esphome/esphome/pull/6056) by [@Hadatko](https://github.com/Hadatko)
- Add getter for image data_start [esphome#6036](https://github.com/esphome/esphome/pull/6036) by [@clydebarrow](https://github.com/clydebarrow)
- Bump hypothesis to 6.92.1 [esphome#6011](https://github.com/esphome/esphome/pull/6011) by [@bdraco](https://github.com/bdraco)
- Bump recommended ESP32 IDF to 4.4.6 [esphome#6048](https://github.com/esphome/esphome/pull/6048) by [@bdraco](https://github.com/bdraco)
- Bump pytest from 7.4.3 to 7.4.4 [esphome#6046](https://github.com/esphome/esphome/pull/6046) by [@dependabot[bot]](https://github.com/apps/dependabot)
- dashboard: refactor ping implementation to be more efficient [esphome#6002](https://github.com/esphome/esphome/pull/6002) by [@bdraco](https://github.com/bdraco)
- Bump pytest-asyncio from 0.23.2 to 0.23.3 [esphome#6047](https://github.com/esphome/esphome/pull/6047) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump black from 23.12.0 to 23.12.1 [esphome#6018](https://github.com/esphome/esphome/pull/6018) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Run python tests on windows and macos [esphome#6010](https://github.com/esphome/esphome/pull/6010) by [@bdraco](https://github.com/bdraco)
- BME280 SPI [esphome#5538](https://github.com/esphome/esphome/pull/5538) by [@apbodrov](https://github.com/apbodrov) (new-integration) (breaking-change)
- Actions to enable and disable WireGuard connection [esphome#5690](https://github.com/esphome/esphome/pull/5690) by [@droscy](https://github.com/droscy)
- hydreon_rgxx - fix missing cg.add(var.set_model(...)) [esphome#6065](https://github.com/esphome/esphome/pull/6065) by [@mrtoy-me](https://github.com/mrtoy-me)
- Bump pillow to 10.2.0. [esphome#6091](https://github.com/esphome/esphome/pull/6091) by [@pfrenssen](https://github.com/pfrenssen)
- convert cse7766 to non-polling [esphome#6095](https://github.com/esphome/esphome/pull/6095) by [@ssieb](https://github.com/ssieb) (breaking-change)
- Use touch state from ft63x6 driver. [esphome#6055](https://github.com/esphome/esphome/pull/6055) by [@nielsnl68](https://github.com/nielsnl68)
- update script/setup so it works fine on windows [esphome#6087](https://github.com/esphome/esphome/pull/6087) by [@nielsnl68](https://github.com/nielsnl68)
- add Pico-ResTouch-LCD-3.5 [esphome#6078](https://github.com/esphome/esphome/pull/6078) by [@nielsnl68](https://github.com/nielsnl68)
- Revert "add Pico-ResTouch-LCD-3.5" [esphome#6098](https://github.com/esphome/esphome/pull/6098) by [@nielsnl68](https://github.com/nielsnl68)
- Add triangle shapes to display component [esphome#6096](https://github.com/esphome/esphome/pull/6096) by [@mathieu-mp](https://github.com/mathieu-mp)
- Fingerprint_grow: Trigger on finger scan start and on finger scan misplaced [esphome#6003](https://github.com/esphome/esphome/pull/6003) by [@alexborro](https://github.com/alexborro)
- Add continuous option to the graph [esphome#6093](https://github.com/esphome/esphome/pull/6093) by [@ssieb](https://github.com/ssieb)
- Add NFC binary sensor platform [esphome#6068](https://github.com/esphome/esphome/pull/6068) by [@kbx81](https://github.com/kbx81)
- Socket: Add recvfrom method to receive UDP with source address. [esphome#6103](https://github.com/esphome/esphome/pull/6103) by [@clydebarrow](https://github.com/clydebarrow)
- Add support for VEML3235 lux sensor [esphome#5959](https://github.com/esphome/esphome/pull/5959) by [@kbx81](https://github.com/kbx81) (new-integration)
- CV: tidy up Schema wrapper [esphome#6105](https://github.com/esphome/esphome/pull/6105) by [@jesserockz](https://github.com/jesserockz)
- Add support X.509 client certificates for MQTT. [esphome#5778](https://github.com/esphome/esphome/pull/5778) by [@h2zero](https://github.com/h2zero)
- Fix color observation for triangle outline in display component [esphome#6107](https://github.com/esphome/esphome/pull/6107) by [@mathieu-mp](https://github.com/mathieu-mp)
- Add support of Honeywell HumidIcon (I2C HIH series) Temperature & Humidity sensor [esphome#5730](https://github.com/esphome/esphome/pull/5730) by [@Benichou34](https://github.com/Benichou34) (new-integration)
- Proposal: Test yaml for each component [esphome#5398](https://github.com/esphome/esphome/pull/5398) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- WiFi fast_connect: save/load BSSID and channel for faster connect from sleep [esphome#5931](https://github.com/esphome/esphome/pull/5931) by [@rguca](https://github.com/rguca)
- Fixes Waveshare 7.5in B V2 and V3 [esphome#6079](https://github.com/esphome/esphome/pull/6079) by [@Pofilo](https://github.com/Pofilo)
- Add combination sensor and remove absorbed kalman_combinator component [esphome#5438](https://github.com/esphome/esphome/pull/5438) by [@kahrendt](https://github.com/kahrendt) (new-integration) (breaking-change)
- Bump platformio from 6.1.11 to 6.1.13 [esphome#6086](https://github.com/esphome/esphome/pull/6086) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/cache from 3.3.2 to 4.0.0 [esphome#6110](https://github.com/esphome/esphome/pull/6110) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Enable networking and some other components on host platform [esphome#6114](https://github.com/esphome/esphome/pull/6114) by [@clydebarrow](https://github.com/clydebarrow)
- Fix time component for host platform [esphome#6118](https://github.com/esphome/esphome/pull/6118) by [@clydebarrow](https://github.com/clydebarrow)
- Add quad spi features [esphome#5925](https://github.com/esphome/esphome/pull/5925) by [@clydebarrow](https://github.com/clydebarrow)
- add AM2120 device type [esphome#6115](https://github.com/esphome/esphome/pull/6115) by [@alexbuit](https://github.com/alexbuit)
- Add support for Waveshare EPD 2.13" V3 [esphome#5363](https://github.com/esphome/esphome/pull/5363) by [@clydebarrow](https://github.com/clydebarrow)
- OTA 2 which confirm each written chunk [esphome#6066](https://github.com/esphome/esphome/pull/6066) by [@tomaszduda23](https://github.com/tomaszduda23)
- Remove optional<> for pointer types [esphome#6120](https://github.com/esphome/esphome/pull/6120) by [@kroimon](https://github.com/kroimon)
- Improve temperature precision in BME280 and BMP280 [esphome#6124](https://github.com/esphome/esphome/pull/6124) by [@jxl77](https://github.com/jxl77)
- Nextion TFT upload IDF memory optimization [esphome#6128](https://github.com/esphome/esphome/pull/6128) by [@edwardtfn](https://github.com/edwardtfn)
- Add support for Pico-ResTouch-LCD-3.5 to ili9xxx driver [esphome#6129](https://github.com/esphome/esphome/pull/6129) by [@clydebarrow](https://github.com/clydebarrow)
- Ensure filename is shown when YAML raises an error [esphome#6139](https://github.com/esphome/esphome/pull/6139) by [@bdraco](https://github.com/bdraco)
- ILI9XXX: Restore offset usage in set_addr_window [esphome#6147](https://github.com/esphome/esphome/pull/6147) by [@clydebarrow](https://github.com/clydebarrow)
- Minimum 1 for full_update_every to prevent IntegerDivideByZero. [esphome#6150](https://github.com/esphome/esphome/pull/6150) by [@RubenNL](https://github.com/RubenNL)
- Support tri-color waveshare eink displays 2.7inch B and B V2 [esphome#4238](https://github.com/esphome/esphome/pull/4238) by [@rnauber](https://github.com/rnauber)
- Synchronise Device Classes from Home Assistant [esphome#6158](https://github.com/esphome/esphome/pull/6158) by [@esphomebot](https://github.com/esphomebot)
- dfrobot_sen0395: Use setLatency instead of outputLatency [esphome#5665](https://github.com/esphome/esphome/pull/5665) by [@jfroy](https://github.com/jfroy)
- Add some components to the new testing framework (A part 1) [esphome#6142](https://github.com/esphome/esphome/pull/6142) by [@kbx81](https://github.com/kbx81)
- WRGB or RGBW? WS2814 [esphome#6164](https://github.com/esphome/esphome/pull/6164) by [@mhetzi](https://github.com/mhetzi)
- Add some components to the new testing framework (A part 2) [esphome#6162](https://github.com/esphome/esphome/pull/6162) by [@kbx81](https://github.com/kbx81)
- Bump aioesphomeapi to 21.0.2 [esphome#6188](https://github.com/esphome/esphome/pull/6188) by [@bdraco](https://github.com/bdraco)
- Add some components to the new testing framework (B) [esphome#6173](https://github.com/esphome/esphome/pull/6173) by [@kbx81](https://github.com/kbx81)
- Add "transformer_active" flag for use in effects. [esphome#6157](https://github.com/esphome/esphome/pull/6157) by [@TikiBill](https://github.com/TikiBill)
- CSE7766: fix power and current measurements at low loads [esphome#6180](https://github.com/esphome/esphome/pull/6180) by [@twasilczyk](https://github.com/twasilczyk)
- host platform: improvements and bugfixes [esphome#6137](https://github.com/esphome/esphome/pull/6137) by [@clydebarrow](https://github.com/clydebarrow)
- WLED Sync fix and BK72XX support [esphome#6190](https://github.com/esphome/esphome/pull/6190) by [@ChuckMash](https://github.com/ChuckMash)
- Add missing vector.h for lightwaverf [esphome#6196](https://github.com/esphome/esphome/pull/6196) by [@kbx81](https://github.com/kbx81)
- Add some components to the new testing framework (C) [esphome#6174](https://github.com/esphome/esphome/pull/6174) by [@kbx81](https://github.com/kbx81)
- update docstrings in cpp_generator.py [esphome#6212](https://github.com/esphome/esphome/pull/6212) by [@nielsnl68](https://github.com/nielsnl68)
- Fixed group mask logic for WLED Sync fix [esphome#6193](https://github.com/esphome/esphome/pull/6193) by [@ChuckMash](https://github.com/ChuckMash)
- Add micro_wake_word component [esphome#6136](https://github.com/esphome/esphome/pull/6136) by [@kahrendt](https://github.com/kahrendt) (new-integration)
- AUTO_LOAD `sensor` for `shelly_dimmer` [esphome#6223](https://github.com/esphome/esphome/pull/6223) by [@kbx81](https://github.com/kbx81)
- Add more debugging logs to microWakeWord [esphome#6238](https://github.com/esphome/esphome/pull/6238) by [@kahrendt](https://github.com/kahrendt)
- Fix to RF receiver for Drayton Digistat heating controller [esphome#6235](https://github.com/esphome/esphome/pull/6235) by [@marshn](https://github.com/marshn)
- WRGB Use correct multiplier [esphome#6237](https://github.com/esphome/esphome/pull/6237) by [@mhetzi](https://github.com/mhetzi)
- Add optional minimum esphome version to microWakeWord manifest [esphome#6240](https://github.com/esphome/esphome/pull/6240) by [@jesserockz](https://github.com/jesserockz)
- Fix xl9535 pin reads [esphome#6242](https://github.com/esphome/esphome/pull/6242) by [@jesserockz](https://github.com/jesserockz)
- hold interrupt disable for dallas one-wire [esphome#6244](https://github.com/esphome/esphome/pull/6244) by [@ssieb](https://github.com/ssieb)
- Fix tm1651 enum [esphome#6248](https://github.com/esphome/esphome/pull/6248) by [@kbx81](https://github.com/kbx81)
- Clear UART read buffer before sending next command [esphome#6200](https://github.com/esphome/esphome/pull/6200) by [@fototakas](https://github.com/fototakas)
- Voice Assistant: add on_idle trigger and fix nevermind [esphome#6141](https://github.com/esphome/esphome/pull/6141) by [@synesthesiam](https://github.com/synesthesiam)
- Tuya Fan component fix to handle enum datapoint type [esphome#6135](https://github.com/esphome/esphome/pull/6135) by [@sibowler](https://github.com/sibowler)

View File

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

View File

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

View File

@@ -1,44 +0,0 @@
{
"advanced": true,
"arch": [
"amd64",
"armv7",
"aarch64"
],
"auth_api": true,
"backup_exclude": [
"*/*/"
],
"description": "Beta version of ESPHome add-on",
"hassio_api": true,
"host_network": true,
"image": "ghcr.io/esphome/esphome-hassio-{arch}",
"ingress": true,
"ingress_port": 0,
"map": [
"ssl:ro",
"config:rw"
],
"name": "ESPHome (beta)",
"panel_icon": "mdi:chip",
"ports": {
"6052/tcp": null
},
"ports_description": {
"6052/tcp": "Web interface (not required for Home Assistant ingress)"
},
"schema": {
"certfile": "str?",
"keyfile": "str?",
"leave_front_door_open": "bool?",
"relative_url": "str?",
"ssl": "bool?",
"status_use_ping": "bool?",
"streamer_mode": "bool?"
},
"slug": "esphome-beta",
"stage": "experimental",
"uart": true,
"url": "https://beta.esphome.io/",
"version": "2022.2.5"
}

42
esphome-beta/config.yaml Normal file
View File

@@ -0,0 +1,42 @@
---
url: https://beta.esphome.io/
arch:
- amd64
- armv7
- aarch64
hassio_api: true
auth_api: true
host_network: true
ingress: true
ingress_port: 0
panel_icon: mdi:chip
uart: true
ports:
6052/tcp: null
map:
- ssl:ro
- config:rw
discovery:
- esphome
schema:
status_use_ping: bool?
streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)?
ssl: bool?
certfile: str?
keyfile: str?
leave_front_door_open: bool?
backup_exclude:
- '*/*/'
init: false
startup: services
name: ESPHome (beta)
version: 2024.2.0
slug: esphome-beta
description: Beta version of ESPHome add-on
image: ghcr.io/esphome/esphome-hassio
stage: experimental
advanced: true
options:
home_assistant_dashboard_integration: false

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,67 @@
---
configuration:
certfile:
name: Certificate file
description: >-
The certificate file to use for SSL. Note that this file must
exist in the /ssl/ folder.
default_compile_process_limit:
name: Default compile process limit
description: >-
The default compile process limit. This is the maximum number of
simultaneous compile processes that ESPHome will run.
esphome_fork:
name: Install ESPHome from a fork or branch
description: >-
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is
the PR number, or you can specify the username of the fork owner and
branch `username:branch` which assumes the repository is named `esphome`
still.
If you need to test the latest commit on dev branch before the image is
updated you can enter `dev` here.
Please note that the fork or branch you are using **must** be up to
date with ESPHome dev or the add-on **will not start**.
home_assistant_dashboard_integration:
name: Home Assistant Dashboard Integration
description: >-
Enables/Disables the ESPHome dashboard integrating with Home Assistant
for automatic configuration of devices and device updates. If you use
multiple version of the ESPHome add-on, make sure it is enabled on a
single add-on only.
keyfile:
name: Private key file
description: >-
The private key file to use for SSL. Note that this file must
exist in the /ssl/ folder.
leave_front_door_open:
name: Disable external authentication
description: >-
Disables external authentication when having opened the add-on
on an external port. **WARNING**: This is a security risk!
relative_url:
name: Relative URL
description: >-
Host the ESPHome dashboard under a relative URL, so that it can be
integrated into existing web proxies like NGINX under a relative URL.
Defaults to `/`.
ssl:
name: SSL
description: >-
Enables/Disables SSL (HTTPS) on the web interface.
status_use_ping:
name: Use ping for status
description: >-
By default the dashboard uses mDNS to check if nodes are online. This does
not work across subnets unless your router supports mDNS forwarding
or avahi. Enabling this option will use ICMP ping to check if nodes are
online.
streamer_mode:
name: Streamer mode
description: >-
Enables/Disables streamer mode, which makes ESPHome hide all
potentially private information. So for example WiFi (B)SSIDs (which could
be used to find your location), usernames, etc.
network:
6052/tcp: Web interface (to use without Home Assistant)

View File

@@ -1,40 +1,31 @@
# Home Assistant Community Add-on: ESPHome
# ESPHome DEV add on
## Installation
This is **development** version of the ESPHome add on.
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
To deploy production nodes please use mainstream release add on.
1. Search for the “ESPHome” add-on in the Supervisor add-on store.
2. Press install to download the add-on and unpack it on your machine. This can take some time.
3. Optional: If you're using SSL/TLS certificates and want to encrypt your communication to this add-on, please enter `true` into the `ssl` field and set the `fullchain` and `certfile` options accordingly.
4. Start the add-on, check the logs of the add-on to see if everything went well.
5. Click "OPEN WEB UI" to open the ESPHome dashboard. You will be asked for your Home Assistant credentials - ESPHome uses Home Assistant's authentication system to log you in.
You can view the ESPHome documentation at https://esphome.io/
The add on uses a version of ESPHome built automatically every day at 02:00 UTC. and is used to test components in development. See the `esphome_fork` configuration below to properly configure the add on. Once you update the configuration make sure to rebuild the image.
## Configuration
**Note**: _Remember to restart the add-on when the configuration is changed._
Example add-on configuration:
```json
{
"ssl": false,
"certfile": "fullchain.pem",
"keyfile": "privkey.pem"
}
```
### Option: `esphome_fork`
Install ESPHome from a fork or branch.
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is the PR number,
or you can specify the username of the fork owner and branch `username:branch` which
assumes the repository is named `esphome` still.
assumes the repository is named `esphome` still.
If you need to test the latest commit on dev branch before the image is updated you can enter `dev` here.
Please note that the fork or branch you are using **must** be up to date with ESPHome dev
or the add-on **will not start**.
or the add-on **will not start**.
## General ESPHome add on configurations
General options also available in other versions.
### Option: `ssl`

View File

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

View File

@@ -1,7 +0,0 @@
{
"build_from": {
"aarch64": "ghcr.io/esphome/esphome-hassio-aarch64:dev",
"amd64": "ghcr.io/esphome/esphome-hassio-amd64:dev",
"armv7": "ghcr.io/esphome/esphome-hassio-armv7:dev"
}
}

5
esphome-dev/build.yaml Normal file
View File

@@ -0,0 +1,5 @@
---
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

@@ -1,44 +0,0 @@
{
"advanced": true,
"arch": [
"amd64",
"armv7",
"aarch64"
],
"auth_api": true,
"backup_exclude": [
"*/*/"
],
"description": "Development version of ESPHome add-on",
"hassio_api": true,
"host_network": true,
"ingress": true,
"ingress_port": 0,
"map": [
"ssl:ro",
"config:rw"
],
"name": "ESPHome (dev)",
"panel_icon": "mdi:chip",
"ports": {
"6052/tcp": null
},
"ports_description": {
"6052/tcp": "Web interface (not required for Home Assistant ingress)"
},
"schema": {
"certfile": "str?",
"esphome_fork": "str?",
"keyfile": "str?",
"leave_front_door_open": "bool?",
"relative_url": "str?",
"ssl": "bool?",
"status_use_ping": "bool?",
"streamer_mode": "bool?"
},
"slug": "esphome-dev",
"stage": "experimental",
"uart": true,
"url": "https://next.esphome.io/",
"version": "dev"
}

42
esphome-dev/config.yaml Normal file
View File

@@ -0,0 +1,42 @@
---
url: https://next.esphome.io/
arch:
- amd64
- armv7
- aarch64
hassio_api: true
auth_api: true
host_network: true
ingress: true
ingress_port: 0
panel_icon: mdi:chip
uart: true
ports:
6052/tcp: null
map:
- ssl:ro
- config:rw
discovery:
- esphome
schema:
status_use_ping: bool?
streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)?
esphome_fork: str?
ssl: bool?
certfile: str?
keyfile: str?
leave_front_door_open: bool?
backup_exclude:
- '*/*/'
init: false
startup: services
name: ESPHome (dev)
version: dev
slug: esphome-dev
description: Development version of ESPHome add-on
stage: experimental
advanced: true
options:
home_assistant_dashboard_integration: false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

7
esphome-dev/rootfs/etc/cont-init.d/30-esphome-fork.sh Normal file → Executable file
View File

@@ -25,10 +25,11 @@ if bashio::config.has_value 'esphome_fork'; then
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})..."
mkdir /esphome-fork
tar -zxf /tmp/esphome.tar.gz -C /esphome-fork --strip-components=1 \
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-fork || 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__)")

View File

@@ -0,0 +1,67 @@
---
configuration:
certfile:
name: Certificate file
description: >-
The certificate file to use for SSL. Note that this file must
exist in the /ssl/ folder.
default_compile_process_limit:
name: Default compile process limit
description: >-
The default compile process limit. This is the maximum number of
simultaneous compile processes that ESPHome will run.
esphome_fork:
name: Install ESPHome from a fork or branch
description: >-
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is
the PR number, or you can specify the username of the fork owner and
branch `username:branch` which assumes the repository is named `esphome`
still.
If you need to test the latest commit on dev branch before the image is
updated you can enter `dev` here.
Please note that the fork or branch you are using **must** be up to
date with ESPHome dev or the add-on **will not start**.
home_assistant_dashboard_integration:
name: Home Assistant Dashboard Integration
description: >-
Enables/Disables the ESPHome dashboard integrating with Home Assistant
for automatic configuration of devices and device updates. If you use
multiple version of the ESPHome add-on, make sure it is enabled on a
single add-on only.
keyfile:
name: Private key file
description: >-
The private key file to use for SSL. Note that this file must
exist in the /ssl/ folder.
leave_front_door_open:
name: Disable external authentication
description: >-
Disables external authentication when having opened the add-on
on an external port. **WARNING**: This is a security risk!
relative_url:
name: Relative URL
description: >-
Host the ESPHome dashboard under a relative URL, so that it can be
integrated into existing web proxies like NGINX under a relative URL.
Defaults to `/`.
ssl:
name: SSL
description: >-
Enables/Disables SSL (HTTPS) on the web interface.
status_use_ping:
name: Use ping for status
description: >-
By default the dashboard uses mDNS to check if nodes are online. This does
not work across subnets unless your router supports mDNS forwarding
or avahi. Enabling this option will use ICMP ping to check if nodes are
online.
streamer_mode:
name: Streamer mode
description: >-
Enables/Disables streamer mode, which makes ESPHome hide all
potentially private information. So for example WiFi (B)SSIDs (which could
be used to find your location), usernames, etc.
network:
6052/tcp: Web interface (to use without Home Assistant)

View File

@@ -1 +1,157 @@
See https://esphome.io/changelog/index.html
## 2024.2.0
## Full list of changes
### New Components
- feat: add AS5600 component/sensor [esphome#5174](https://github.com/esphome/esphome/pull/5174) by [@ammmze](https://github.com/ammmze) (new-integration)
- Support for ST7567 display 128x64 (I2C, SPI) [esphome#5952](https://github.com/esphome/esphome/pull/5952) by [@latonita](https://github.com/latonita) (new-integration)
- BME280 SPI [esphome#5538](https://github.com/esphome/esphome/pull/5538) by [@apbodrov](https://github.com/apbodrov) (new-integration) (breaking-change)
- Add support for VEML3235 lux sensor [esphome#5959](https://github.com/esphome/esphome/pull/5959) by [@kbx81](https://github.com/kbx81) (new-integration)
- Add support of Honeywell HumidIcon (I2C HIH series) Temperature & Humidity sensor [esphome#5730](https://github.com/esphome/esphome/pull/5730) by [@Benichou34](https://github.com/Benichou34) (new-integration)
- Add combination sensor and remove absorbed kalman_combinator component [esphome#5438](https://github.com/esphome/esphome/pull/5438) by [@kahrendt](https://github.com/kahrendt) (new-integration) (breaking-change)
- Add micro_wake_word component [esphome#6136](https://github.com/esphome/esphome/pull/6136) by [@kahrendt](https://github.com/kahrendt) (new-integration)
### Breaking Changes
- PMSx003 add relevant device and state classes to default config [esphome#5633](https://github.com/esphome/esphome/pull/5633) by [@wheimbigner](https://github.com/wheimbigner) (breaking-change)
- BME280 SPI [esphome#5538](https://github.com/esphome/esphome/pull/5538) by [@apbodrov](https://github.com/apbodrov) (new-integration) (breaking-change)
- convert cse7766 to non-polling [esphome#6095](https://github.com/esphome/esphome/pull/6095) by [@ssieb](https://github.com/ssieb) (breaking-change)
- Add combination sensor and remove absorbed kalman_combinator component [esphome#5438](https://github.com/esphome/esphome/pull/5438) by [@kahrendt](https://github.com/kahrendt) (new-integration) (breaking-change)
### Beta Changes
- AUTO_LOAD `sensor` for `shelly_dimmer` [esphome#6223](https://github.com/esphome/esphome/pull/6223) by [@kbx81](https://github.com/kbx81)
- Add more debugging logs to microWakeWord [esphome#6238](https://github.com/esphome/esphome/pull/6238) by [@kahrendt](https://github.com/kahrendt)
- Fix to RF receiver for Drayton Digistat heating controller [esphome#6235](https://github.com/esphome/esphome/pull/6235) by [@marshn](https://github.com/marshn)
- WRGB Use correct multiplier [esphome#6237](https://github.com/esphome/esphome/pull/6237) by [@mhetzi](https://github.com/mhetzi)
- Add optional minimum esphome version to microWakeWord manifest [esphome#6240](https://github.com/esphome/esphome/pull/6240) by [@jesserockz](https://github.com/jesserockz)
- Fix xl9535 pin reads [esphome#6242](https://github.com/esphome/esphome/pull/6242) by [@jesserockz](https://github.com/jesserockz)
- hold interrupt disable for dallas one-wire [esphome#6244](https://github.com/esphome/esphome/pull/6244) by [@ssieb](https://github.com/ssieb)
- Fix tm1651 enum [esphome#6248](https://github.com/esphome/esphome/pull/6248) by [@kbx81](https://github.com/kbx81)
- Clear UART read buffer before sending next command [esphome#6200](https://github.com/esphome/esphome/pull/6200) by [@fototakas](https://github.com/fototakas)
- Voice Assistant: add on_idle trigger and fix nevermind [esphome#6141](https://github.com/esphome/esphome/pull/6141) by [@synesthesiam](https://github.com/synesthesiam)
- Tuya Fan component fix to handle enum datapoint type [esphome#6135](https://github.com/esphome/esphome/pull/6135) by [@sibowler](https://github.com/sibowler)
### All changes
- Bump esptool from 4.6.2 to 4.7.0 [esphome#5935](https://github.com/esphome/esphome/pull/5935) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/download-artifact from 3.0.2 to 4.0.0 [esphome#5936](https://github.com/esphome/esphome/pull/5936) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump build-image action versions [esphome#5954](https://github.com/esphome/esphome/pull/5954) by [@jesserockz](https://github.com/jesserockz)
- Revert "Bump build-image action versions" [esphome#5955](https://github.com/esphome/esphome/pull/5955) by [@jesserockz](https://github.com/jesserockz)
- Revert "Bump actions/download-artifact from 3.0.2 to 4.0.0" [esphome#5956](https://github.com/esphome/esphome/pull/5956) by [@jesserockz](https://github.com/jesserockz)
- Bump zeroconf from 0.130.0 to 0.131.0 [esphome#5967](https://github.com/esphome/esphome/pull/5967) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add ability to lock to set mode [esphome#5924](https://github.com/esphome/esphome/pull/5924) by [@ysmilda](https://github.com/ysmilda)
- feat: add AS5600 component/sensor [esphome#5174](https://github.com/esphome/esphome/pull/5174) by [@ammmze](https://github.com/ammmze) (new-integration)
- Add default substitutions for package includes [esphome#5752](https://github.com/esphome/esphome/pull/5752) by [@mknjc](https://github.com/mknjc)
- Add gradient option to addressable color wipe effect [esphome#5689](https://github.com/esphome/esphome/pull/5689) by [@lifeisafractal](https://github.com/lifeisafractal)
- Added alarm processing for Haier component (hOn protocol) [esphome#5965](https://github.com/esphome/esphome/pull/5965) by [@paveldn](https://github.com/paveldn)
- Allow haier remote protocol to use lambdas [esphome#5898](https://github.com/esphome/esphome/pull/5898) by [@catlee](https://github.com/catlee)
- PMSx003 add relevant device and state classes to default config [esphome#5633](https://github.com/esphome/esphome/pull/5633) by [@wheimbigner](https://github.com/wheimbigner) (breaking-change)
- Add waveshare 2.7in V2 model [esphome#5903](https://github.com/esphome/esphome/pull/5903) by [@gumulka](https://github.com/gumulka)
- Add support for waveshare 2.9in B V3 version [esphome#5902](https://github.com/esphome/esphome/pull/5902) by [@gumulka](https://github.com/gumulka)
- Fix pin reuse in test1 [esphome#5978](https://github.com/esphome/esphome/pull/5978) by [@jesserockz](https://github.com/jesserockz)
- Add Waveshare 1.47in 172x320 to ST7789v component [esphome#5884](https://github.com/esphome/esphome/pull/5884) by [@mrtoy-me](https://github.com/mrtoy-me)
- (fingerprint_grow) Added on_finger_scan_invalid automation. [esphome#5885](https://github.com/esphome/esphome/pull/5885) by [@RubenNL](https://github.com/RubenNL)
- Alarm panel: Add changes to support enhanced features [esphome#5671](https://github.com/esphome/esphome/pull/5671) by [@hwstar](https://github.com/hwstar)
- support default pins for adafruit esp32 feather v2 [esphome#5482](https://github.com/esphome/esphome/pull/5482) by [@sbrudenell](https://github.com/sbrudenell)
- Bug: Unwanted change resistance in x9c component [esphome#5483](https://github.com/esphome/esphome/pull/5483) by [@fizista](https://github.com/fizista)
- Improvements to RF receiver for Drayton Digistat heating controller [esphome#5504](https://github.com/esphome/esphome/pull/5504) by [@marshn](https://github.com/marshn)
- Reduce memory usage with StringRef in MQTT Components [esphome#5719](https://github.com/esphome/esphome/pull/5719) by [@kahrendt](https://github.com/kahrendt)
- Nextion allow underscore on names [esphome#5979](https://github.com/esphome/esphome/pull/5979) by [@edwardtfn](https://github.com/edwardtfn)
- Add Keeloq RF protocol [esphome#5511](https://github.com/esphome/esphome/pull/5511) by [@marshn](https://github.com/marshn)
- Add a Binary Sensor Filter for state settling [esphome#5900](https://github.com/esphome/esphome/pull/5900) by [@cottsay](https://github.com/cottsay)
- Lint the script folder files [esphome#5991](https://github.com/esphome/esphome/pull/5991) by [@jesserockz](https://github.com/jesserockz)
- web_server support for home assistant like styling [esphome#5854](https://github.com/esphome/esphome/pull/5854) by [@afarago](https://github.com/afarago)
- [Touchscreen] Add expire of touch record. [esphome#5986](https://github.com/esphome/esphome/pull/5986) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- Support for ST7567 display 128x64 (I2C, SPI) [esphome#5952](https://github.com/esphome/esphome/pull/5952) by [@latonita](https://github.com/latonita) (new-integration)
- Add constants used by multiple display drivers to global const.py [esphome#6033](https://github.com/esphome/esphome/pull/6033) by [@clydebarrow](https://github.com/clydebarrow)
- Nextion queue size [esphome#6029](https://github.com/esphome/esphome/pull/6029) by [@edwardtfn](https://github.com/edwardtfn)
- Ble client additions and fixes [esphome#5277](https://github.com/esphome/esphome/pull/5277) by [@clydebarrow](https://github.com/clydebarrow)
- HaierProtocol library updated to 0.9.25 to fix the answer_timeout bug [esphome#6015](https://github.com/esphome/esphome/pull/6015) by [@paveldn](https://github.com/paveldn)
- GT911 touchscreen: Fix bug causing touch button release to fail [esphome#6042](https://github.com/esphome/esphome/pull/6042) by [@clydebarrow](https://github.com/clydebarrow)
- Display: Introduce `draw_pixels_at()` method for fast block display rendering [esphome#6034](https://github.com/esphome/esphome/pull/6034) by [@clydebarrow](https://github.com/clydebarrow)
- clang-format and clang-tidy scripts: More robust algorithm to find correct executable [esphome#6041](https://github.com/esphome/esphome/pull/6041) by [@clydebarrow](https://github.com/clydebarrow)
- Don't crash with invalid adc pin [esphome#6059](https://github.com/esphome/esphome/pull/6059) by [@ssieb](https://github.com/ssieb)
- Add questionmark to default glyphs. [esphome#6053](https://github.com/esphome/esphome/pull/6053) by [@RubenNL](https://github.com/RubenNL)
- pylontech: fix voltage_low and voltage_high wrong unit [esphome#6060](https://github.com/esphome/esphome/pull/6060) by [@functionpointer](https://github.com/functionpointer)
- Bump flake8 from 6.1.0 to 7.0.0 [esphome#6058](https://github.com/esphome/esphome/pull/6058) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Nextion enable upload from https when using esp-idf [esphome#6051](https://github.com/esphome/esphome/pull/6051) by [@edwardtfn](https://github.com/edwardtfn)
- Extends UART change at runtime to ESP8266 [esphome#6019](https://github.com/esphome/esphome/pull/6019) by [@edwardtfn](https://github.com/edwardtfn)
- Nextion draw QR code at runtime [esphome#6027](https://github.com/esphome/esphome/pull/6027) by [@edwardtfn](https://github.com/edwardtfn)
- Extend i2s config options [esphome#6056](https://github.com/esphome/esphome/pull/6056) by [@Hadatko](https://github.com/Hadatko)
- Add getter for image data_start [esphome#6036](https://github.com/esphome/esphome/pull/6036) by [@clydebarrow](https://github.com/clydebarrow)
- Bump hypothesis to 6.92.1 [esphome#6011](https://github.com/esphome/esphome/pull/6011) by [@bdraco](https://github.com/bdraco)
- Bump recommended ESP32 IDF to 4.4.6 [esphome#6048](https://github.com/esphome/esphome/pull/6048) by [@bdraco](https://github.com/bdraco)
- Bump pytest from 7.4.3 to 7.4.4 [esphome#6046](https://github.com/esphome/esphome/pull/6046) by [@dependabot[bot]](https://github.com/apps/dependabot)
- dashboard: refactor ping implementation to be more efficient [esphome#6002](https://github.com/esphome/esphome/pull/6002) by [@bdraco](https://github.com/bdraco)
- Bump pytest-asyncio from 0.23.2 to 0.23.3 [esphome#6047](https://github.com/esphome/esphome/pull/6047) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump black from 23.12.0 to 23.12.1 [esphome#6018](https://github.com/esphome/esphome/pull/6018) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Run python tests on windows and macos [esphome#6010](https://github.com/esphome/esphome/pull/6010) by [@bdraco](https://github.com/bdraco)
- BME280 SPI [esphome#5538](https://github.com/esphome/esphome/pull/5538) by [@apbodrov](https://github.com/apbodrov) (new-integration) (breaking-change)
- Actions to enable and disable WireGuard connection [esphome#5690](https://github.com/esphome/esphome/pull/5690) by [@droscy](https://github.com/droscy)
- hydreon_rgxx - fix missing cg.add(var.set_model(...)) [esphome#6065](https://github.com/esphome/esphome/pull/6065) by [@mrtoy-me](https://github.com/mrtoy-me)
- Bump pillow to 10.2.0. [esphome#6091](https://github.com/esphome/esphome/pull/6091) by [@pfrenssen](https://github.com/pfrenssen)
- convert cse7766 to non-polling [esphome#6095](https://github.com/esphome/esphome/pull/6095) by [@ssieb](https://github.com/ssieb) (breaking-change)
- Use touch state from ft63x6 driver. [esphome#6055](https://github.com/esphome/esphome/pull/6055) by [@nielsnl68](https://github.com/nielsnl68)
- update script/setup so it works fine on windows [esphome#6087](https://github.com/esphome/esphome/pull/6087) by [@nielsnl68](https://github.com/nielsnl68)
- add Pico-ResTouch-LCD-3.5 [esphome#6078](https://github.com/esphome/esphome/pull/6078) by [@nielsnl68](https://github.com/nielsnl68)
- Revert "add Pico-ResTouch-LCD-3.5" [esphome#6098](https://github.com/esphome/esphome/pull/6098) by [@nielsnl68](https://github.com/nielsnl68)
- Add triangle shapes to display component [esphome#6096](https://github.com/esphome/esphome/pull/6096) by [@mathieu-mp](https://github.com/mathieu-mp)
- Fingerprint_grow: Trigger on finger scan start and on finger scan misplaced [esphome#6003](https://github.com/esphome/esphome/pull/6003) by [@alexborro](https://github.com/alexborro)
- Add continuous option to the graph [esphome#6093](https://github.com/esphome/esphome/pull/6093) by [@ssieb](https://github.com/ssieb)
- Add NFC binary sensor platform [esphome#6068](https://github.com/esphome/esphome/pull/6068) by [@kbx81](https://github.com/kbx81)
- Socket: Add recvfrom method to receive UDP with source address. [esphome#6103](https://github.com/esphome/esphome/pull/6103) by [@clydebarrow](https://github.com/clydebarrow)
- Add support for VEML3235 lux sensor [esphome#5959](https://github.com/esphome/esphome/pull/5959) by [@kbx81](https://github.com/kbx81) (new-integration)
- CV: tidy up Schema wrapper [esphome#6105](https://github.com/esphome/esphome/pull/6105) by [@jesserockz](https://github.com/jesserockz)
- Add support X.509 client certificates for MQTT. [esphome#5778](https://github.com/esphome/esphome/pull/5778) by [@h2zero](https://github.com/h2zero)
- Fix color observation for triangle outline in display component [esphome#6107](https://github.com/esphome/esphome/pull/6107) by [@mathieu-mp](https://github.com/mathieu-mp)
- Add support of Honeywell HumidIcon (I2C HIH series) Temperature & Humidity sensor [esphome#5730](https://github.com/esphome/esphome/pull/5730) by [@Benichou34](https://github.com/Benichou34) (new-integration)
- Proposal: Test yaml for each component [esphome#5398](https://github.com/esphome/esphome/pull/5398) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
- WiFi fast_connect: save/load BSSID and channel for faster connect from sleep [esphome#5931](https://github.com/esphome/esphome/pull/5931) by [@rguca](https://github.com/rguca)
- Fixes Waveshare 7.5in B V2 and V3 [esphome#6079](https://github.com/esphome/esphome/pull/6079) by [@Pofilo](https://github.com/Pofilo)
- Add combination sensor and remove absorbed kalman_combinator component [esphome#5438](https://github.com/esphome/esphome/pull/5438) by [@kahrendt](https://github.com/kahrendt) (new-integration) (breaking-change)
- Bump platformio from 6.1.11 to 6.1.13 [esphome#6086](https://github.com/esphome/esphome/pull/6086) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump actions/cache from 3.3.2 to 4.0.0 [esphome#6110](https://github.com/esphome/esphome/pull/6110) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Enable networking and some other components on host platform [esphome#6114](https://github.com/esphome/esphome/pull/6114) by [@clydebarrow](https://github.com/clydebarrow)
- Fix time component for host platform [esphome#6118](https://github.com/esphome/esphome/pull/6118) by [@clydebarrow](https://github.com/clydebarrow)
- Add quad spi features [esphome#5925](https://github.com/esphome/esphome/pull/5925) by [@clydebarrow](https://github.com/clydebarrow)
- add AM2120 device type [esphome#6115](https://github.com/esphome/esphome/pull/6115) by [@alexbuit](https://github.com/alexbuit)
- Add support for Waveshare EPD 2.13" V3 [esphome#5363](https://github.com/esphome/esphome/pull/5363) by [@clydebarrow](https://github.com/clydebarrow)
- OTA 2 which confirm each written chunk [esphome#6066](https://github.com/esphome/esphome/pull/6066) by [@tomaszduda23](https://github.com/tomaszduda23)
- Remove optional<> for pointer types [esphome#6120](https://github.com/esphome/esphome/pull/6120) by [@kroimon](https://github.com/kroimon)
- Improve temperature precision in BME280 and BMP280 [esphome#6124](https://github.com/esphome/esphome/pull/6124) by [@jxl77](https://github.com/jxl77)
- Nextion TFT upload IDF memory optimization [esphome#6128](https://github.com/esphome/esphome/pull/6128) by [@edwardtfn](https://github.com/edwardtfn)
- Add support for Pico-ResTouch-LCD-3.5 to ili9xxx driver [esphome#6129](https://github.com/esphome/esphome/pull/6129) by [@clydebarrow](https://github.com/clydebarrow)
- Ensure filename is shown when YAML raises an error [esphome#6139](https://github.com/esphome/esphome/pull/6139) by [@bdraco](https://github.com/bdraco)
- ILI9XXX: Restore offset usage in set_addr_window [esphome#6147](https://github.com/esphome/esphome/pull/6147) by [@clydebarrow](https://github.com/clydebarrow)
- Minimum 1 for full_update_every to prevent IntegerDivideByZero. [esphome#6150](https://github.com/esphome/esphome/pull/6150) by [@RubenNL](https://github.com/RubenNL)
- Support tri-color waveshare eink displays 2.7inch B and B V2 [esphome#4238](https://github.com/esphome/esphome/pull/4238) by [@rnauber](https://github.com/rnauber)
- Synchronise Device Classes from Home Assistant [esphome#6158](https://github.com/esphome/esphome/pull/6158) by [@esphomebot](https://github.com/esphomebot)
- dfrobot_sen0395: Use setLatency instead of outputLatency [esphome#5665](https://github.com/esphome/esphome/pull/5665) by [@jfroy](https://github.com/jfroy)
- Add some components to the new testing framework (A part 1) [esphome#6142](https://github.com/esphome/esphome/pull/6142) by [@kbx81](https://github.com/kbx81)
- WRGB or RGBW? WS2814 [esphome#6164](https://github.com/esphome/esphome/pull/6164) by [@mhetzi](https://github.com/mhetzi)
- Add some components to the new testing framework (A part 2) [esphome#6162](https://github.com/esphome/esphome/pull/6162) by [@kbx81](https://github.com/kbx81)
- Bump aioesphomeapi to 21.0.2 [esphome#6188](https://github.com/esphome/esphome/pull/6188) by [@bdraco](https://github.com/bdraco)
- Add some components to the new testing framework (B) [esphome#6173](https://github.com/esphome/esphome/pull/6173) by [@kbx81](https://github.com/kbx81)
- Add "transformer_active" flag for use in effects. [esphome#6157](https://github.com/esphome/esphome/pull/6157) by [@TikiBill](https://github.com/TikiBill)
- CSE7766: fix power and current measurements at low loads [esphome#6180](https://github.com/esphome/esphome/pull/6180) by [@twasilczyk](https://github.com/twasilczyk)
- host platform: improvements and bugfixes [esphome#6137](https://github.com/esphome/esphome/pull/6137) by [@clydebarrow](https://github.com/clydebarrow)
- WLED Sync fix and BK72XX support [esphome#6190](https://github.com/esphome/esphome/pull/6190) by [@ChuckMash](https://github.com/ChuckMash)
- Add missing vector.h for lightwaverf [esphome#6196](https://github.com/esphome/esphome/pull/6196) by [@kbx81](https://github.com/kbx81)
- Add some components to the new testing framework (C) [esphome#6174](https://github.com/esphome/esphome/pull/6174) by [@kbx81](https://github.com/kbx81)
- update docstrings in cpp_generator.py [esphome#6212](https://github.com/esphome/esphome/pull/6212) by [@nielsnl68](https://github.com/nielsnl68)
- Fixed group mask logic for WLED Sync fix [esphome#6193](https://github.com/esphome/esphome/pull/6193) by [@ChuckMash](https://github.com/ChuckMash)
- Add micro_wake_word component [esphome#6136](https://github.com/esphome/esphome/pull/6136) by [@kahrendt](https://github.com/kahrendt) (new-integration)
- AUTO_LOAD `sensor` for `shelly_dimmer` [esphome#6223](https://github.com/esphome/esphome/pull/6223) by [@kbx81](https://github.com/kbx81)
- Add more debugging logs to microWakeWord [esphome#6238](https://github.com/esphome/esphome/pull/6238) by [@kahrendt](https://github.com/kahrendt)
- Fix to RF receiver for Drayton Digistat heating controller [esphome#6235](https://github.com/esphome/esphome/pull/6235) by [@marshn](https://github.com/marshn)
- WRGB Use correct multiplier [esphome#6237](https://github.com/esphome/esphome/pull/6237) by [@mhetzi](https://github.com/mhetzi)
- Add optional minimum esphome version to microWakeWord manifest [esphome#6240](https://github.com/esphome/esphome/pull/6240) by [@jesserockz](https://github.com/jesserockz)
- Fix xl9535 pin reads [esphome#6242](https://github.com/esphome/esphome/pull/6242) by [@jesserockz](https://github.com/jesserockz)
- hold interrupt disable for dallas one-wire [esphome#6244](https://github.com/esphome/esphome/pull/6244) by [@ssieb](https://github.com/ssieb)
- Fix tm1651 enum [esphome#6248](https://github.com/esphome/esphome/pull/6248) by [@kbx81](https://github.com/kbx81)
- Clear UART read buffer before sending next command [esphome#6200](https://github.com/esphome/esphome/pull/6200) by [@fototakas](https://github.com/fototakas)
- Voice Assistant: add on_idle trigger and fix nevermind [esphome#6141](https://github.com/esphome/esphome/pull/6141) by [@synesthesiam](https://github.com/synesthesiam)
- Tuya Fan component fix to handle enum datapoint type [esphome#6135](https://github.com/esphome/esphome/pull/6135) by [@sibowler](https://github.com/sibowler)

View File

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

View File

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

View File

@@ -1,42 +0,0 @@
{
"arch": [
"amd64",
"armv7",
"aarch64"
],
"auth_api": true,
"backup_exclude": [
"*/*/"
],
"description": "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices",
"hassio_api": true,
"host_network": true,
"image": "ghcr.io/esphome/esphome-hassio-{arch}",
"ingress": true,
"ingress_port": 0,
"map": [
"ssl:ro",
"config:rw"
],
"name": "ESPHome",
"panel_icon": "mdi:chip",
"ports": {
"6052/tcp": null
},
"ports_description": {
"6052/tcp": "Web interface (not required for Home Assistant ingress)"
},
"schema": {
"certfile": "str?",
"keyfile": "str?",
"leave_front_door_open": "bool?",
"relative_url": "str?",
"ssl": "bool?",
"status_use_ping": "bool?",
"streamer_mode": "bool?"
},
"slug": "esphome",
"uart": true,
"url": "https://esphome.io/",
"version": "2022.2.5"
}

38
esphome/config.yaml Normal file
View File

@@ -0,0 +1,38 @@
---
url: https://esphome.io/
arch:
- amd64
- armv7
- aarch64
hassio_api: true
auth_api: true
host_network: true
ingress: true
ingress_port: 0
panel_icon: mdi:chip
uart: true
ports:
6052/tcp: null
map:
- ssl:ro
- config:rw
discovery:
- esphome
schema:
status_use_ping: bool?
streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)?
ssl: bool?
certfile: str?
keyfile: str?
leave_front_door_open: bool?
backup_exclude:
- '*/*/'
init: false
startup: services
name: ESPHome
version: 2024.2.0
slug: esphome
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
image: ghcr.io/esphome/esphome-hassio

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,67 @@
---
configuration:
certfile:
name: Certificate file
description: >-
The certificate file to use for SSL. Note that this file must
exist in the /ssl/ folder.
default_compile_process_limit:
name: Default compile process limit
description: >-
The default compile process limit. This is the maximum number of
simultaneous compile processes that ESPHome will run.
esphome_fork:
name: Install ESPHome from a fork or branch
description: >-
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is
the PR number, or you can specify the username of the fork owner and
branch `username:branch` which assumes the repository is named `esphome`
still.
If you need to test the latest commit on dev branch before the image is
updated you can enter `dev` here.
Please note that the fork or branch you are using **must** be up to
date with ESPHome dev or the add-on **will not start**.
home_assistant_dashboard_integration:
name: Home Assistant Dashboard Integration
description: >-
Enables/Disables the ESPHome dashboard integrating with Home Assistant
for automatic configuration of devices and device updates. If you use
multiple version of the ESPHome add-on, make sure it is enabled on a
single add-on only.
keyfile:
name: Private key file
description: >-
The private key file to use for SSL. Note that this file must
exist in the /ssl/ folder.
leave_front_door_open:
name: Disable external authentication
description: >-
Disables external authentication when having opened the add-on
on an external port. **WARNING**: This is a security risk!
relative_url:
name: Relative URL
description: >-
Host the ESPHome dashboard under a relative URL, so that it can be
integrated into existing web proxies like NGINX under a relative URL.
Defaults to `/`.
ssl:
name: SSL
description: >-
Enables/Disables SSL (HTTPS) on the web interface.
status_use_ping:
name: Use ping for status
description: >-
By default the dashboard uses mDNS to check if nodes are online. This does
not work across subnets unless your router supports mDNS forwarding
or avahi. Enabling this option will use ICMP ping to check if nodes are
online.
streamer_mode:
name: Streamer mode
description: >-
Enables/Disables streamer mode, which makes ESPHome hide all
potentially private information. So for example WiFi (B)SSIDs (which could
be used to find your location), usernames, etc.
network:
6052/tcp: Web interface (to use without Home Assistant)

View File

@@ -4,9 +4,9 @@ import argparse
import yaml
from pathlib import Path
from enum import Enum
import json
from shutil import copyfile
import sys
import os
class Channel(Enum):
@@ -34,11 +34,12 @@ def main(args):
conf = config[f"esphome-{channel.value}"]
base_image = conf.pop("base_image", None)
dir_ = root / conf.pop("directory")
path = dir_ / "config.json"
path = dir_ / "config.yaml"
with open(path, "w") as f:
json.dump(conf, f, indent=2, sort_keys=True)
yaml.dump(conf, f, indent=2, sort_keys=False, explicit_start=True)
for file_, conf_ in copyf.items():
for file_ in copyf:
os.makedirs(dir_ / Path(file_).parent, exist_ok=True)
if Path.exists(templ / channel.value / file_):
copyfile(templ / channel.value / file_, dir_ / file_)
else:
@@ -49,16 +50,14 @@ def main(args):
f.write("Any edits should be made to the files in the 'template' directory")
if channel == Channel.dev:
path = dir_ / "build.json"
path = dir_ / "build.yaml"
build_conf = {
"build_from": {
arch: base_image.format(arch=arch) for arch in conf["arch"]
arch: base_image for arch in conf["arch"]
}
}
with open(path, "w") as f:
json.dump(build_conf, f, indent=2, sort_keys=True)
print(f"Wrote {path}")
yaml.dump(build_conf, f, indent=2, sort_keys=True, explicit_start=True)
if __name__ == "__main__":

View File

@@ -1 +1 @@
PyYAML==5.4
PyYAML==6.0

View File

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

View File

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

View File

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

View File

@@ -21,21 +21,26 @@ base: &base
uart: true
ports:
'6052/tcp': null
ports_description:
'6052/tcp': "Web interface (not required for Home Assistant ingress)"
map:
- ssl:ro
- config:rw
discovery:
- esphome
schema:
status_use_ping: bool?
streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)?
ssl: bool?
certfile: str?
keyfile: str?
leave_front_door_open: bool?
streamer_mode: bool?
relative_url: str?
status_use_ping: bool?
backup_exclude:
- "*/*/"
# Disable docker init for s6
init: false
# Make sure dashboard is available for core
startup: services
esphome-dev:
<<: *base
@@ -48,40 +53,48 @@ esphome-dev:
stage: experimental
advanced: true
schema:
status_use_ping: bool?
streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)?
esphome_fork: str?
ssl: bool?
certfile: str?
keyfile: str?
leave_front_door_open: bool?
streamer_mode: bool?
relative_url: str?
status_use_ping: bool?
esphome_fork: str?
base_image: ghcr.io/esphome/esphome-hassio-{arch}:dev
base_image: ghcr.io/esphome/esphome-hassio:dev
options:
home_assistant_dashboard_integration: false
esphome-beta:
<<: *base
directory: esphome-beta
name: ESPHome (beta)
version: '2022.2.5' # BETA
version: '2024.2.0' # BETA
slug: esphome-beta
description: "Beta version of ESPHome add-on"
url: https://beta.esphome.io/
image: ghcr.io/esphome/esphome-hassio-{arch}
image: ghcr.io/esphome/esphome-hassio
stage: experimental
advanced: true
options:
home_assistant_dashboard_integration: false
esphome-stable:
<<: *base
directory: esphome
name: ESPHome
version: '2022.2.5' # STABLE
version: '2024.2.0' # STABLE
slug: esphome
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
image: ghcr.io/esphome/esphome-hassio-{arch}
image: ghcr.io/esphome/esphome-hassio
copy_files:
icon.png:
logo.png:
README.md:
DOCS.md:
CHANGELOG.md:
- DOCS.md
- icon.png
- logo.png
- README.md
- translations/en.yaml
- images/dht-example.png
- images/screenshot.png
- images/temperature-humidity.png

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

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

View File

@@ -1,40 +1,31 @@
# Home Assistant Community Add-on: ESPHome
# ESPHome DEV add on
## Installation
This is **development** version of the ESPHome add on.
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
To deploy production nodes please use mainstream release add on.
1. Search for the “ESPHome” add-on in the Supervisor add-on store.
2. Press install to download the add-on and unpack it on your machine. This can take some time.
3. Optional: If you're using SSL/TLS certificates and want to encrypt your communication to this add-on, please enter `true` into the `ssl` field and set the `fullchain` and `certfile` options accordingly.
4. Start the add-on, check the logs of the add-on to see if everything went well.
5. Click "OPEN WEB UI" to open the ESPHome dashboard. You will be asked for your Home Assistant credentials - ESPHome uses Home Assistant's authentication system to log you in.
You can view the ESPHome documentation at https://esphome.io/
The add on uses a version of ESPHome built automatically every day at 02:00 UTC. and is used to test components in development. See the `esphome_fork` configuration below to properly configure the add on. Once you update the configuration make sure to rebuild the image.
## Configuration
**Note**: _Remember to restart the add-on when the configuration is changed._
Example add-on configuration:
```json
{
"ssl": false,
"certfile": "fullchain.pem",
"keyfile": "privkey.pem"
}
```
### Option: `esphome_fork`
Install ESPHome from a fork or branch.
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is the PR number,
or you can specify the username of the fork owner and branch `username:branch` which
assumes the repository is named `esphome` still.
assumes the repository is named `esphome` still.
If you need to test the latest commit on dev branch before the image is updated you can enter `dev` here.
Please note that the fork or branch you are using **must** be up to date with ESPHome dev
or the add-on **will not start**.
or the add-on **will not start**.
## General ESPHome add on configurations
General options also available in other versions.
### Option: `ssl`

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

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,67 @@
---
configuration:
certfile:
name: Certificate file
description: >-
The certificate file to use for SSL. Note that this file must
exist in the /ssl/ folder.
default_compile_process_limit:
name: Default compile process limit
description: >-
The default compile process limit. This is the maximum number of
simultaneous compile processes that ESPHome will run.
esphome_fork:
name: Install ESPHome from a fork or branch
description: >-
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is
the PR number, or you can specify the username of the fork owner and
branch `username:branch` which assumes the repository is named `esphome`
still.
If you need to test the latest commit on dev branch before the image is
updated you can enter `dev` here.
Please note that the fork or branch you are using **must** be up to
date with ESPHome dev or the add-on **will not start**.
home_assistant_dashboard_integration:
name: Home Assistant Dashboard Integration
description: >-
Enables/Disables the ESPHome dashboard integrating with Home Assistant
for automatic configuration of devices and device updates. If you use
multiple version of the ESPHome add-on, make sure it is enabled on a
single add-on only.
keyfile:
name: Private key file
description: >-
The private key file to use for SSL. Note that this file must
exist in the /ssl/ folder.
leave_front_door_open:
name: Disable external authentication
description: >-
Disables external authentication when having opened the add-on
on an external port. **WARNING**: This is a security risk!
relative_url:
name: Relative URL
description: >-
Host the ESPHome dashboard under a relative URL, so that it can be
integrated into existing web proxies like NGINX under a relative URL.
Defaults to `/`.
ssl:
name: SSL
description: >-
Enables/Disables SSL (HTTPS) on the web interface.
status_use_ping:
name: Use ping for status
description: >-
By default the dashboard uses mDNS to check if nodes are online. This does
not work across subnets unless your router supports mDNS forwarding
or avahi. Enabling this option will use ICMP ping to check if nodes are
online.
streamer_mode:
name: Streamer mode
description: >-
Enables/Disables streamer mode, which makes ESPHome hide all
potentially private information. So for example WiFi (B)SSIDs (which could
be used to find your location), usernames, etc.
network:
6052/tcp: Web interface (to use without Home Assistant)