1
0

Compare commits

...

357 Commits

53 changed files with 1023 additions and 325 deletions

View File

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

View File

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

View File

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

View File

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

View File

@@ -19,16 +19,16 @@ jobs:
channel: dev
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4.1.7
- name: 🛠 Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5.1.1
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.10.1
uses: frenck/action-addon-linter@v2.15.1
with:
path: "./${{ matrix.channels.folder }}"

View File

@@ -1 +1,194 @@
See https://esphome.io/changelog/index.html
## 2024.8.0
## Full list of changes
### New Features
- [update] Implement ``update.perform`` action and ``update.is_available`` condition [esphome#7165](https://github.com/esphome/esphome/pull/7165) by [@jesserockz](https://github.com/jesserockz) (new-feature)
### New Components
- Feature/m5angle8: Add support for m5angle8 input device [esphome#6799](https://github.com/esphome/esphome/pull/6799) by [@rnauber](https://github.com/rnauber) (new-integration)
- APDS9306 Ambient Light Sensor [esphome#6709](https://github.com/esphome/esphome/pull/6709) by [@aodrenah](https://github.com/aodrenah) (new-integration)
- [lvgl] base implementation [esphome#7116](https://github.com/esphome/esphome/pull/7116) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Add runtime online image support [esphome#4710](https://github.com/esphome/esphome/pull/4710) by [@guillempages](https://github.com/guillempages) (new-integration)
- [bme68x_bsec2_i2c] BME68X Temperature+Pressure+Humidity+Gas Sensor via BSEC2 [esphome#4585](https://github.com/esphome/esphome/pull/4585) by [@neffs](https://github.com/neffs) (new-integration)
- Add support for LYWSD02MMC Xiaomi device [esphome#7080](https://github.com/esphome/esphome/pull/7080) by [@juanluss31](https://github.com/juanluss31) (new-integration)
### New Platforms
- [homeassistant] Native switch entity import and control [esphome#7018](https://github.com/esphome/esphome/pull/7018) by [@Links2004](https://github.com/Links2004) (new-platform)
- [homeassistant] Native number entity import and control [esphome#6455](https://github.com/esphome/esphome/pull/6455) by [@landonr](https://github.com/landonr) (new-platform)
- Correct offset calibration [esphome#7228](https://github.com/esphome/esphome/pull/7228) by [@descipher](https://github.com/descipher) (new-platform)
### Breaking Changes
- Remove deprecated argument parser [esphome#7151](https://github.com/esphome/esphome/pull/7151) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
### Beta Changes
- remove extra number from pronto [esphome#7263](https://github.com/esphome/esphome/pull/7263) by [@ssieb](https://github.com/ssieb)
- [api] Bump noise-c library version [esphome#7288](https://github.com/esphome/esphome/pull/7288) by [@clydebarrow](https://github.com/clydebarrow)
- fix some small rtttl issues [esphome#6817](https://github.com/esphome/esphome/pull/6817) by [@nielsnl68](https://github.com/nielsnl68)
- Fix overflow in ESPColorCorrection object [esphome#7268](https://github.com/esphome/esphome/pull/7268) by [@g-kiss](https://github.com/g-kiss)
- [validation] Allow ``maybe_simple_value`` to not have default key in complex value [esphome#7294](https://github.com/esphome/esphome/pull/7294) by [@jesserockz](https://github.com/jesserockz)
- [network] Always allow ``enable_ipv6: false`` [esphome#7291](https://github.com/esphome/esphome/pull/7291) by [@dwmw2](https://github.com/dwmw2)
- Revert "[validation] Allow ``maybe_simple_value`` to not have default key in complex value" [esphome#7305](https://github.com/esphome/esphome/pull/7305) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Bug fixes [esphome#7300](https://github.com/esphome/esphome/pull/7300) by [@clydebarrow](https://github.com/clydebarrow)
- [speaker] Fix header includes [esphome#7304](https://github.com/esphome/esphome/pull/7304) by [@nielsnl68](https://github.com/nielsnl68)
- [microphone] Fix header includes [esphome#7310](https://github.com/esphome/esphome/pull/7310) by [@jesserockz](https://github.com/jesserockz)
- Fix RP2040 Neopixel flickering issue [esphome#7307](https://github.com/esphome/esphome/pull/7307) by [@deCodeIt](https://github.com/deCodeIt)
- add the ability to add more idf components to an existing setup [esphome#7302](https://github.com/esphome/esphome/pull/7302) by [@nielsnl68](https://github.com/nielsnl68)
- Fix waveshare 2.13" epaper stride calculation error [esphome#7303](https://github.com/esphome/esphome/pull/7303) by [@serialx](https://github.com/serialx)
- [rtttl] fix STOPPED state [esphome#7323](https://github.com/esphome/esphome/pull/7323) by [@NewoPL](https://github.com/NewoPL)
### All changes
- [wifi] Fix EAP for IDF 5.1+, add test [esphome#7061](https://github.com/esphome/esphome/pull/7061) by [@kbx81](https://github.com/kbx81)
- jsn_sr04t component: AJ_SR04M compatibility mode in checksum calculation [esphome#7044](https://github.com/esphome/esphome/pull/7044) by [@soeffi](https://github.com/soeffi)
- [CI] compile entire web_server during tests [esphome#7084](https://github.com/esphome/esphome/pull/7084) by [@tomaszduda23](https://github.com/tomaszduda23)
- [CI] Add more ``improv_serial`` tests [esphome#7081](https://github.com/esphome/esphome/pull/7081) by [@kbx81](https://github.com/kbx81)
- Bump docker/build-push-action from 6.3.0 to 6.4.0 in /.github/actions/build-image [esphome#7089](https://github.com/esphome/esphome/pull/7089) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [CI] add web_server v1 test [esphome#7090](https://github.com/esphome/esphome/pull/7090) by [@tomaszduda23](https://github.com/tomaszduda23)
- [wifi] Hostname may not be set as expected on Arduino platform [esphome#7050](https://github.com/esphome/esphome/pull/7050) by [@NewoPL](https://github.com/NewoPL)
- Add host uart support for MacOS [esphome#7095](https://github.com/esphome/esphome/pull/7095) by [@clydebarrow](https://github.com/clydebarrow)
- Bump docker/build-push-action from 6.4.0 to 6.4.1 in /.github/actions/build-image [esphome#7102](https://github.com/esphome/esphome/pull/7102) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [code-quality] Add some ruff configuration [esphome#7103](https://github.com/esphome/esphome/pull/7103) by [@jesserockz](https://github.com/jesserockz)
- [web_server] move v1 code to separate file [esphome#7091](https://github.com/esphome/esphome/pull/7091) by [@tomaszduda23](https://github.com/tomaszduda23)
- [validation] Add ``host`` to ``require_framework_version`` [esphome#7107](https://github.com/esphome/esphome/pull/7107) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Tidy up some duplicate CONFIG_SCHEMA assignments [esphome#7106](https://github.com/esphome/esphome/pull/7106) by [@jesserockz](https://github.com/jesserockz)
- Move MQTT ip discovery to deticated config option. [esphome#6673](https://github.com/esphome/esphome/pull/6673) by [@Links2004](https://github.com/Links2004)
- Feature/m5angle8: Add support for m5angle8 input device [esphome#6799](https://github.com/esphome/esphome/pull/6799) by [@rnauber](https://github.com/rnauber) (new-integration)
- use cache to build tests for compoenents [esphome#7059](https://github.com/esphome/esphome/pull/7059) by [@tomaszduda23](https://github.com/tomaszduda23)
- [modbus_controller] Add on_command_sent trigger [esphome#7078](https://github.com/esphome/esphome/pull/7078) by [@leejoow](https://github.com/leejoow)
- [ili9xxx] Rework delay handling [esphome#7115](https://github.com/esphome/esphome/pull/7115) by [@clydebarrow](https://github.com/clydebarrow)
- Inherit `esp32_ble_beacon` from `esp32_ble` [esphome#6908](https://github.com/esphome/esphome/pull/6908) by [@jpbede](https://github.com/jpbede)
- APDS9306 Ambient Light Sensor [esphome#6709](https://github.com/esphome/esphome/pull/6709) by [@aodrenah](https://github.com/aodrenah) (new-integration)
- Bump docker/build-push-action from 6.4.1 to 6.5.0 in /.github/actions/build-image [esphome#7119](https://github.com/esphome/esphome/pull/7119) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-qemu-action from 3.1.0 to 3.2.0 [esphome#7120](https://github.com/esphome/esphome/pull/7120) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/login-action from 3.2.0 to 3.3.0 [esphome#7121](https://github.com/esphome/esphome/pull/7121) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-buildx-action from 3.4.0 to 3.5.0 [esphome#7122](https://github.com/esphome/esphome/pull/7122) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [fan] fix initial FanCall to properly set speed [esphome#7113](https://github.com/esphome/esphome/pull/7113) by [@kr0ner](https://github.com/kr0ner)
- Added ruff to pre-commit hooks [esphome#7124](https://github.com/esphome/esphome/pull/7124) by [@clydebarrow](https://github.com/clydebarrow)
- Update webserver local assets to 20240724-013115 [esphome#7126](https://github.com/esphome/esphome/pull/7126) by [@esphomebot](https://github.com/esphomebot)
- [http_request] Allow configure buffer size on ESP-IDF [esphome#7125](https://github.com/esphome/esphome/pull/7125) by [@dentra](https://github.com/dentra)
- Give more info on import errors. [esphome#7128](https://github.com/esphome/esphome/pull/7128) by [@clydebarrow](https://github.com/clydebarrow)
- [lvgl] base implementation [esphome#7116](https://github.com/esphome/esphome/pull/7116) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Bump aioesphomeapi to 24.6.2 and cryptography to 43.0.0 [esphome#7131](https://github.com/esphome/esphome/pull/7131) by [@bdraco](https://github.com/bdraco)
- [dependabot] Group docker action bumps into single PR [esphome#7133](https://github.com/esphome/esphome/pull/7133) by [@jesserockz](https://github.com/jesserockz)
- Add ``--version`` handler to cli [esphome#7150](https://github.com/esphome/esphome/pull/7150) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise ethernet related imports [esphome#7152](https://github.com/esphome/esphome/pull/7152) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise wifi related imports [esphome#7153](https://github.com/esphome/esphome/pull/7153) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise core imports [esphome#7149](https://github.com/esphome/esphome/pull/7149) by [@jesserockz](https://github.com/jesserockz)
- Remove deprecated argument parser [esphome#7151](https://github.com/esphome/esphome/pull/7151) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Move ``CONF_ON_ERROR`` to const.py [esphome#7156](https://github.com/esphome/esphome/pull/7156) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise esp32 imports [esphome#7154](https://github.com/esphome/esphome/pull/7154) by [@jesserockz](https://github.com/jesserockz)
- Add microAmp and milliAmp to defined units [esphome#7157](https://github.com/esphome/esphome/pull/7157) by [@FreeBear-nc](https://github.com/FreeBear-nc)
- Bump docker/setup-buildx-action from 3.5.0 to 3.6.1 in the docker-actions group [esphome#7159](https://github.com/esphome/esphome/pull/7159) by [@dependabot[bot]](https://github.com/apps/dependabot)
- LVGL stage 2 [esphome#7129](https://github.com/esphome/esphome/pull/7129) by [@clydebarrow](https://github.com/clydebarrow)
- [pid] Add get_min_integral() and get_max_integral() [esphome#7162](https://github.com/esphome/esphome/pull/7162) by [@FreeBear-nc](https://github.com/FreeBear-nc)
- [code-quality] Organise bluetooth related imports [esphome#7155](https://github.com/esphome/esphome/pull/7155) by [@jesserockz](https://github.com/jesserockz)
- http_request watchdog as a component [esphome#7161](https://github.com/esphome/esphome/pull/7161) by [@oarcher](https://github.com/oarcher)
- [touchscreen] Allow binary sensor to have multiple pages in config [esphome#7112](https://github.com/esphome/esphome/pull/7112) by [@jesserockz](https://github.com/jesserockz)
- [matrix_keypad] Add `pin->setup()` to rows and cols [esphome#7163](https://github.com/esphome/esphome/pull/7163) by [@AAllport](https://github.com/AAllport)
- [update] Implement ``update.perform`` action and ``update.is_available`` condition [esphome#7165](https://github.com/esphome/esphome/pull/7165) by [@jesserockz](https://github.com/jesserockz) (new-feature)
- [lvgl] PR stage 3 [esphome#7160](https://github.com/esphome/esphome/pull/7160) by [@clydebarrow](https://github.com/clydebarrow)
- [api] ``homeassistant.action`` replaces ``homeassistant.service`` [esphome#7171](https://github.com/esphome/esphome/pull/7171) by [@jesserockz](https://github.com/jesserockz)
- ade7953_spi wrong size specified in read_array call [esphome#7172](https://github.com/esphome/esphome/pull/7172) by [@SimoPk](https://github.com/SimoPk)
- Bump improv library to 1.2.4 [esphome#7174](https://github.com/esphome/esphome/pull/7174) by [@jesserockz](https://github.com/jesserockz)
- Implement 'round to nearest multiple' filter [esphome#7142](https://github.com/esphome/esphome/pull/7142) by [@MrEbbinghaus](https://github.com/MrEbbinghaus)
- git ignore managed_components [esphome#7180](https://github.com/esphome/esphome/pull/7180) by [@oarcher](https://github.com/oarcher)
- [core] Eliminate nuisance messages from `build_codeowners` [esphome#7185](https://github.com/esphome/esphome/pull/7185) by [@clydebarrow](https://github.com/clydebarrow)
- [code-quality] More portable shebangs [esphome#7189](https://github.com/esphome/esphome/pull/7189) by [@jesserockz](https://github.com/jesserockz)
- Add support for doing update entity refresh/check via API. [esphome#7190](https://github.com/esphome/esphome/pull/7190) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Stage 4 [esphome#7166](https://github.com/esphome/esphome/pull/7166) by [@clydebarrow](https://github.com/clydebarrow)
- [esp32_improv] Update Improv library to reference new repo/version [esphome#7195](https://github.com/esphome/esphome/pull/7195) by [@kahrendt](https://github.com/kahrendt)
- hydreon_rgxx: Fix parsing of data line [esphome#7192](https://github.com/esphome/esphome/pull/7192) by [@domob1812](https://github.com/domob1812)
- Remove outdated version block [esphome#7177](https://github.com/esphome/esphome/pull/7177) by [@tomaszduda23](https://github.com/tomaszduda23)
- [lvgl] Stage 5 [esphome#7191](https://github.com/esphome/esphome/pull/7191) by [@clydebarrow](https://github.com/clydebarrow)
- socket: socket::set_sockaddr() for IPv4 addresses in IPv6 builds [esphome#7196](https://github.com/esphome/esphome/pull/7196) by [@dwmw2](https://github.com/dwmw2)
- Adds MQTT component to Alarm Control panel component [esphome#7188](https://github.com/esphome/esphome/pull/7188) by [@heythisisnate](https://github.com/heythisisnate)
- [lvgl] Final stage [esphome#7184](https://github.com/esphome/esphome/pull/7184) by [@clydebarrow](https://github.com/clydebarrow)
- Move ``CONF_BACKGROUND_COLOR`` and ``CONF_FOREGROUND_COLOR`` to const.py [esphome#7202](https://github.com/esphome/esphome/pull/7202) by [@jesserockz](https://github.com/jesserockz)
- [helpers] Set default flags of ExternalRAMAllocator to ALLOW_FAILURE [esphome#7201](https://github.com/esphome/esphome/pull/7201) by [@jesserockz](https://github.com/jesserockz)
- Add runtime online image support [esphome#4710](https://github.com/esphome/esphome/pull/4710) by [@guillempages](https://github.com/guillempages) (new-integration)
- Update i2s_audio_speaker.cppi2s_audio/speaker: Fix fallthrough compiler warning [esphome#7167](https://github.com/esphome/esphome/pull/7167) by [@Mimoja](https://github.com/Mimoja)
- Move CONF_ITEMS/CONF_FONT/CONF_TEXT to const.py [esphome#7204](https://github.com/esphome/esphome/pull/7204) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Fix compile error when using encoder with buttons only. [esphome#7203](https://github.com/esphome/esphome/pull/7203) by [@clydebarrow](https://github.com/clydebarrow)
- Revert "Add null GPIO pin " [esphome#6621](https://github.com/esphome/esphome/pull/6621) by [@jesserockz](https://github.com/jesserockz)
- [remote_transmitter] Change default carrier_frequency to valid value [esphome#7176](https://github.com/esphome/esphome/pull/7176) by [@iannisimo](https://github.com/iannisimo)
- [code-quality] Organise script imports [esphome#7198](https://github.com/esphome/esphome/pull/7198) by [@jesserockz](https://github.com/jesserockz)
- [max31856] Use cv.frequency as validator [esphome#7212](https://github.com/esphome/esphome/pull/7212) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise base entities imports [esphome#7208](https://github.com/esphome/esphome/pull/7208) by [@tomaszduda23](https://github.com/tomaszduda23)
- [spi] Remove ``SPIDelegateDummy`` [esphome#7215](https://github.com/esphome/esphome/pull/7215) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Apply ruff linting suggestions [esphome#7206](https://github.com/esphome/esphome/pull/7206) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Organise logger imports [esphome#7205](https://github.com/esphome/esphome/pull/7205) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Apply ruff linting suggestions to core [esphome#7207](https://github.com/esphome/esphome/pull/7207) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy sprinkler [esphome#7222](https://github.com/esphome/esphome/pull/7222) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] __attribute__((packed)) [esphome#7221](https://github.com/esphome/esphome/pull/7221) by [@tomaszduda23](https://github.com/tomaszduda23)
- hx711: Check for DOUT going high after a reading [esphome#7214](https://github.com/esphome/esphome/pull/7214) by [@dwmw2](https://github.com/dwmw2)
- [mqtt] Add extended device info [esphome#7194](https://github.com/esphome/esphome/pull/7194) by [@dentra](https://github.com/dentra)
- [code-quality] NOLINT readability-identifier-naming [esphome#7220](https://github.com/esphome/esphome/pull/7220) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Organise time imports [esphome#7219](https://github.com/esphome/esphome/pull/7219) by [@tomaszduda23](https://github.com/tomaszduda23)
- [lvgl] Fix set state on updates [esphome#7227](https://github.com/esphome/esphome/pull/7227) by [@clydebarrow](https://github.com/clydebarrow)
- add missing override [esphome#7231](https://github.com/esphome/esphome/pull/7231) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add text_align_to_string [esphome#7243](https://github.com/esphome/esphome/pull/7243) by [@MrMDavidson](https://github.com/MrMDavidson)
- [sml] Fixed crashing sml parser [esphome#7235](https://github.com/esphome/esphome/pull/7235) by [@eNBeWe](https://github.com/eNBeWe)
- Allow project name and version as improv_serial identity [esphome#7248](https://github.com/esphome/esphome/pull/7248) by [@AzonInc](https://github.com/AzonInc)
- [lvgl] Implement default group for encoders [esphome#7242](https://github.com/esphome/esphome/pull/7242) by [@clydebarrow](https://github.com/clydebarrow)
- [bme68x_bsec2_i2c] BME68X Temperature+Pressure+Humidity+Gas Sensor via BSEC2 [esphome#4585](https://github.com/esphome/esphome/pull/4585) by [@neffs](https://github.com/neffs) (new-integration)
- [code-quality] clang-tidy media_player [esphome#7238](https://github.com/esphome/esphome/pull/7238) by [@tomaszduda23](https://github.com/tomaszduda23)
- Bump docker/build-push-action from 6.5.0 to 6.6.1 in /.github/actions/build-image [esphome#7232](https://github.com/esphome/esphome/pull/7232) by [@dependabot[bot]](https://github.com/apps/dependabot)
- fix build error [esphome#7229](https://github.com/esphome/esphome/pull/7229) by [@tomaszduda23](https://github.com/tomaszduda23)
- adjust to new python pre-commit hooks [esphome#7178](https://github.com/esphome/esphome/pull/7178) by [@tomaszduda23](https://github.com/tomaszduda23)
- add windows script/setup.bat [esphome#7140](https://github.com/esphome/esphome/pull/7140) by [@nielsnl68](https://github.com/nielsnl68)
- [code-quality] add NOLINT haier_base [esphome#7236](https://github.com/esphome/esphome/pull/7236) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] clang-tidy bedjet [esphome#7251](https://github.com/esphome/esphome/pull/7251) by [@tomaszduda23](https://github.com/tomaszduda23)
- fix name conflict with zephyr macro [esphome#7252](https://github.com/esphome/esphome/pull/7252) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Apply ruff linting suggestions [esphome#7239](https://github.com/esphome/esphome/pull/7239) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add support for LYWSD02MMC Xiaomi device [esphome#7080](https://github.com/esphome/esphome/pull/7080) by [@juanluss31](https://github.com/juanluss31) (new-integration)
- [code-quality] fix clang-tidy web server [esphome#7230](https://github.com/esphome/esphome/pull/7230) by [@tomaszduda23](https://github.com/tomaszduda23)
- [test][web_server] Rejig test for v3 [esphome#7110](https://github.com/esphome/esphome/pull/7110) by [@RFDarter](https://github.com/RFDarter)
- [api] Error log when NONE Update command is sent [esphome#7247](https://github.com/esphome/esphome/pull/7247) by [@oarcher](https://github.com/oarcher)
- [api] Add new flag to request state/attribute once from HA only [esphome#7258](https://github.com/esphome/esphome/pull/7258) by [@jesserockz](https://github.com/jesserockz)
- [homeassistant] Add ``HOME_ASSISTANT_IMPORT_CONTROL_SCHEMA`` [esphome#7259](https://github.com/esphome/esphome/pull/7259) by [@jesserockz](https://github.com/jesserockz)
- [const] Add some units for future use and adjust case [esphome#7260](https://github.com/esphome/esphome/pull/7260) by [@nkinnan](https://github.com/nkinnan)
- [online_image] add option to show placeholder while downloading [esphome#7083](https://github.com/esphome/esphome/pull/7083) by [@guillempages](https://github.com/guillempages)
- [lvgl] Add initial_focus for encoders [esphome#7256](https://github.com/esphome/esphome/pull/7256) by [@clydebarrow](https://github.com/clydebarrow)
- [code-quality] fix order in esphome/const.py [esphome#7267](https://github.com/esphome/esphome/pull/7267) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy network [esphome#7266](https://github.com/esphome/esphome/pull/7266) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy core optional [esphome#7265](https://github.com/esphome/esphome/pull/7265) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Fix variable naming in base_light_effects [esphome#7237](https://github.com/esphome/esphome/pull/7237) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy mqtt [esphome#7253](https://github.com/esphome/esphome/pull/7253) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy wifi related [esphome#7254](https://github.com/esphome/esphome/pull/7254) by [@tomaszduda23](https://github.com/tomaszduda23)
- Bump docker/build-push-action from 6.6.1 to 6.7.0 in /.github/actions/build-image [esphome#7269](https://github.com/esphome/esphome/pull/7269) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [CI] Dont run full CI on ``build-image`` action changes [esphome#7270](https://github.com/esphome/esphome/pull/7270) by [@jesserockz](https://github.com/jesserockz)
- Implement ByteBuffer [esphome#6878](https://github.com/esphome/esphome/pull/6878) by [@clydebarrow](https://github.com/clydebarrow)
- Add min and max brightness parameters for Light dim_relative Action [esphome#6971](https://github.com/esphome/esphome/pull/6971) by [@PaoloTK](https://github.com/PaoloTK)
- [homeassistant] Native switch entity import and control [esphome#7018](https://github.com/esphome/esphome/pull/7018) by [@Links2004](https://github.com/Links2004) (new-platform)
- [homeassistant] Native number entity import and control [esphome#6455](https://github.com/esphome/esphome/pull/6455) by [@landonr](https://github.com/landonr) (new-platform)
- [lvgl] Rework events to avoid feedback loops [esphome#7262](https://github.com/esphome/esphome/pull/7262) by [@clydebarrow](https://github.com/clydebarrow)
- Add `color_filter_opa` style property [esphome#7276](https://github.com/esphome/esphome/pull/7276) by [@clydebarrow](https://github.com/clydebarrow)
- [code-quality] fix clang-tidy wake_on_lan [esphome#7275](https://github.com/esphome/esphome/pull/7275) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix readability-braces-around-statements [esphome#7273](https://github.com/esphome/esphome/pull/7273) by [@tomaszduda23](https://github.com/tomaszduda23)
- [mqtt] fix missing initializer in MQTTClientComponent::disable_discovery [esphome#7271](https://github.com/esphome/esphome/pull/7271) by [@oarcher](https://github.com/oarcher)
- [code-quality] fix readability-named-parameter [esphome#7272](https://github.com/esphome/esphome/pull/7272) by [@tomaszduda23](https://github.com/tomaszduda23)
- support illuminance for airthings wave plus device [esphome#5203](https://github.com/esphome/esphome/pull/5203) by [@MadMonkey87](https://github.com/MadMonkey87)
- [micro_wake_word] Bump ESPMicroSpeechFeatures version to 1.1.0 [esphome#7249](https://github.com/esphome/esphome/pull/7249) by [@kahrendt](https://github.com/kahrendt)
- Implement the finish() method and action. implement the is_stopped condition [esphome#7255](https://github.com/esphome/esphome/pull/7255) by [@nielsnl68](https://github.com/nielsnl68)
- Correct offset calibration [esphome#7228](https://github.com/esphome/esphome/pull/7228) by [@descipher](https://github.com/descipher) (new-platform)
- remove extra number from pronto [esphome#7263](https://github.com/esphome/esphome/pull/7263) by [@ssieb](https://github.com/ssieb)
- [api] Bump noise-c library version [esphome#7288](https://github.com/esphome/esphome/pull/7288) by [@clydebarrow](https://github.com/clydebarrow)
- fix some small rtttl issues [esphome#6817](https://github.com/esphome/esphome/pull/6817) by [@nielsnl68](https://github.com/nielsnl68)
- Fix overflow in ESPColorCorrection object [esphome#7268](https://github.com/esphome/esphome/pull/7268) by [@g-kiss](https://github.com/g-kiss)
- [validation] Allow ``maybe_simple_value`` to not have default key in complex value [esphome#7294](https://github.com/esphome/esphome/pull/7294) by [@jesserockz](https://github.com/jesserockz)
- [network] Always allow ``enable_ipv6: false`` [esphome#7291](https://github.com/esphome/esphome/pull/7291) by [@dwmw2](https://github.com/dwmw2)
- Revert "[validation] Allow ``maybe_simple_value`` to not have default key in complex value" [esphome#7305](https://github.com/esphome/esphome/pull/7305) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Bug fixes [esphome#7300](https://github.com/esphome/esphome/pull/7300) by [@clydebarrow](https://github.com/clydebarrow)
- [speaker] Fix header includes [esphome#7304](https://github.com/esphome/esphome/pull/7304) by [@nielsnl68](https://github.com/nielsnl68)
- [microphone] Fix header includes [esphome#7310](https://github.com/esphome/esphome/pull/7310) by [@jesserockz](https://github.com/jesserockz)
- Fix RP2040 Neopixel flickering issue [esphome#7307](https://github.com/esphome/esphome/pull/7307) by [@deCodeIt](https://github.com/deCodeIt)
- add the ability to add more idf components to an existing setup [esphome#7302](https://github.com/esphome/esphome/pull/7302) by [@nielsnl68](https://github.com/nielsnl68)
- Fix waveshare 2.13" epaper stride calculation error [esphome#7303](https://github.com/esphome/esphome/pull/7303) by [@serialx](https://github.com/serialx)
- [rtttl] fix STOPPED state [esphome#7323](https://github.com/esphome/esphome/pull/7323) by [@NewoPL](https://github.com/NewoPL)

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,39 +1,42 @@
---
advanced: true
url: https://beta.esphome.io/
arch:
- amd64
- armv7
- aarch64
auth_api: true
backup_exclude:
- '*/*/'
description: Beta version of ESPHome add-on
hassio_api: true
auth_api: true
host_network: true
image: ghcr.io/esphome/esphome-hassio-{arch}
ingress: true
ingress_port: 0
init: false
panel_icon: mdi:chip
uart: true
ports:
6052/tcp: null
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)
discovery:
- esphome
schema:
certfile: str?
default_compile_process_limit: int(1,)?
keyfile: str?
leave_front_door_open: bool?
relative_url: str?
ssl: bool?
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.8.0
slug: esphome-beta
description: Beta version of ESPHome add-on
image: ghcr.io/esphome/esphome-hassio
stage: experimental
uart: true
url: https://beta.esphome.io/
version: 2022.12.1
advanced: true
options:
home_assistant_dashboard_integration: false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@@ -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 @@
See https://esphome.io/changelog/index.html
See https://github.com/esphome/esphome/commits/dev

View File

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

View File

@@ -1,9 +1,8 @@
# ESPHome Home Assistant Add-On
# ESPHome Dev Add-On
[![ESPHome logo](https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/logo.png)](https://esphome.io/)
[![ESPHome logo][logo]][website]
[![GitHub stars](https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000)](https://github.com/esphome/esphome)
[![GitHub 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,5 +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

View File

@@ -1,39 +1,43 @@
---
advanced: true
url: https://next.esphome.io/
arch:
- amd64
- armv7
- aarch64
auth_api: true
backup_exclude:
- '*/*/'
description: Development version of ESPHome add-on
hassio_api: true
auth_api: true
host_network: true
ingress: true
ingress_port: 0
init: false
panel_icon: mdi:chip
uart: true
ports:
6052/tcp: null
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)
discovery:
- esphome
schema:
certfile: str?
default_compile_process_limit: int(1,)?
esphome_fork: str?
keyfile: str?
leave_front_door_open: bool?
relative_url: str?
ssl: bool?
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: 2024.9.0-dev20240821
slug: esphome-dev
description: Development version of ESPHome add-on
image: ghcr.io/esphome/esphome-hassio
stage: experimental
uart: true
url: https://next.esphome.io/
version: dev
advanced: true
options:
home_assistant_dashboard_integration: false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

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

View File

@@ -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,194 @@
See https://esphome.io/changelog/index.html
## 2024.8.0
## Full list of changes
### New Features
- [update] Implement ``update.perform`` action and ``update.is_available`` condition [esphome#7165](https://github.com/esphome/esphome/pull/7165) by [@jesserockz](https://github.com/jesserockz) (new-feature)
### New Components
- Feature/m5angle8: Add support for m5angle8 input device [esphome#6799](https://github.com/esphome/esphome/pull/6799) by [@rnauber](https://github.com/rnauber) (new-integration)
- APDS9306 Ambient Light Sensor [esphome#6709](https://github.com/esphome/esphome/pull/6709) by [@aodrenah](https://github.com/aodrenah) (new-integration)
- [lvgl] base implementation [esphome#7116](https://github.com/esphome/esphome/pull/7116) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Add runtime online image support [esphome#4710](https://github.com/esphome/esphome/pull/4710) by [@guillempages](https://github.com/guillempages) (new-integration)
- [bme68x_bsec2_i2c] BME68X Temperature+Pressure+Humidity+Gas Sensor via BSEC2 [esphome#4585](https://github.com/esphome/esphome/pull/4585) by [@neffs](https://github.com/neffs) (new-integration)
- Add support for LYWSD02MMC Xiaomi device [esphome#7080](https://github.com/esphome/esphome/pull/7080) by [@juanluss31](https://github.com/juanluss31) (new-integration)
### New Platforms
- [homeassistant] Native switch entity import and control [esphome#7018](https://github.com/esphome/esphome/pull/7018) by [@Links2004](https://github.com/Links2004) (new-platform)
- [homeassistant] Native number entity import and control [esphome#6455](https://github.com/esphome/esphome/pull/6455) by [@landonr](https://github.com/landonr) (new-platform)
- Correct offset calibration [esphome#7228](https://github.com/esphome/esphome/pull/7228) by [@descipher](https://github.com/descipher) (new-platform)
### Breaking Changes
- Remove deprecated argument parser [esphome#7151](https://github.com/esphome/esphome/pull/7151) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
### Beta Changes
- remove extra number from pronto [esphome#7263](https://github.com/esphome/esphome/pull/7263) by [@ssieb](https://github.com/ssieb)
- [api] Bump noise-c library version [esphome#7288](https://github.com/esphome/esphome/pull/7288) by [@clydebarrow](https://github.com/clydebarrow)
- fix some small rtttl issues [esphome#6817](https://github.com/esphome/esphome/pull/6817) by [@nielsnl68](https://github.com/nielsnl68)
- Fix overflow in ESPColorCorrection object [esphome#7268](https://github.com/esphome/esphome/pull/7268) by [@g-kiss](https://github.com/g-kiss)
- [validation] Allow ``maybe_simple_value`` to not have default key in complex value [esphome#7294](https://github.com/esphome/esphome/pull/7294) by [@jesserockz](https://github.com/jesserockz)
- [network] Always allow ``enable_ipv6: false`` [esphome#7291](https://github.com/esphome/esphome/pull/7291) by [@dwmw2](https://github.com/dwmw2)
- Revert "[validation] Allow ``maybe_simple_value`` to not have default key in complex value" [esphome#7305](https://github.com/esphome/esphome/pull/7305) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Bug fixes [esphome#7300](https://github.com/esphome/esphome/pull/7300) by [@clydebarrow](https://github.com/clydebarrow)
- [speaker] Fix header includes [esphome#7304](https://github.com/esphome/esphome/pull/7304) by [@nielsnl68](https://github.com/nielsnl68)
- [microphone] Fix header includes [esphome#7310](https://github.com/esphome/esphome/pull/7310) by [@jesserockz](https://github.com/jesserockz)
- Fix RP2040 Neopixel flickering issue [esphome#7307](https://github.com/esphome/esphome/pull/7307) by [@deCodeIt](https://github.com/deCodeIt)
- add the ability to add more idf components to an existing setup [esphome#7302](https://github.com/esphome/esphome/pull/7302) by [@nielsnl68](https://github.com/nielsnl68)
- Fix waveshare 2.13" epaper stride calculation error [esphome#7303](https://github.com/esphome/esphome/pull/7303) by [@serialx](https://github.com/serialx)
- [rtttl] fix STOPPED state [esphome#7323](https://github.com/esphome/esphome/pull/7323) by [@NewoPL](https://github.com/NewoPL)
### All changes
- [wifi] Fix EAP for IDF 5.1+, add test [esphome#7061](https://github.com/esphome/esphome/pull/7061) by [@kbx81](https://github.com/kbx81)
- jsn_sr04t component: AJ_SR04M compatibility mode in checksum calculation [esphome#7044](https://github.com/esphome/esphome/pull/7044) by [@soeffi](https://github.com/soeffi)
- [CI] compile entire web_server during tests [esphome#7084](https://github.com/esphome/esphome/pull/7084) by [@tomaszduda23](https://github.com/tomaszduda23)
- [CI] Add more ``improv_serial`` tests [esphome#7081](https://github.com/esphome/esphome/pull/7081) by [@kbx81](https://github.com/kbx81)
- Bump docker/build-push-action from 6.3.0 to 6.4.0 in /.github/actions/build-image [esphome#7089](https://github.com/esphome/esphome/pull/7089) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [CI] add web_server v1 test [esphome#7090](https://github.com/esphome/esphome/pull/7090) by [@tomaszduda23](https://github.com/tomaszduda23)
- [wifi] Hostname may not be set as expected on Arduino platform [esphome#7050](https://github.com/esphome/esphome/pull/7050) by [@NewoPL](https://github.com/NewoPL)
- Add host uart support for MacOS [esphome#7095](https://github.com/esphome/esphome/pull/7095) by [@clydebarrow](https://github.com/clydebarrow)
- Bump docker/build-push-action from 6.4.0 to 6.4.1 in /.github/actions/build-image [esphome#7102](https://github.com/esphome/esphome/pull/7102) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [code-quality] Add some ruff configuration [esphome#7103](https://github.com/esphome/esphome/pull/7103) by [@jesserockz](https://github.com/jesserockz)
- [web_server] move v1 code to separate file [esphome#7091](https://github.com/esphome/esphome/pull/7091) by [@tomaszduda23](https://github.com/tomaszduda23)
- [validation] Add ``host`` to ``require_framework_version`` [esphome#7107](https://github.com/esphome/esphome/pull/7107) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Tidy up some duplicate CONFIG_SCHEMA assignments [esphome#7106](https://github.com/esphome/esphome/pull/7106) by [@jesserockz](https://github.com/jesserockz)
- Move MQTT ip discovery to deticated config option. [esphome#6673](https://github.com/esphome/esphome/pull/6673) by [@Links2004](https://github.com/Links2004)
- Feature/m5angle8: Add support for m5angle8 input device [esphome#6799](https://github.com/esphome/esphome/pull/6799) by [@rnauber](https://github.com/rnauber) (new-integration)
- use cache to build tests for compoenents [esphome#7059](https://github.com/esphome/esphome/pull/7059) by [@tomaszduda23](https://github.com/tomaszduda23)
- [modbus_controller] Add on_command_sent trigger [esphome#7078](https://github.com/esphome/esphome/pull/7078) by [@leejoow](https://github.com/leejoow)
- [ili9xxx] Rework delay handling [esphome#7115](https://github.com/esphome/esphome/pull/7115) by [@clydebarrow](https://github.com/clydebarrow)
- Inherit `esp32_ble_beacon` from `esp32_ble` [esphome#6908](https://github.com/esphome/esphome/pull/6908) by [@jpbede](https://github.com/jpbede)
- APDS9306 Ambient Light Sensor [esphome#6709](https://github.com/esphome/esphome/pull/6709) by [@aodrenah](https://github.com/aodrenah) (new-integration)
- Bump docker/build-push-action from 6.4.1 to 6.5.0 in /.github/actions/build-image [esphome#7119](https://github.com/esphome/esphome/pull/7119) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-qemu-action from 3.1.0 to 3.2.0 [esphome#7120](https://github.com/esphome/esphome/pull/7120) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/login-action from 3.2.0 to 3.3.0 [esphome#7121](https://github.com/esphome/esphome/pull/7121) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump docker/setup-buildx-action from 3.4.0 to 3.5.0 [esphome#7122](https://github.com/esphome/esphome/pull/7122) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [fan] fix initial FanCall to properly set speed [esphome#7113](https://github.com/esphome/esphome/pull/7113) by [@kr0ner](https://github.com/kr0ner)
- Added ruff to pre-commit hooks [esphome#7124](https://github.com/esphome/esphome/pull/7124) by [@clydebarrow](https://github.com/clydebarrow)
- Update webserver local assets to 20240724-013115 [esphome#7126](https://github.com/esphome/esphome/pull/7126) by [@esphomebot](https://github.com/esphomebot)
- [http_request] Allow configure buffer size on ESP-IDF [esphome#7125](https://github.com/esphome/esphome/pull/7125) by [@dentra](https://github.com/dentra)
- Give more info on import errors. [esphome#7128](https://github.com/esphome/esphome/pull/7128) by [@clydebarrow](https://github.com/clydebarrow)
- [lvgl] base implementation [esphome#7116](https://github.com/esphome/esphome/pull/7116) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
- Bump aioesphomeapi to 24.6.2 and cryptography to 43.0.0 [esphome#7131](https://github.com/esphome/esphome/pull/7131) by [@bdraco](https://github.com/bdraco)
- [dependabot] Group docker action bumps into single PR [esphome#7133](https://github.com/esphome/esphome/pull/7133) by [@jesserockz](https://github.com/jesserockz)
- Add ``--version`` handler to cli [esphome#7150](https://github.com/esphome/esphome/pull/7150) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise ethernet related imports [esphome#7152](https://github.com/esphome/esphome/pull/7152) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise wifi related imports [esphome#7153](https://github.com/esphome/esphome/pull/7153) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise core imports [esphome#7149](https://github.com/esphome/esphome/pull/7149) by [@jesserockz](https://github.com/jesserockz)
- Remove deprecated argument parser [esphome#7151](https://github.com/esphome/esphome/pull/7151) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
- Move ``CONF_ON_ERROR`` to const.py [esphome#7156](https://github.com/esphome/esphome/pull/7156) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise esp32 imports [esphome#7154](https://github.com/esphome/esphome/pull/7154) by [@jesserockz](https://github.com/jesserockz)
- Add microAmp and milliAmp to defined units [esphome#7157](https://github.com/esphome/esphome/pull/7157) by [@FreeBear-nc](https://github.com/FreeBear-nc)
- Bump docker/setup-buildx-action from 3.5.0 to 3.6.1 in the docker-actions group [esphome#7159](https://github.com/esphome/esphome/pull/7159) by [@dependabot[bot]](https://github.com/apps/dependabot)
- LVGL stage 2 [esphome#7129](https://github.com/esphome/esphome/pull/7129) by [@clydebarrow](https://github.com/clydebarrow)
- [pid] Add get_min_integral() and get_max_integral() [esphome#7162](https://github.com/esphome/esphome/pull/7162) by [@FreeBear-nc](https://github.com/FreeBear-nc)
- [code-quality] Organise bluetooth related imports [esphome#7155](https://github.com/esphome/esphome/pull/7155) by [@jesserockz](https://github.com/jesserockz)
- http_request watchdog as a component [esphome#7161](https://github.com/esphome/esphome/pull/7161) by [@oarcher](https://github.com/oarcher)
- [touchscreen] Allow binary sensor to have multiple pages in config [esphome#7112](https://github.com/esphome/esphome/pull/7112) by [@jesserockz](https://github.com/jesserockz)
- [matrix_keypad] Add `pin->setup()` to rows and cols [esphome#7163](https://github.com/esphome/esphome/pull/7163) by [@AAllport](https://github.com/AAllport)
- [update] Implement ``update.perform`` action and ``update.is_available`` condition [esphome#7165](https://github.com/esphome/esphome/pull/7165) by [@jesserockz](https://github.com/jesserockz) (new-feature)
- [lvgl] PR stage 3 [esphome#7160](https://github.com/esphome/esphome/pull/7160) by [@clydebarrow](https://github.com/clydebarrow)
- [api] ``homeassistant.action`` replaces ``homeassistant.service`` [esphome#7171](https://github.com/esphome/esphome/pull/7171) by [@jesserockz](https://github.com/jesserockz)
- ade7953_spi wrong size specified in read_array call [esphome#7172](https://github.com/esphome/esphome/pull/7172) by [@SimoPk](https://github.com/SimoPk)
- Bump improv library to 1.2.4 [esphome#7174](https://github.com/esphome/esphome/pull/7174) by [@jesserockz](https://github.com/jesserockz)
- Implement 'round to nearest multiple' filter [esphome#7142](https://github.com/esphome/esphome/pull/7142) by [@MrEbbinghaus](https://github.com/MrEbbinghaus)
- git ignore managed_components [esphome#7180](https://github.com/esphome/esphome/pull/7180) by [@oarcher](https://github.com/oarcher)
- [core] Eliminate nuisance messages from `build_codeowners` [esphome#7185](https://github.com/esphome/esphome/pull/7185) by [@clydebarrow](https://github.com/clydebarrow)
- [code-quality] More portable shebangs [esphome#7189](https://github.com/esphome/esphome/pull/7189) by [@jesserockz](https://github.com/jesserockz)
- Add support for doing update entity refresh/check via API. [esphome#7190](https://github.com/esphome/esphome/pull/7190) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Stage 4 [esphome#7166](https://github.com/esphome/esphome/pull/7166) by [@clydebarrow](https://github.com/clydebarrow)
- [esp32_improv] Update Improv library to reference new repo/version [esphome#7195](https://github.com/esphome/esphome/pull/7195) by [@kahrendt](https://github.com/kahrendt)
- hydreon_rgxx: Fix parsing of data line [esphome#7192](https://github.com/esphome/esphome/pull/7192) by [@domob1812](https://github.com/domob1812)
- Remove outdated version block [esphome#7177](https://github.com/esphome/esphome/pull/7177) by [@tomaszduda23](https://github.com/tomaszduda23)
- [lvgl] Stage 5 [esphome#7191](https://github.com/esphome/esphome/pull/7191) by [@clydebarrow](https://github.com/clydebarrow)
- socket: socket::set_sockaddr() for IPv4 addresses in IPv6 builds [esphome#7196](https://github.com/esphome/esphome/pull/7196) by [@dwmw2](https://github.com/dwmw2)
- Adds MQTT component to Alarm Control panel component [esphome#7188](https://github.com/esphome/esphome/pull/7188) by [@heythisisnate](https://github.com/heythisisnate)
- [lvgl] Final stage [esphome#7184](https://github.com/esphome/esphome/pull/7184) by [@clydebarrow](https://github.com/clydebarrow)
- Move ``CONF_BACKGROUND_COLOR`` and ``CONF_FOREGROUND_COLOR`` to const.py [esphome#7202](https://github.com/esphome/esphome/pull/7202) by [@jesserockz](https://github.com/jesserockz)
- [helpers] Set default flags of ExternalRAMAllocator to ALLOW_FAILURE [esphome#7201](https://github.com/esphome/esphome/pull/7201) by [@jesserockz](https://github.com/jesserockz)
- Add runtime online image support [esphome#4710](https://github.com/esphome/esphome/pull/4710) by [@guillempages](https://github.com/guillempages) (new-integration)
- Update i2s_audio_speaker.cppi2s_audio/speaker: Fix fallthrough compiler warning [esphome#7167](https://github.com/esphome/esphome/pull/7167) by [@Mimoja](https://github.com/Mimoja)
- Move CONF_ITEMS/CONF_FONT/CONF_TEXT to const.py [esphome#7204](https://github.com/esphome/esphome/pull/7204) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Fix compile error when using encoder with buttons only. [esphome#7203](https://github.com/esphome/esphome/pull/7203) by [@clydebarrow](https://github.com/clydebarrow)
- Revert "Add null GPIO pin " [esphome#6621](https://github.com/esphome/esphome/pull/6621) by [@jesserockz](https://github.com/jesserockz)
- [remote_transmitter] Change default carrier_frequency to valid value [esphome#7176](https://github.com/esphome/esphome/pull/7176) by [@iannisimo](https://github.com/iannisimo)
- [code-quality] Organise script imports [esphome#7198](https://github.com/esphome/esphome/pull/7198) by [@jesserockz](https://github.com/jesserockz)
- [max31856] Use cv.frequency as validator [esphome#7212](https://github.com/esphome/esphome/pull/7212) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Organise base entities imports [esphome#7208](https://github.com/esphome/esphome/pull/7208) by [@tomaszduda23](https://github.com/tomaszduda23)
- [spi] Remove ``SPIDelegateDummy`` [esphome#7215](https://github.com/esphome/esphome/pull/7215) by [@jesserockz](https://github.com/jesserockz)
- [code-quality] Apply ruff linting suggestions [esphome#7206](https://github.com/esphome/esphome/pull/7206) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Organise logger imports [esphome#7205](https://github.com/esphome/esphome/pull/7205) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Apply ruff linting suggestions to core [esphome#7207](https://github.com/esphome/esphome/pull/7207) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy sprinkler [esphome#7222](https://github.com/esphome/esphome/pull/7222) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] __attribute__((packed)) [esphome#7221](https://github.com/esphome/esphome/pull/7221) by [@tomaszduda23](https://github.com/tomaszduda23)
- hx711: Check for DOUT going high after a reading [esphome#7214](https://github.com/esphome/esphome/pull/7214) by [@dwmw2](https://github.com/dwmw2)
- [mqtt] Add extended device info [esphome#7194](https://github.com/esphome/esphome/pull/7194) by [@dentra](https://github.com/dentra)
- [code-quality] NOLINT readability-identifier-naming [esphome#7220](https://github.com/esphome/esphome/pull/7220) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Organise time imports [esphome#7219](https://github.com/esphome/esphome/pull/7219) by [@tomaszduda23](https://github.com/tomaszduda23)
- [lvgl] Fix set state on updates [esphome#7227](https://github.com/esphome/esphome/pull/7227) by [@clydebarrow](https://github.com/clydebarrow)
- add missing override [esphome#7231](https://github.com/esphome/esphome/pull/7231) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add text_align_to_string [esphome#7243](https://github.com/esphome/esphome/pull/7243) by [@MrMDavidson](https://github.com/MrMDavidson)
- [sml] Fixed crashing sml parser [esphome#7235](https://github.com/esphome/esphome/pull/7235) by [@eNBeWe](https://github.com/eNBeWe)
- Allow project name and version as improv_serial identity [esphome#7248](https://github.com/esphome/esphome/pull/7248) by [@AzonInc](https://github.com/AzonInc)
- [lvgl] Implement default group for encoders [esphome#7242](https://github.com/esphome/esphome/pull/7242) by [@clydebarrow](https://github.com/clydebarrow)
- [bme68x_bsec2_i2c] BME68X Temperature+Pressure+Humidity+Gas Sensor via BSEC2 [esphome#4585](https://github.com/esphome/esphome/pull/4585) by [@neffs](https://github.com/neffs) (new-integration)
- [code-quality] clang-tidy media_player [esphome#7238](https://github.com/esphome/esphome/pull/7238) by [@tomaszduda23](https://github.com/tomaszduda23)
- Bump docker/build-push-action from 6.5.0 to 6.6.1 in /.github/actions/build-image [esphome#7232](https://github.com/esphome/esphome/pull/7232) by [@dependabot[bot]](https://github.com/apps/dependabot)
- fix build error [esphome#7229](https://github.com/esphome/esphome/pull/7229) by [@tomaszduda23](https://github.com/tomaszduda23)
- adjust to new python pre-commit hooks [esphome#7178](https://github.com/esphome/esphome/pull/7178) by [@tomaszduda23](https://github.com/tomaszduda23)
- add windows script/setup.bat [esphome#7140](https://github.com/esphome/esphome/pull/7140) by [@nielsnl68](https://github.com/nielsnl68)
- [code-quality] add NOLINT haier_base [esphome#7236](https://github.com/esphome/esphome/pull/7236) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] clang-tidy bedjet [esphome#7251](https://github.com/esphome/esphome/pull/7251) by [@tomaszduda23](https://github.com/tomaszduda23)
- fix name conflict with zephyr macro [esphome#7252](https://github.com/esphome/esphome/pull/7252) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Apply ruff linting suggestions [esphome#7239](https://github.com/esphome/esphome/pull/7239) by [@tomaszduda23](https://github.com/tomaszduda23)
- Add support for LYWSD02MMC Xiaomi device [esphome#7080](https://github.com/esphome/esphome/pull/7080) by [@juanluss31](https://github.com/juanluss31) (new-integration)
- [code-quality] fix clang-tidy web server [esphome#7230](https://github.com/esphome/esphome/pull/7230) by [@tomaszduda23](https://github.com/tomaszduda23)
- [test][web_server] Rejig test for v3 [esphome#7110](https://github.com/esphome/esphome/pull/7110) by [@RFDarter](https://github.com/RFDarter)
- [api] Error log when NONE Update command is sent [esphome#7247](https://github.com/esphome/esphome/pull/7247) by [@oarcher](https://github.com/oarcher)
- [api] Add new flag to request state/attribute once from HA only [esphome#7258](https://github.com/esphome/esphome/pull/7258) by [@jesserockz](https://github.com/jesserockz)
- [homeassistant] Add ``HOME_ASSISTANT_IMPORT_CONTROL_SCHEMA`` [esphome#7259](https://github.com/esphome/esphome/pull/7259) by [@jesserockz](https://github.com/jesserockz)
- [const] Add some units for future use and adjust case [esphome#7260](https://github.com/esphome/esphome/pull/7260) by [@nkinnan](https://github.com/nkinnan)
- [online_image] add option to show placeholder while downloading [esphome#7083](https://github.com/esphome/esphome/pull/7083) by [@guillempages](https://github.com/guillempages)
- [lvgl] Add initial_focus for encoders [esphome#7256](https://github.com/esphome/esphome/pull/7256) by [@clydebarrow](https://github.com/clydebarrow)
- [code-quality] fix order in esphome/const.py [esphome#7267](https://github.com/esphome/esphome/pull/7267) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy network [esphome#7266](https://github.com/esphome/esphome/pull/7266) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy core optional [esphome#7265](https://github.com/esphome/esphome/pull/7265) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] Fix variable naming in base_light_effects [esphome#7237](https://github.com/esphome/esphome/pull/7237) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy mqtt [esphome#7253](https://github.com/esphome/esphome/pull/7253) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix clang-tidy wifi related [esphome#7254](https://github.com/esphome/esphome/pull/7254) by [@tomaszduda23](https://github.com/tomaszduda23)
- Bump docker/build-push-action from 6.6.1 to 6.7.0 in /.github/actions/build-image [esphome#7269](https://github.com/esphome/esphome/pull/7269) by [@dependabot[bot]](https://github.com/apps/dependabot)
- [CI] Dont run full CI on ``build-image`` action changes [esphome#7270](https://github.com/esphome/esphome/pull/7270) by [@jesserockz](https://github.com/jesserockz)
- Implement ByteBuffer [esphome#6878](https://github.com/esphome/esphome/pull/6878) by [@clydebarrow](https://github.com/clydebarrow)
- Add min and max brightness parameters for Light dim_relative Action [esphome#6971](https://github.com/esphome/esphome/pull/6971) by [@PaoloTK](https://github.com/PaoloTK)
- [homeassistant] Native switch entity import and control [esphome#7018](https://github.com/esphome/esphome/pull/7018) by [@Links2004](https://github.com/Links2004) (new-platform)
- [homeassistant] Native number entity import and control [esphome#6455](https://github.com/esphome/esphome/pull/6455) by [@landonr](https://github.com/landonr) (new-platform)
- [lvgl] Rework events to avoid feedback loops [esphome#7262](https://github.com/esphome/esphome/pull/7262) by [@clydebarrow](https://github.com/clydebarrow)
- Add `color_filter_opa` style property [esphome#7276](https://github.com/esphome/esphome/pull/7276) by [@clydebarrow](https://github.com/clydebarrow)
- [code-quality] fix clang-tidy wake_on_lan [esphome#7275](https://github.com/esphome/esphome/pull/7275) by [@tomaszduda23](https://github.com/tomaszduda23)
- [code-quality] fix readability-braces-around-statements [esphome#7273](https://github.com/esphome/esphome/pull/7273) by [@tomaszduda23](https://github.com/tomaszduda23)
- [mqtt] fix missing initializer in MQTTClientComponent::disable_discovery [esphome#7271](https://github.com/esphome/esphome/pull/7271) by [@oarcher](https://github.com/oarcher)
- [code-quality] fix readability-named-parameter [esphome#7272](https://github.com/esphome/esphome/pull/7272) by [@tomaszduda23](https://github.com/tomaszduda23)
- support illuminance for airthings wave plus device [esphome#5203](https://github.com/esphome/esphome/pull/5203) by [@MadMonkey87](https://github.com/MadMonkey87)
- [micro_wake_word] Bump ESPMicroSpeechFeatures version to 1.1.0 [esphome#7249](https://github.com/esphome/esphome/pull/7249) by [@kahrendt](https://github.com/kahrendt)
- Implement the finish() method and action. implement the is_stopped condition [esphome#7255](https://github.com/esphome/esphome/pull/7255) by [@nielsnl68](https://github.com/nielsnl68)
- Correct offset calibration [esphome#7228](https://github.com/esphome/esphome/pull/7228) by [@descipher](https://github.com/descipher) (new-platform)
- remove extra number from pronto [esphome#7263](https://github.com/esphome/esphome/pull/7263) by [@ssieb](https://github.com/ssieb)
- [api] Bump noise-c library version [esphome#7288](https://github.com/esphome/esphome/pull/7288) by [@clydebarrow](https://github.com/clydebarrow)
- fix some small rtttl issues [esphome#6817](https://github.com/esphome/esphome/pull/6817) by [@nielsnl68](https://github.com/nielsnl68)
- Fix overflow in ESPColorCorrection object [esphome#7268](https://github.com/esphome/esphome/pull/7268) by [@g-kiss](https://github.com/g-kiss)
- [validation] Allow ``maybe_simple_value`` to not have default key in complex value [esphome#7294](https://github.com/esphome/esphome/pull/7294) by [@jesserockz](https://github.com/jesserockz)
- [network] Always allow ``enable_ipv6: false`` [esphome#7291](https://github.com/esphome/esphome/pull/7291) by [@dwmw2](https://github.com/dwmw2)
- Revert "[validation] Allow ``maybe_simple_value`` to not have default key in complex value" [esphome#7305](https://github.com/esphome/esphome/pull/7305) by [@jesserockz](https://github.com/jesserockz)
- [lvgl] Bug fixes [esphome#7300](https://github.com/esphome/esphome/pull/7300) by [@clydebarrow](https://github.com/clydebarrow)
- [speaker] Fix header includes [esphome#7304](https://github.com/esphome/esphome/pull/7304) by [@nielsnl68](https://github.com/nielsnl68)
- [microphone] Fix header includes [esphome#7310](https://github.com/esphome/esphome/pull/7310) by [@jesserockz](https://github.com/jesserockz)
- Fix RP2040 Neopixel flickering issue [esphome#7307](https://github.com/esphome/esphome/pull/7307) by [@deCodeIt](https://github.com/deCodeIt)
- add the ability to add more idf components to an existing setup [esphome#7302](https://github.com/esphome/esphome/pull/7302) by [@nielsnl68](https://github.com/nielsnl68)
- Fix waveshare 2.13" epaper stride calculation error [esphome#7303](https://github.com/esphome/esphome/pull/7303) by [@serialx](https://github.com/serialx)
- [rtttl] fix STOPPED state [esphome#7323](https://github.com/esphome/esphome/pull/7323) by [@NewoPL](https://github.com/NewoPL)

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,37 +1,38 @@
---
url: https://esphome.io/
arch:
- amd64
- armv7
- aarch64
auth_api: true
backup_exclude:
- '*/*/'
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
hassio_api: true
auth_api: true
host_network: true
image: ghcr.io/esphome/esphome-hassio-{arch}
ingress: true
ingress_port: 0
init: false
panel_icon: mdi:chip
uart: true
ports:
6052/tcp: null
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)
discovery:
- esphome
schema:
certfile: str?
default_compile_process_limit: int(1,)?
keyfile: str?
leave_front_door_open: bool?
relative_url: str?
ssl: bool?
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.8.0
slug: esphome
uart: true
url: https://esphome.io/
version: 2022.12.1
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
image: ghcr.io/esphome/esphome-hassio

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -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

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

View File

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

View File

@@ -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

@@ -16,76 +16,85 @@ base: &base
# Ingress settings
ingress: true
ingress_port: 0
panel_icon: 'mdi:chip'
panel_icon: "mdi:chip"
# Automatically add UART devices to add-on
uart: true
ports:
'6052/tcp': null
ports_description:
'6052/tcp': "Web interface (not required for Home Assistant ingress)"
"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?
streamer_mode: bool?
relative_url: str?
status_use_ping: bool?
default_compile_process_limit: int(1,)?
backup_exclude:
- "*/*/"
# Disable docker init for s6
init: false
# Make sure dashboard is available for core
startup: services
esphome-dev:
<<: *base
directory: esphome-dev
name: ESPHome (dev)
version: 'dev' # DEV
version: "2024.9.0-dev20240821" # DEV
slug: esphome-dev
description: "Development version of ESPHome add-on"
url: https://next.esphome.io/
image: ghcr.io/esphome/esphome-hassio
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?
default_compile_process_limit: int(1,)?
base_image: ghcr.io/esphome/esphome-hassio-{arch}:dev
options:
home_assistant_dashboard_integration: false
esphome-beta:
<<: *base
directory: esphome-beta
name: ESPHome (beta)
version: '2022.12.1' # BETA
version: "2024.8.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.12.1' # STABLE
version: "2024.8.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/

BIN
template/beta/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
template/beta/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

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

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

BIN
template/dev/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
template/dev/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -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)