1
0

Compare commits

...

161 Commits

35 changed files with 282 additions and 119 deletions

View File

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

View File

@@ -14,23 +14,28 @@
"containerEnv": { "containerEnv": {
"WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}" "WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}"
}, },
"extensions": [ "customizations": {
"timonwong.shellcheck", "vscode": {
"esbenp.prettier-vscode" "extensions": [
], "timonwong.shellcheck",
"mounts": [ "esbenp.prettier-vscode",
"type=volume,target=/var/lib/docker" "ms-python.python"
], ],
"settings": { "mounts": [
"terminal.integrated.profiles.linux": { "type=volume,target=/var/lib/docker"
"zsh": { ],
"path": "/usr/bin/zsh" "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,18 +6,36 @@ on:
version: version:
description: The version to release description: The version to release
required: true required: true
content:
description: The content of the release-notes
required: true
jobs: jobs:
create-release: create-release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true continue-on-error: true
steps: steps:
- uses: actions/checkout@v3.3.0 - uses: actions/checkout@v4.1.1
- uses: actions/setup-python@v4 - uses: actions/setup-python@v4.8.0
with: with:
python-version: '3.x' python-version: '3.11'
- run: pip install -r script/requirements.txt - run: pip install -r script/requirements.txt
- run: script/bump-version.py ${{ github.event.inputs.version }} - run: script/bump-version.py ${{ github.event.inputs.version }}
- name: Write Beta changelog
run: |
cat > esphome-beta/CHANGELOG.md << 'EOF'
## ${{ github.event.inputs.version }}
${{ github.event.inputs.content }}
EOF
- name: Write Stable changelog
if: ${{ !contains(github.event.inputs.version, 'b') }}
run: |
cat > esphome/CHANGELOG.md << 'EOF'
## ${{ github.event.inputs.version }}
${{ github.event.inputs.content }}
EOF
- name: Commit version bump - name: Commit version bump
id: commit_version id: commit_version
run: | run: |
@@ -28,8 +46,7 @@ jobs:
git push git push
COMMIT=$(git rev-parse HEAD) COMMIT=$(git rev-parse HEAD)
echo "::set-output name=commit_sha::${COMMIT}" echo "::set-output name=commit_sha::${COMMIT}"
- if: ${{ contains(github.event.inputs.version, 'b') }} - name: Create a Release
name: Create Beta Release
uses: actions/create-release@v1.1.4 uses: actions/create-release@v1.1.4
continue-on-error: true continue-on-error: true
env: env:
@@ -37,18 +54,6 @@ jobs:
with: with:
tag_name: ${{ github.event.inputs.version }} tag_name: ${{ github.event.inputs.version }}
release_name: ${{ github.event.inputs.version }} release_name: ${{ github.event.inputs.version }}
body: 'See https://beta.esphome.io/changelog/index.html' body: ${{ github.event.inputs.content }}
prerelease: true prerelease: ${{ contains(github.event.inputs.version, 'b') }}
commitish: ${{ steps.commit_version.outputs.commit_sha }}
- if: ${{ !contains(github.event.inputs.version, 'b') }}
name: Create Stable Release
uses: actions/create-release@v1.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 }} commitish: ${{ steps.commit_version.outputs.commit_sha }}

View File

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

View File

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

View File

@@ -1 +1,7 @@
See https://esphome.io/changelog/index.html ## 2024.3.0b2
- SPI: Revert clk_pin to standard output pin schema [esphome#6368](https://github.com/esphome/esphome/pull/6368) by [@clydebarrow](https://github.com/clydebarrow)
- Allow actions in web_server to be executed via GET method [esphome#5938](https://github.com/esphome/esphome/pull/5938) by [@afarago](https://github.com/afarago)
- fix servo restore [esphome#6370](https://github.com/esphome/esphome/pull/6370) by [@ssieb](https://github.com/ssieb)
- Don't try to get IPv6 addresses when disabled [esphome#6366](https://github.com/esphome/esphome/pull/6366) by [@HeMan](https://github.com/HeMan)

View File

@@ -1,5 +1,4 @@
# Home Assistant Community Add-on: ESPHome # ESPHome Add-on
## Installation ## Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on. 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 stars][github-stars-shield]][repository]
[![GitHub Release][releases-shield]][releases]
[![Discord][discord-shield]][discord] [![Discord][discord-shield]][discord]
## About ## About
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
handled by ESPHome. handled by ESPHome.
<p align="center"> <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> </p>
[View the ESPHome documentation](https://esphome.io/) [View the ESPHome documentation][website]
## Example ## 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 temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file: 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: 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 [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 [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

@@ -16,22 +16,27 @@ ports:
map: map:
- ssl:ro - ssl:ro
- config:rw - config:rw
discovery:
- esphome
schema: schema:
status_use_ping: bool? status_use_ping: bool?
streamer_mode: bool? streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)? default_compile_process_limit: int(1,)?
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome (beta) name: ESPHome (beta)
version: 2022.12.6 version: 2024.3.0b2
slug: esphome-beta slug: esphome-beta
description: Beta version of ESPHome add-on description: Beta version of ESPHome add-on
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio
stage: experimental stage: experimental
advanced: true advanced: true
options:
home_assistant_dashboard_integration: false

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -23,6 +23,13 @@ configuration:
Please note that the fork or branch you are using **must** be up to 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**. 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: keyfile:
name: Private key file name: Private key file
description: >- description: >-

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 stars][github-stars-shield]][repository]
[![GitHub Release][releases-shield]][releases]
[![Discord][discord-shield]][discord] [![Discord][discord-shield]][discord]
## About ## About
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
handled by ESPHome. handled by ESPHome.
<p align="center"> <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> </p>
[View the ESPHome documentation](https://esphome.io/) [View the ESPHome documentation][website]
## Example ## 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 temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file: 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: 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 [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 [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

@@ -16,22 +16,27 @@ ports:
map: map:
- ssl:ro - ssl:ro
- config:rw - config:rw
discovery:
- esphome
schema: schema:
status_use_ping: bool? status_use_ping: bool?
streamer_mode: bool? streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)? default_compile_process_limit: int(1,)?
esphome_fork: str? esphome_fork: str?
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome (dev) name: ESPHome (dev)
version: dev version: dev
slug: esphome-dev slug: esphome-dev
description: Development version of ESPHome add-on description: Development version of ESPHome add-on
stage: experimental stage: experimental
advanced: true advanced: true
options:
home_assistant_dashboard_integration: false

View File

@@ -23,6 +23,13 @@ configuration:
Please note that the fork or branch you are using **must** be up to 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**. 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: keyfile:
name: Private key file name: Private key file
description: >- description: >-

View File

@@ -1 +1,8 @@
See https://esphome.io/changelog/index.html ## 2024.2.2
- CSE7766: Fix energy calculation [esphome#6286](https://github.com/esphome/esphome/pull/6286) by [@puuu](https://github.com/puuu)
- handling with the negative temperature in the sensor tmp102 [esphome#6316](https://github.com/esphome/esphome/pull/6316) by [@FlyingFeng2021](https://github.com/FlyingFeng2021)
- fix tmp102 negative calculation [esphome#6320](https://github.com/esphome/esphome/pull/6320) by [@ssieb](https://github.com/ssieb)
- auto load output for now [esphome#6309](https://github.com/esphome/esphome/pull/6309) by [@ssieb](https://github.com/ssieb)
- Add wake word phrase to voice assistant start command [esphome#6290](https://github.com/esphome/esphome/pull/6290) by [@jesserockz](https://github.com/jesserockz)

View File

@@ -1,5 +1,4 @@
# Home Assistant Community Add-on: ESPHome # ESPHome Add-on
## Installation ## Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on. 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 stars][github-stars-shield]][repository]
[![GitHub Release][releases-shield]][releases]
[![Discord][discord-shield]][discord] [![Discord][discord-shield]][discord]
## About ## About
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
handled by ESPHome. handled by ESPHome.
<p align="center"> <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> </p>
[View the ESPHome documentation](https://esphome.io/) [View the ESPHome documentation][website]
## Example ## 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 temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file: 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: 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 [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 [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,20 +16,23 @@ ports:
map: map:
- ssl:ro - ssl:ro
- config:rw - config:rw
discovery:
- esphome
schema: schema:
status_use_ping: bool? status_use_ping: bool?
streamer_mode: bool? streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)? default_compile_process_limit: int(1,)?
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome name: ESPHome
version: 2022.12.6 version: 2024.2.2
slug: esphome slug: esphome
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio

Binary file not shown.

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

View File

@@ -23,6 +23,13 @@ configuration:
Please note that the fork or branch you are using **must** be up to 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**. 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: keyfile:
name: Private key file name: Private key file
description: >- description: >-

View File

@@ -6,6 +6,7 @@ from pathlib import Path
from enum import Enum from enum import Enum
from shutil import copyfile from shutil import copyfile
import sys import sys
import os
class Channel(Enum): class Channel(Enum):
@@ -37,7 +38,8 @@ def main(args):
with open(path, "w") as f: with open(path, "w") as f:
yaml.dump(conf, f, indent=2, sort_keys=False, explicit_start=True) yaml.dump(conf, f, indent=2, sort_keys=False, explicit_start=True)
for file_, conf_ in copyf.items(): for file_ in copyf:
os.makedirs(dir_ / Path(file_).parent, exist_ok=True)
if Path.exists(templ / channel.value / file_): if Path.exists(templ / channel.value / file_):
copyfile(templ / channel.value / file_, dir_ / file_) copyfile(templ / channel.value / file_, dir_ / file_)
else: else:

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 ## Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on. 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 stars][github-stars-shield]][repository]
[![GitHub Release][releases-shield]][releases]
[![Discord][discord-shield]][discord] [![Discord][discord-shield]][discord]
## About ## About
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
handled by ESPHome. handled by ESPHome.
<p align="center"> <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> </p>
[View the ESPHome documentation](https://esphome.io/) [View the ESPHome documentation][website]
## Example ## 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 temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file: 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: 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 [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 [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

@@ -24,19 +24,23 @@ base: &base
map: map:
- ssl:ro - ssl:ro
- config:rw - config:rw
discovery:
- esphome
schema: schema:
status_use_ping: bool? status_use_ping: bool?
streamer_mode: bool? streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)? default_compile_process_limit: int(1,)?
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- "*/*/" - "*/*/"
# Disable docker init for s6 # Disable docker init for s6
init: false init: false
# Make sure dashboard is available for core
startup: services
esphome-dev: esphome-dev:
<<: *base <<: *base
@@ -51,40 +55,46 @@ esphome-dev:
schema: schema:
status_use_ping: bool? status_use_ping: bool?
streamer_mode: bool? streamer_mode: bool?
home_assistant_dashboard_integration: bool?
default_compile_process_limit: int(1,)? default_compile_process_limit: int(1,)?
esphome_fork: str? esphome_fork: str?
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
base_image: ghcr.io/esphome/esphome-hassio:dev base_image: ghcr.io/esphome/esphome-hassio:dev
options:
home_assistant_dashboard_integration: false
esphome-beta: esphome-beta:
<<: *base <<: *base
directory: esphome-beta directory: esphome-beta
name: ESPHome (beta) name: ESPHome (beta)
version: '2022.12.6' # BETA version: '2024.3.0b2' # BETA
slug: esphome-beta slug: esphome-beta
description: "Beta version of ESPHome add-on" description: "Beta version of ESPHome add-on"
url: https://beta.esphome.io/ url: https://beta.esphome.io/
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio
stage: experimental stage: experimental
advanced: true advanced: true
options:
home_assistant_dashboard_integration: false
esphome-stable: esphome-stable:
<<: *base <<: *base
directory: esphome directory: esphome
name: ESPHome name: ESPHome
version: '2022.12.6' # STABLE version: '2024.2.2' # STABLE
slug: esphome slug: esphome
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices" description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio
copy_files: copy_files:
CHANGELOG.md: - DOCS.md
DOCS.md: - icon.png
icon.png: - logo.png
logo.png: - README.md
README.md: - translations/en.yaml
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/

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

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -23,6 +23,13 @@ configuration:
Please note that the fork or branch you are using **must** be up to 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**. 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: keyfile:
name: Private key file name: Private key file
description: >- description: >-