Compare commits
124 Commits
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
|
||||||
69
.github/workflows/bump-version.yml
vendored
@@ -6,71 +6,54 @@ 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.3.0
|
||||||
- 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: |
|
||||||
git config user.name esphomebot
|
git config user.name esphomebot
|
||||||
git config user.email esphome@nabucasa.com
|
git config user.email esphome@nabucasa.com
|
||||||
git add .
|
git add .
|
||||||
git commit -m "Bump version to v${{ github.event.inputs.version }}"
|
git commit -m "Bump version to ${{ github.event.inputs.version }}"
|
||||||
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
|
|
||||||
run: |
|
|
||||||
docker run --rm hassioaddons/repository-updater:latest \
|
|
||||||
--repository hassio-addons/repository-beta \
|
|
||||||
--addon esphome \
|
|
||||||
--token "${TOKEN}"
|
|
||||||
env:
|
|
||||||
TOKEN: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}
|
|
||||||
- if: ${{ !contains(github.event.inputs.version, 'b') }}
|
|
||||||
name: Publish stable release to community-addons repository
|
|
||||||
run: |
|
|
||||||
docker run --rm hassioaddons/repository-updater:latest \
|
|
||||||
--repository hassio-addons/repository \
|
|
||||||
--addon esphome \
|
|
||||||
--token "${TOKEN}"
|
|
||||||
env:
|
|
||||||
TOKEN: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}
|
|
||||||
|
|||||||
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.3.0
|
||||||
|
- 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.2.1
|
||||||
|
- name: Build and Push
|
||||||
|
uses: docker/build-push-action@v3.3.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.3.0
|
||||||
- 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.11.0
|
||||||
with:
|
with:
|
||||||
path: "./${{ matrix.channels.folder }}"
|
path: "./${{ matrix.channels.folder }}"
|
||||||
|
|||||||
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
__pycache__/
|
__pycache__/
|
||||||
*.py[cod]
|
*.py[cod]
|
||||||
*$py.class
|
*$py.class
|
||||||
|
venv/
|
||||||
|
|||||||
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,4 @@
|
|||||||
See https://esphome.io/changelog/index.html
|
## 2023.2.1
|
||||||
|
|
||||||
|
- Add ESPHome version to generated platformio.ini [esphome#4443](https://github.com/esphome/esphome/pull/4443) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
|
||||||
|
|||||||
@@ -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.1.3"
|
|
||||||
}
|
|
||||||
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.2.1
|
||||||
|
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,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.2.1
|
||||||
|
|
||||||
|
- Add ESPHome version to generated platformio.ini [esphome#4443](https://github.com/esphome/esphome/pull/4443) by [@jesserockz](https://github.com/jesserockz)
|
||||||
|
|
||||||
|
|||||||
@@ -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.1.3"
|
|
||||||
}
|
|
||||||
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.2.1
|
||||||
|
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
|
||||||
|
|||||||
@@ -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,47 @@ 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.1.3' # BETA
|
version: '2023.2.1' # 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.1.3' # STABLE
|
version: '2023.2.1' # 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:
|
||||||
|
CHANGELOG.md:
|
||||||
|
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)
|
||||||