Compare commits
139 Commits
v2022.2.2
...
2023.5.0b1
10
.devcontainer/Dockerfile
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
FROM ghcr.io/home-assistant/devcontainer:addons
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
python3-pip
|
||||||
|
|
||||||
|
COPY script/requirements.txt /
|
||||||
|
|
||||||
|
RUN pip install -r /requirements.txt
|
||||||
36
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"name": "ESPHome Home Assistant add-on devcontainer",
|
||||||
|
"image": "ghcr.io/esphome/devcontainer:addons",
|
||||||
|
"appPort": [
|
||||||
|
"7123:8123",
|
||||||
|
"7357:4357"
|
||||||
|
],
|
||||||
|
"postStartCommand": "bash devcontainer_bootstrap",
|
||||||
|
"runArgs": [
|
||||||
|
"-e",
|
||||||
|
"GIT_EDITOR=code --wait",
|
||||||
|
"--privileged"
|
||||||
|
],
|
||||||
|
"containerEnv": {
|
||||||
|
"WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}"
|
||||||
|
},
|
||||||
|
"extensions": [
|
||||||
|
"timonwong.shellcheck",
|
||||||
|
"esbenp.prettier-vscode"
|
||||||
|
],
|
||||||
|
"mounts": [
|
||||||
|
"type=volume,target=/var/lib/docker"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"terminal.integrated.profiles.linux": {
|
||||||
|
"zsh": {
|
||||||
|
"path": "/usr/bin/zsh"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"terminal.integrated.defaultProfile.linux": "zsh",
|
||||||
|
"editor.formatOnPaste": false,
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.formatOnType": true,
|
||||||
|
"files.trimTrailingWhitespace": true
|
||||||
|
}
|
||||||
|
}
|
||||||
7
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
open-pull-requests-limit: 10
|
||||||
77
.github/workflows/bump-version.yml
vendored
@@ -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@v2
|
- uses: actions/checkout@v3.5.2
|
||||||
- uses: actions/setup-python@v2
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: '3.x'
|
python-version: '3.x'
|
||||||
- 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,59 +46,14 @@ 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
|
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
tag_name: v${{ 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 }}
|
commitish: ${{ steps.commit_version.outputs.commit_sha }}
|
||||||
- if: ${{ !contains(github.event.inputs.version, 'b') }}
|
|
||||||
name: Create Stable Release
|
|
||||||
uses: actions/create-release@v1
|
|
||||||
continue-on-error: true
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
tag_name: v${{ github.event.inputs.version }}
|
|
||||||
release_name: ${{ github.event.inputs.version }}
|
|
||||||
body: 'See https://esphome.io/changelog/index.html'
|
|
||||||
prerelease: false
|
|
||||||
commitish: ${{ steps.commit_version.outputs.commit_sha }}
|
|
||||||
|
|
||||||
deploy-community-addons:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [create-release]
|
|
||||||
steps:
|
|
||||||
- name: Publish beta release to community-addons repository
|
|
||||||
uses: peter-evans/repository-dispatch@v1.1.3
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}
|
|
||||||
repository: hassio-addons/repository-beta
|
|
||||||
event-type: update
|
|
||||||
client-payload: >
|
|
||||||
{
|
|
||||||
"addon": "esphome",
|
|
||||||
"name": "ESPHome",
|
|
||||||
"repository": "esphome/home-assistant-addon",
|
|
||||||
"version": "${{ github.event.inputs.version }}"
|
|
||||||
}
|
|
||||||
- if: ${{ !contains(github.event.inputs.version, 'b') }}
|
|
||||||
name: Publish stable release to community-addons repository
|
|
||||||
uses: peter-evans/repository-dispatch@v1.1.3
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}
|
|
||||||
repository: hassio-addons/repository
|
|
||||||
event-type: update
|
|
||||||
client-payload: >
|
|
||||||
{
|
|
||||||
"addon": "esphome",
|
|
||||||
"name": "ESPHome",
|
|
||||||
"repository": "esphome/home-assistant-addon",
|
|
||||||
"version": "${{ github.event.inputs.version }}"
|
|
||||||
}
|
|
||||||
|
|||||||
46
.github/workflows/deploy-community.yml
vendored
@@ -1,46 +0,0 @@
|
|||||||
name: Update Community Repo
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
version:
|
|
||||||
description: The version to release
|
|
||||||
required: true
|
|
||||||
beta:
|
|
||||||
description: Whether to release a beta version
|
|
||||||
type: boolean
|
|
||||||
required: false
|
|
||||||
default: false
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy-community-addons:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- if: ${{ contains(github.event.inputs.version, 'b') || github.event.inputs.beta == 'true' }}
|
|
||||||
name: Publish beta release to community-addons repository
|
|
||||||
uses: peter-evans/repository-dispatch@v1.1.3
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}
|
|
||||||
repository: hassio-addons/repository-beta
|
|
||||||
event-type: update
|
|
||||||
client-payload: >
|
|
||||||
{
|
|
||||||
"addon": "esphome",
|
|
||||||
"name": "ESPHome",
|
|
||||||
"repository": "esphome/home-assistant-addon",
|
|
||||||
"version": "${{ github.event.inputs.version }}"
|
|
||||||
}
|
|
||||||
- if: ${{ !contains(github.event.inputs.version, 'b') }}
|
|
||||||
name: Publish stable release to community-addons repository
|
|
||||||
uses: peter-evans/repository-dispatch@v1.1.3
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}
|
|
||||||
repository: hassio-addons/repository
|
|
||||||
event-type: update
|
|
||||||
client-payload: >
|
|
||||||
{
|
|
||||||
"addon": "esphome",
|
|
||||||
"name": "ESPHome",
|
|
||||||
"repository": "esphome/home-assistant-addon",
|
|
||||||
"version": "${{ github.event.inputs.version }}"
|
|
||||||
}
|
|
||||||
41
.github/workflows/devcontainer-build.yaml
vendored
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
name: Build devcontainer image
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- .devcontainer/**
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 1 * *'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- .devcontainer/**
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3.5.2
|
||||||
|
- name: Log in to the GitHub container registry
|
||||||
|
uses: docker/login-action@v2.1.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
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v2.5.0
|
||||||
|
- name: Build and Push
|
||||||
|
uses: docker/build-push-action@v4.0.0
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: .devcontainer/Dockerfile
|
||||||
|
tags: ghcr.io/${{ github.repository_owner }}/devcontainer:addons
|
||||||
|
push: ${{ github.event_name != 'pull_request' }}
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
6
.github/workflows/lint.yml
vendored
@@ -19,9 +19,9 @@ jobs:
|
|||||||
channel: dev
|
channel: dev
|
||||||
steps:
|
steps:
|
||||||
- name: ⤵️ Check out code from GitHub
|
- name: ⤵️ Check out code from GitHub
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3.5.2
|
||||||
- name: 🛠 Setup Python
|
- name: 🛠 Setup Python
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: '3.x'
|
python-version: '3.x'
|
||||||
- name: 🛠 Install dependencies
|
- name: 🛠 Install dependencies
|
||||||
@@ -29,6 +29,6 @@ jobs:
|
|||||||
- 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
|
uses: frenck/action-addon-linter@v2.12.0
|
||||||
with:
|
with:
|
||||||
path: "./${{ matrix.channels.folder }}"
|
path: "./${{ matrix.channels.folder }}"
|
||||||
|
|||||||
19
.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "Start Home Assistant",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "supervisor_run",
|
||||||
|
"group": {
|
||||||
|
"kind": "test",
|
||||||
|
"isDefault": true
|
||||||
|
},
|
||||||
|
"presentation": {
|
||||||
|
"reveal": "always",
|
||||||
|
"panel": "new"
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1 +1,56 @@
|
|||||||
See https://esphome.io/changelog/index.html
|
## 2023.5.0b1
|
||||||
|
|
||||||
|
- Only allow 5 jobs from each CI run to be in parallel [esphome#4682](https://github.com/esphome/esphome/pull/4682) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
- Add Bayesian type for binary_sensor_map component [esphome#4640](https://github.com/esphome/esphome/pull/4640) by [@kahrendt](https://github.com/kahrendt)
|
||||||
|
- Bump aioesphomeapi from 13.5.1 to 13.7.0 [esphome#4676](https://github.com/esphome/esphome/pull/4676) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
|
- Bump peter-evans/create-pull-request from 4 to 5 [esphome#4661](https://github.com/esphome/esphome/pull/4661) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
|
- Bump docker/build-push-action from 3 to 4 [esphome#4367](https://github.com/esphome/esphome/pull/4367) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
|
- Keep Device Class in Flash. [esphome#4639](https://github.com/esphome/esphome/pull/4639) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
|
||||||
|
- Add support for passive WiFi scanning [esphome#4666](https://github.com/esphome/esphome/pull/4666) by [@BellaCoola](https://github.com/BellaCoola)
|
||||||
|
- Initial attempt at supporting ESP-IDF 5.0.0 [esphome#4364](https://github.com/esphome/esphome/pull/4364) by [@kbx81](https://github.com/kbx81)
|
||||||
|
- Get Sunrise & Sunset for a Specific Date [esphome#4712](https://github.com/esphome/esphome/pull/4712) by [@RebbePod](https://github.com/RebbePod)
|
||||||
|
- Add `supports_stop` trait to Cover [esphome#3897](https://github.com/esphome/esphome/pull/3897) by [@amomchilov](https://github.com/amomchilov)
|
||||||
|
- Bump aioesphomeapi from 13.7.0 to 13.7.1 [esphome#4725](https://github.com/esphome/esphome/pull/4725) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
|
- Add on_tag_removed trigger for RC522 [esphome#4742](https://github.com/esphome/esphome/pull/4742) by [@kbx81](https://github.com/kbx81)
|
||||||
|
- Fix 'blutooth' typo in esp32_ble component [esphome#4738](https://github.com/esphome/esphome/pull/4738) by [@RoboMagus](https://github.com/RoboMagus)
|
||||||
|
- Bump pylint from 2.17.2 to 2.17.3 [esphome#4740](https://github.com/esphome/esphome/pull/4740) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
|
- Bump tornado from 6.2 to 6.3.1 [esphome#4741](https://github.com/esphome/esphome/pull/4741) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
|
- Bump pytest from 7.3.0 to 7.3.1 [esphome#4686](https://github.com/esphome/esphome/pull/4686) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
|
- Expand the platformio dep installer to also install platforms and tools [esphome#4716](https://github.com/esphome/esphome/pull/4716) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
- Remove climate legacy away flags [esphome#4744](https://github.com/esphome/esphome/pull/4744) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||||
|
- Add mlx90614 sensors [esphome#3749](https://github.com/esphome/esphome/pull/3749) by [@jesserockz](https://github.com/jesserockz) (new-integration)
|
||||||
|
- Move am43 sensor code and remove auto load on cover [esphome#4631](https://github.com/esphome/esphome/pull/4631) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
- Fix assumed_state switch webserver [esphome#4259](https://github.com/esphome/esphome/pull/4259) by [@RoboMagus](https://github.com/RoboMagus)
|
||||||
|
- Bump aioesphomeapi from 13.7.1 to 13.7.2 [esphome#4753](https://github.com/esphome/esphome/pull/4753) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
|
- Bump git version in Dockerfile [esphome#4763](https://github.com/esphome/esphome/pull/4763) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
- Power down PN532 before deep sleep [esphome#4707](https://github.com/esphome/esphome/pull/4707) by [@tracestep](https://github.com/tracestep)
|
||||||
|
- Switch ESPAsyncTCP-esphome to esphome fork [esphome#4764](https://github.com/esphome/esphome/pull/4764) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
- Bump pyupgrade from 3.3.1 to 3.3.2 [esphome#4751](https://github.com/esphome/esphome/pull/4751) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
|
- Only pre-install libraries in docker images [esphome#4766](https://github.com/esphome/esphome/pull/4766) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
- Add PCA6416A Support [esphome#4681](https://github.com/esphome/esphome/pull/4681) by [@Mat931](https://github.com/Mat931) (new-integration)
|
||||||
|
- play_folder bugfix and addition of play_mp3 [esphome#4758](https://github.com/esphome/esphome/pull/4758) by [@llluis](https://github.com/llluis)
|
||||||
|
- RF Codec for Drayton Digistat heating controller [esphome#4494](https://github.com/esphome/esphome/pull/4494) by [@marshn](https://github.com/marshn)
|
||||||
|
- Add support for hyt271 [esphome#4282](https://github.com/esphome/esphome/pull/4282) by [@Philippe12](https://github.com/Philippe12) (new-integration)
|
||||||
|
- Add support for BLE passkey authentication [esphome#4258](https://github.com/esphome/esphome/pull/4258) by [@Mat931](https://github.com/Mat931)
|
||||||
|
- Add support for V2 of the waveshare 5.83in e-paper display. [esphome#3660](https://github.com/esphome/esphome/pull/3660) by [@cooki35](https://github.com/cooki35)
|
||||||
|
- Max6956 support added [esphome#3764](https://github.com/esphome/esphome/pull/3764) by [@looping40](https://github.com/looping40) (new-integration)
|
||||||
|
- Bump zeroconf from 0.56.0 to 0.60.0 [esphome#4767](https://github.com/esphome/esphome/pull/4767) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
|
- Revert "Template sensors always publish on update interval (#2224)" [esphome#4774](https://github.com/esphome/esphome/pull/4774) by [@nuttytree](https://github.com/nuttytree) (breaking-change)
|
||||||
|
- update schema gen to 2023.4.0 [esphome#4772](https://github.com/esphome/esphome/pull/4772) by [@glmnet](https://github.com/glmnet)
|
||||||
|
- Speaker support [esphome#4743](https://github.com/esphome/esphome/pull/4743) by [@jesserockz](https://github.com/jesserockz) (new-integration)
|
||||||
|
- Add gp8403 output component [esphome#4495](https://github.com/esphome/esphome/pull/4495) by [@jesserockz](https://github.com/jesserockz) (new-integration)
|
||||||
|
- Create esp32 rmt addressable light driver [esphome#4708](https://github.com/esphome/esphome/pull/4708) by [@jesserockz](https://github.com/jesserockz) (new-integration)
|
||||||
|
- Bump ESP32-audioI2s to 2.0.7 [esphome#4796](https://github.com/esphome/esphome/pull/4796) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
- SM2135 Add optional current configuration, avoid communication failures. [esphome#3850](https://github.com/esphome/esphome/pull/3850) by [@BoukeHaarsma23](https://github.com/BoukeHaarsma23)
|
||||||
|
- Fix ezo parsing [esphome#4792](https://github.com/esphome/esphome/pull/4792) by [@alfredopironti](https://github.com/alfredopironti)
|
||||||
|
- [ili9xxx] Improve fill operation performance [esphome#4702](https://github.com/esphome/esphome/pull/4702) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
|
||||||
|
- Add host target platform [esphome#4783](https://github.com/esphome/esphome/pull/4783) by [@jesserockz](https://github.com/jesserockz) (new-integration)
|
||||||
|
- Add more envs to root platformio [esphome#4799](https://github.com/esphome/esphome/pull/4799) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
- Keep Unit of Measurement in Flash. [esphome#4719](https://github.com/esphome/esphome/pull/4719) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
|
||||||
|
- [display] Small display print performance improvement [esphome#4788](https://github.com/esphome/esphome/pull/4788) by [@Fabian-Schmidt](https://github.com/Fabian-Schmidt)
|
||||||
|
- Fixed calculation of start and end dhcp range [esphome#4785](https://github.com/esphome/esphome/pull/4785) by [@HeMan](https://github.com/HeMan)
|
||||||
|
- Add more configuration for microphones - i2s/pdm/adc [esphome#4775](https://github.com/esphome/esphome/pull/4775) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
- Wrap VA code [esphome#4800](https://github.com/esphome/esphome/pull/4800) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
- Make i2s_audio bclk_pin optional [esphome#4801](https://github.com/esphome/esphome/pull/4801) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
- Validate project details are set for dashboard_import [esphome#4802](https://github.com/esphome/esphome/pull/4802) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# ESPHome Home Assistant Add-On
|
# ESPHome Add-On
|
||||||
|
|
||||||
[](https://esphome.io/)
|
[](https://esphome.io/)
|
||||||
|
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
{
|
|
||||||
"advanced": true,
|
|
||||||
"arch": [
|
|
||||||
"amd64",
|
|
||||||
"armv7",
|
|
||||||
"aarch64"
|
|
||||||
],
|
|
||||||
"auth_api": true,
|
|
||||||
"backup_exclude": [
|
|
||||||
"*/*/"
|
|
||||||
],
|
|
||||||
"description": "Beta version of ESPHome add-on",
|
|
||||||
"hassio_api": true,
|
|
||||||
"host_network": true,
|
|
||||||
"image": "ghcr.io/esphome/esphome-hassio-{arch}",
|
|
||||||
"ingress": true,
|
|
||||||
"ingress_port": 0,
|
|
||||||
"map": [
|
|
||||||
"ssl:ro",
|
|
||||||
"config:rw"
|
|
||||||
],
|
|
||||||
"name": "ESPHome (beta)",
|
|
||||||
"panel_icon": "mdi:chip",
|
|
||||||
"ports": {
|
|
||||||
"6052/tcp": null
|
|
||||||
},
|
|
||||||
"ports_description": {
|
|
||||||
"6052/tcp": "Web interface (not required for Home Assistant ingress)"
|
|
||||||
},
|
|
||||||
"schema": {
|
|
||||||
"certfile": "str?",
|
|
||||||
"keyfile": "str?",
|
|
||||||
"leave_front_door_open": "bool?",
|
|
||||||
"relative_url": "str?",
|
|
||||||
"ssl": "bool?",
|
|
||||||
"status_use_ping": "bool?",
|
|
||||||
"streamer_mode": "bool?"
|
|
||||||
},
|
|
||||||
"slug": "esphome-beta",
|
|
||||||
"stage": "experimental",
|
|
||||||
"uart": true,
|
|
||||||
"url": "https://beta.esphome.io/",
|
|
||||||
"version": "2022.2.2"
|
|
||||||
}
|
|
||||||
42
esphome-beta/config.yaml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
---
|
||||||
|
url: https://beta.esphome.io/
|
||||||
|
arch:
|
||||||
|
- amd64
|
||||||
|
- armv7
|
||||||
|
- aarch64
|
||||||
|
hassio_api: true
|
||||||
|
auth_api: true
|
||||||
|
host_network: true
|
||||||
|
ingress: true
|
||||||
|
ingress_port: 0
|
||||||
|
panel_icon: mdi:chip
|
||||||
|
uart: true
|
||||||
|
ports:
|
||||||
|
6052/tcp: null
|
||||||
|
map:
|
||||||
|
- ssl:ro
|
||||||
|
- config:rw
|
||||||
|
discovery:
|
||||||
|
- esphome
|
||||||
|
schema:
|
||||||
|
status_use_ping: bool?
|
||||||
|
streamer_mode: bool?
|
||||||
|
home_assistant_dashboard_integration: bool?
|
||||||
|
default_compile_process_limit: int(1,)?
|
||||||
|
ssl: bool?
|
||||||
|
certfile: str?
|
||||||
|
keyfile: str?
|
||||||
|
relative_url: str?
|
||||||
|
leave_front_door_open: bool?
|
||||||
|
backup_exclude:
|
||||||
|
- '*/*/'
|
||||||
|
init: false
|
||||||
|
name: ESPHome (beta)
|
||||||
|
version: 2023.5.0b1
|
||||||
|
slug: esphome-beta
|
||||||
|
description: Beta version of ESPHome add-on
|
||||||
|
image: ghcr.io/esphome/esphome-hassio
|
||||||
|
stage: experimental
|
||||||
|
advanced: true
|
||||||
|
options:
|
||||||
|
home_assistant_dashboard_integration: false
|
||||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
67
esphome-beta/translations/en.yaml
Normal 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)
|
||||||
@@ -1,40 +1,31 @@
|
|||||||
# Home Assistant Community Add-on: ESPHome
|
# ESPHome DEV add on
|
||||||
|
|
||||||
## Installation
|
This is **development** version of the ESPHome add on.
|
||||||
|
|
||||||
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
|
To deploy production nodes please use mainstream release add on.
|
||||||
|
|
||||||
1. Search for the “ESPHome” add-on in the Supervisor add-on store.
|
The add on uses a version of ESPHome built automatically every day at 02:00 UTC. and is used to test components in development. See the `esphome_fork` configuration below to properly configure the add on. Once you update the configuration make sure to rebuild the image.
|
||||||
2. Press install to download the add-on and unpack it on your machine. This can take some time.
|
|
||||||
3. Optional: If you're using SSL/TLS certificates and want to encrypt your communication to this add-on, please enter `true` into the `ssl` field and set the `fullchain` and `certfile` options accordingly.
|
|
||||||
4. Start the add-on, check the logs of the add-on to see if everything went well.
|
|
||||||
5. Click "OPEN WEB UI" to open the ESPHome dashboard. You will be asked for your Home Assistant credentials - ESPHome uses Home Assistant's authentication system to log you in.
|
|
||||||
|
|
||||||
You can view the ESPHome documentation at https://esphome.io/
|
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
**Note**: _Remember to restart the add-on when the configuration is changed._
|
**Note**: _Remember to restart the add-on when the configuration is changed._
|
||||||
|
|
||||||
Example add-on configuration:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"ssl": false,
|
|
||||||
"certfile": "fullchain.pem",
|
|
||||||
"keyfile": "privkey.pem"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Option: `esphome_fork`
|
### Option: `esphome_fork`
|
||||||
|
|
||||||
Install ESPHome from a fork or branch.
|
Install ESPHome from a fork or branch.
|
||||||
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is the PR number,
|
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
|
or you can specify the username of the fork owner and branch `username:branch` which
|
||||||
assumes the repository is named `esphome` still.
|
assumes the repository is named `esphome` still.
|
||||||
|
|
||||||
|
If you need to test the latest commit on dev branch before the image is updated you can enter `dev` here.
|
||||||
|
|
||||||
Please note that the fork or branch you are using **must** be up to date with ESPHome dev
|
Please note that the fork or branch you are using **must** be up to date with ESPHome dev
|
||||||
or the add-on **will not start**.
|
or the add-on **will not start**.
|
||||||
|
|
||||||
|
|
||||||
|
## General ESPHome add on configurations
|
||||||
|
|
||||||
|
General options also available in other versions.
|
||||||
|
|
||||||
### Option: `ssl`
|
### Option: `ssl`
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# ESPHome Home Assistant Add-On
|
# ESPHome Add-On
|
||||||
|
|
||||||
[](https://esphome.io/)
|
[](https://esphome.io/)
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"build_from": {
|
|
||||||
"aarch64": "ghcr.io/esphome/esphome-hassio-aarch64:dev",
|
|
||||||
"amd64": "ghcr.io/esphome/esphome-hassio-amd64:dev",
|
|
||||||
"armv7": "ghcr.io/esphome/esphome-hassio-armv7:dev"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
5
esphome-dev/build.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
build_from:
|
||||||
|
aarch64: ghcr.io/esphome/esphome-hassio:dev
|
||||||
|
amd64: ghcr.io/esphome/esphome-hassio:dev
|
||||||
|
armv7: ghcr.io/esphome/esphome-hassio:dev
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
{
|
|
||||||
"advanced": true,
|
|
||||||
"arch": [
|
|
||||||
"amd64",
|
|
||||||
"armv7",
|
|
||||||
"aarch64"
|
|
||||||
],
|
|
||||||
"auth_api": true,
|
|
||||||
"backup_exclude": [
|
|
||||||
"*/*/"
|
|
||||||
],
|
|
||||||
"description": "Development version of ESPHome add-on",
|
|
||||||
"hassio_api": true,
|
|
||||||
"host_network": true,
|
|
||||||
"ingress": true,
|
|
||||||
"ingress_port": 0,
|
|
||||||
"map": [
|
|
||||||
"ssl:ro",
|
|
||||||
"config:rw"
|
|
||||||
],
|
|
||||||
"name": "ESPHome (dev)",
|
|
||||||
"panel_icon": "mdi:chip",
|
|
||||||
"ports": {
|
|
||||||
"6052/tcp": null
|
|
||||||
},
|
|
||||||
"ports_description": {
|
|
||||||
"6052/tcp": "Web interface (not required for Home Assistant ingress)"
|
|
||||||
},
|
|
||||||
"schema": {
|
|
||||||
"certfile": "str?",
|
|
||||||
"esphome_fork": "str?",
|
|
||||||
"keyfile": "str?",
|
|
||||||
"leave_front_door_open": "bool?",
|
|
||||||
"relative_url": "str?",
|
|
||||||
"ssl": "bool?",
|
|
||||||
"status_use_ping": "bool?",
|
|
||||||
"streamer_mode": "bool?"
|
|
||||||
},
|
|
||||||
"slug": "esphome-dev",
|
|
||||||
"stage": "experimental",
|
|
||||||
"uart": true,
|
|
||||||
"url": "https://next.esphome.io/",
|
|
||||||
"version": "dev"
|
|
||||||
}
|
|
||||||
42
esphome-dev/config.yaml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
---
|
||||||
|
url: https://next.esphome.io/
|
||||||
|
arch:
|
||||||
|
- amd64
|
||||||
|
- armv7
|
||||||
|
- aarch64
|
||||||
|
hassio_api: true
|
||||||
|
auth_api: true
|
||||||
|
host_network: true
|
||||||
|
ingress: true
|
||||||
|
ingress_port: 0
|
||||||
|
panel_icon: mdi:chip
|
||||||
|
uart: true
|
||||||
|
ports:
|
||||||
|
6052/tcp: null
|
||||||
|
map:
|
||||||
|
- ssl:ro
|
||||||
|
- config:rw
|
||||||
|
discovery:
|
||||||
|
- esphome
|
||||||
|
schema:
|
||||||
|
status_use_ping: bool?
|
||||||
|
streamer_mode: bool?
|
||||||
|
home_assistant_dashboard_integration: bool?
|
||||||
|
default_compile_process_limit: int(1,)?
|
||||||
|
esphome_fork: str?
|
||||||
|
ssl: bool?
|
||||||
|
certfile: str?
|
||||||
|
keyfile: str?
|
||||||
|
relative_url: str?
|
||||||
|
leave_front_door_open: bool?
|
||||||
|
backup_exclude:
|
||||||
|
- '*/*/'
|
||||||
|
init: false
|
||||||
|
name: ESPHome (dev)
|
||||||
|
version: dev
|
||||||
|
slug: esphome-dev
|
||||||
|
description: Development version of ESPHome add-on
|
||||||
|
stage: experimental
|
||||||
|
advanced: true
|
||||||
|
options:
|
||||||
|
home_assistant_dashboard_integration: false
|
||||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
7
esphome-dev/rootfs/etc/cont-init.d/30-esphome-fork.sh
Normal file → Executable file
@@ -25,10 +25,11 @@ if bashio::config.has_value 'esphome_fork'; then
|
|||||||
curl -L -o /tmp/esphome.tar.gz "${full_url}" -qq \
|
curl -L -o /tmp/esphome.tar.gz "${full_url}" -qq \
|
||||||
|| bashio::exit.nok "Failed downloading ESPHome fork."
|
|| bashio::exit.nok "Failed downloading ESPHome fork."
|
||||||
bashio::log.info "Installing ESPHome from fork '${esphome_fork}' (${full_url})..."
|
bashio::log.info "Installing ESPHome from fork '${esphome_fork}' (${full_url})..."
|
||||||
mkdir /esphome-fork
|
rm -rf /esphome || bashio::exit.nok "Failed to remove ESPHome."
|
||||||
tar -zxf /tmp/esphome.tar.gz -C /esphome-fork --strip-components=1 \
|
mkdir /esphome
|
||||||
|
tar -zxf /tmp/esphome.tar.gz -C /esphome --strip-components=1 \
|
||||||
|| bashio::exit.nok "Failed installing ESPHome from fork."
|
|| bashio::exit.nok "Failed installing ESPHome from fork."
|
||||||
pip install -U -e /esphome-fork || bashio::exit.nok "Failed installing ESPHome from fork."
|
pip install -U -e /esphome || bashio::exit.nok "Failed installing ESPHome from fork."
|
||||||
rm -f /tmp/esphome.tar.gz
|
rm -f /tmp/esphome.tar.gz
|
||||||
fork_version=$(python3 -c "from esphome.const import __version__; print(__version__)")
|
fork_version=$(python3 -c "from esphome.const import __version__; print(__version__)")
|
||||||
|
|
||||||
|
|||||||
67
esphome-dev/translations/en.yaml
Normal 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)
|
||||||
@@ -1 +1,4 @@
|
|||||||
See https://esphome.io/changelog/index.html
|
## 2023.4.4
|
||||||
|
|
||||||
|
- Fixes for Arduino 2.7.4 (for FastLED) [esphome#4777](https://github.com/esphome/esphome/pull/4777) by [@timn](https://github.com/timn)
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# ESPHome Home Assistant Add-On
|
# ESPHome Add-On
|
||||||
|
|
||||||
[](https://esphome.io/)
|
[](https://esphome.io/)
|
||||||
|
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
{
|
|
||||||
"arch": [
|
|
||||||
"amd64",
|
|
||||||
"armv7",
|
|
||||||
"aarch64"
|
|
||||||
],
|
|
||||||
"auth_api": true,
|
|
||||||
"backup_exclude": [
|
|
||||||
"*/*/"
|
|
||||||
],
|
|
||||||
"description": "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices",
|
|
||||||
"hassio_api": true,
|
|
||||||
"host_network": true,
|
|
||||||
"image": "ghcr.io/esphome/esphome-hassio-{arch}",
|
|
||||||
"ingress": true,
|
|
||||||
"ingress_port": 0,
|
|
||||||
"map": [
|
|
||||||
"ssl:ro",
|
|
||||||
"config:rw"
|
|
||||||
],
|
|
||||||
"name": "ESPHome",
|
|
||||||
"panel_icon": "mdi:chip",
|
|
||||||
"ports": {
|
|
||||||
"6052/tcp": null
|
|
||||||
},
|
|
||||||
"ports_description": {
|
|
||||||
"6052/tcp": "Web interface (not required for Home Assistant ingress)"
|
|
||||||
},
|
|
||||||
"schema": {
|
|
||||||
"certfile": "str?",
|
|
||||||
"keyfile": "str?",
|
|
||||||
"leave_front_door_open": "bool?",
|
|
||||||
"relative_url": "str?",
|
|
||||||
"ssl": "bool?",
|
|
||||||
"status_use_ping": "bool?",
|
|
||||||
"streamer_mode": "bool?"
|
|
||||||
},
|
|
||||||
"slug": "esphome",
|
|
||||||
"uart": true,
|
|
||||||
"url": "https://esphome.io/",
|
|
||||||
"version": "2022.2.2"
|
|
||||||
}
|
|
||||||
38
esphome/config.yaml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
url: https://esphome.io/
|
||||||
|
arch:
|
||||||
|
- amd64
|
||||||
|
- armv7
|
||||||
|
- aarch64
|
||||||
|
hassio_api: true
|
||||||
|
auth_api: true
|
||||||
|
host_network: true
|
||||||
|
ingress: true
|
||||||
|
ingress_port: 0
|
||||||
|
panel_icon: mdi:chip
|
||||||
|
uart: true
|
||||||
|
ports:
|
||||||
|
6052/tcp: null
|
||||||
|
map:
|
||||||
|
- ssl:ro
|
||||||
|
- config:rw
|
||||||
|
discovery:
|
||||||
|
- esphome
|
||||||
|
schema:
|
||||||
|
status_use_ping: bool?
|
||||||
|
streamer_mode: bool?
|
||||||
|
home_assistant_dashboard_integration: bool?
|
||||||
|
default_compile_process_limit: int(1,)?
|
||||||
|
ssl: bool?
|
||||||
|
certfile: str?
|
||||||
|
keyfile: str?
|
||||||
|
relative_url: str?
|
||||||
|
leave_front_door_open: bool?
|
||||||
|
backup_exclude:
|
||||||
|
- '*/*/'
|
||||||
|
init: false
|
||||||
|
name: ESPHome
|
||||||
|
version: 2023.4.4
|
||||||
|
slug: esphome
|
||||||
|
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
|
||||||
|
image: ghcr.io/esphome/esphome-hassio
|
||||||
BIN
esphome/logo.png
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
67
esphome/translations/en.yaml
Normal 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)
|
||||||
@@ -4,7 +4,6 @@ import argparse
|
|||||||
import yaml
|
import yaml
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
import json
|
|
||||||
from shutil import copyfile
|
from shutil import copyfile
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
@@ -34,9 +33,9 @@ def main(args):
|
|||||||
conf = config[f"esphome-{channel.value}"]
|
conf = config[f"esphome-{channel.value}"]
|
||||||
base_image = conf.pop("base_image", None)
|
base_image = conf.pop("base_image", None)
|
||||||
dir_ = root / conf.pop("directory")
|
dir_ = root / conf.pop("directory")
|
||||||
path = dir_ / "config.json"
|
path = dir_ / "config.yaml"
|
||||||
with open(path, "w") as f:
|
with open(path, "w") as f:
|
||||||
json.dump(conf, f, indent=2, sort_keys=True)
|
yaml.dump(conf, f, indent=2, sort_keys=False, explicit_start=True)
|
||||||
|
|
||||||
for file_, conf_ in copyf.items():
|
for file_, conf_ in copyf.items():
|
||||||
if Path.exists(templ / channel.value / file_):
|
if Path.exists(templ / channel.value / file_):
|
||||||
@@ -49,16 +48,14 @@ def main(args):
|
|||||||
f.write("Any edits should be made to the files in the 'template' directory")
|
f.write("Any edits should be made to the files in the 'template' directory")
|
||||||
|
|
||||||
if channel == Channel.dev:
|
if channel == Channel.dev:
|
||||||
path = dir_ / "build.json"
|
path = dir_ / "build.yaml"
|
||||||
build_conf = {
|
build_conf = {
|
||||||
"build_from": {
|
"build_from": {
|
||||||
arch: base_image.format(arch=arch) for arch in conf["arch"]
|
arch: base_image for arch in conf["arch"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
with open(path, "w") as f:
|
with open(path, "w") as f:
|
||||||
json.dump(build_conf, f, indent=2, sort_keys=True)
|
yaml.dump(build_conf, f, indent=2, sort_keys=True, explicit_start=True)
|
||||||
|
|
||||||
print(f"Wrote {path}")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
PyYAML==5.4
|
PyYAML==6.0
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
See https://esphome.io/changelog/index.html
|
|
||||||
@@ -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.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# ESPHome Home Assistant Add-On
|
# ESPHome Add-On
|
||||||
|
|
||||||
[](https://esphome.io/)
|
[](https://esphome.io/)
|
||||||
|
|
||||||
|
|||||||
@@ -21,21 +21,25 @@ base: &base
|
|||||||
uart: true
|
uart: true
|
||||||
ports:
|
ports:
|
||||||
'6052/tcp': null
|
'6052/tcp': null
|
||||||
ports_description:
|
|
||||||
'6052/tcp': "Web interface (not required for Home Assistant ingress)"
|
|
||||||
map:
|
map:
|
||||||
- ssl:ro
|
- ssl:ro
|
||||||
- config:rw
|
- config:rw
|
||||||
|
discovery:
|
||||||
|
- esphome
|
||||||
schema:
|
schema:
|
||||||
|
status_use_ping: bool?
|
||||||
|
streamer_mode: bool?
|
||||||
|
home_assistant_dashboard_integration: bool?
|
||||||
|
default_compile_process_limit: int(1,)?
|
||||||
ssl: bool?
|
ssl: bool?
|
||||||
certfile: str?
|
certfile: str?
|
||||||
keyfile: str?
|
keyfile: str?
|
||||||
leave_front_door_open: bool?
|
|
||||||
streamer_mode: bool?
|
|
||||||
relative_url: str?
|
relative_url: str?
|
||||||
status_use_ping: bool?
|
leave_front_door_open: bool?
|
||||||
backup_exclude:
|
backup_exclude:
|
||||||
- "*/*/"
|
- "*/*/"
|
||||||
|
# Disable docker init for s6
|
||||||
|
init: false
|
||||||
|
|
||||||
esphome-dev:
|
esphome-dev:
|
||||||
<<: *base
|
<<: *base
|
||||||
@@ -48,40 +52,46 @@ esphome-dev:
|
|||||||
stage: experimental
|
stage: experimental
|
||||||
advanced: true
|
advanced: true
|
||||||
schema:
|
schema:
|
||||||
|
status_use_ping: bool?
|
||||||
|
streamer_mode: bool?
|
||||||
|
home_assistant_dashboard_integration: bool?
|
||||||
|
default_compile_process_limit: int(1,)?
|
||||||
|
esphome_fork: str?
|
||||||
ssl: bool?
|
ssl: bool?
|
||||||
certfile: str?
|
certfile: str?
|
||||||
keyfile: str?
|
keyfile: str?
|
||||||
leave_front_door_open: bool?
|
|
||||||
streamer_mode: bool?
|
|
||||||
relative_url: str?
|
relative_url: str?
|
||||||
status_use_ping: bool?
|
leave_front_door_open: bool?
|
||||||
esphome_fork: str?
|
base_image: ghcr.io/esphome/esphome-hassio:dev
|
||||||
base_image: ghcr.io/esphome/esphome-hassio-{arch}: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.2.2' # BETA
|
version: '2023.5.0b1' # 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-{arch}
|
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.2.2' # STABLE
|
version: '2023.4.4' # 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-{arch}
|
image: ghcr.io/esphome/esphome-hassio
|
||||||
|
|
||||||
copy_files:
|
copy_files:
|
||||||
|
DOCS.md:
|
||||||
icon.png:
|
icon.png:
|
||||||
logo.png:
|
logo.png:
|
||||||
README.md:
|
README.md:
|
||||||
DOCS.md:
|
translations/en.yaml:
|
||||||
CHANGELOG.md:
|
|
||||||
|
|||||||
@@ -1,40 +1,31 @@
|
|||||||
# Home Assistant Community Add-on: ESPHome
|
# ESPHome DEV add on
|
||||||
|
|
||||||
## Installation
|
This is **development** version of the ESPHome add on.
|
||||||
|
|
||||||
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
|
To deploy production nodes please use mainstream release add on.
|
||||||
|
|
||||||
1. Search for the “ESPHome” add-on in the Supervisor add-on store.
|
The add on uses a version of ESPHome built automatically every day at 02:00 UTC. and is used to test components in development. See the `esphome_fork` configuration below to properly configure the add on. Once you update the configuration make sure to rebuild the image.
|
||||||
2. Press install to download the add-on and unpack it on your machine. This can take some time.
|
|
||||||
3. Optional: If you're using SSL/TLS certificates and want to encrypt your communication to this add-on, please enter `true` into the `ssl` field and set the `fullchain` and `certfile` options accordingly.
|
|
||||||
4. Start the add-on, check the logs of the add-on to see if everything went well.
|
|
||||||
5. Click "OPEN WEB UI" to open the ESPHome dashboard. You will be asked for your Home Assistant credentials - ESPHome uses Home Assistant's authentication system to log you in.
|
|
||||||
|
|
||||||
You can view the ESPHome documentation at https://esphome.io/
|
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
**Note**: _Remember to restart the add-on when the configuration is changed._
|
**Note**: _Remember to restart the add-on when the configuration is changed._
|
||||||
|
|
||||||
Example add-on configuration:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"ssl": false,
|
|
||||||
"certfile": "fullchain.pem",
|
|
||||||
"keyfile": "privkey.pem"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Option: `esphome_fork`
|
### Option: `esphome_fork`
|
||||||
|
|
||||||
Install ESPHome from a fork or branch.
|
Install ESPHome from a fork or branch.
|
||||||
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is the PR number,
|
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
|
or you can specify the username of the fork owner and branch `username:branch` which
|
||||||
assumes the repository is named `esphome` still.
|
assumes the repository is named `esphome` still.
|
||||||
|
|
||||||
|
If you need to test the latest commit on dev branch before the image is updated you can enter `dev` here.
|
||||||
|
|
||||||
Please note that the fork or branch you are using **must** be up to date with ESPHome dev
|
Please note that the fork or branch you are using **must** be up to date with ESPHome dev
|
||||||
or the add-on **will not start**.
|
or the add-on **will not start**.
|
||||||
|
|
||||||
|
|
||||||
|
## General ESPHome add on configurations
|
||||||
|
|
||||||
|
General options also available in other versions.
|
||||||
|
|
||||||
### Option: `ssl`
|
### Option: `ssl`
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
67
template/translations/en.yaml
Normal 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)
|
||||||