Compare commits
22 Commits
@@ -51,15 +51,6 @@ The private key file to use for SSL. If this file doesn't exist, the add-on star
|
|||||||
Adding this option to the add-on configuration allows you to disable
|
Adding this option to the add-on configuration allows you to disable
|
||||||
authentication by setting it to `true`.
|
authentication by setting it to `true`.
|
||||||
|
|
||||||
### Option: `esphome_version`
|
|
||||||
|
|
||||||
Manually override which ESPHome version to use in the add-on.
|
|
||||||
For example to install the latest development version, use `"esphome_version": "dev"`,
|
|
||||||
or for version 1.14.0: `"esphome_version": "v1.14.0""`.
|
|
||||||
|
|
||||||
Please note that this does not always work and is only meant for testing, usually the
|
|
||||||
ESPHome add-on and dashboard version must match to guarantee a working system.
|
|
||||||
|
|
||||||
### Option: `relative_url`
|
### Option: `relative_url`
|
||||||
|
|
||||||
Host the ESPHome dashboard under a relative URL, so that it can be integrated
|
Host the ESPHome dashboard under a relative URL, so that it can be integrated
|
||||||
|
|||||||
@@ -5,6 +5,9 @@
|
|||||||
"aarch64"
|
"aarch64"
|
||||||
],
|
],
|
||||||
"auth_api": true,
|
"auth_api": true,
|
||||||
|
"backup_exclude": [
|
||||||
|
"*/*/"
|
||||||
|
],
|
||||||
"description": "Beta version of ESPHome add-on",
|
"description": "Beta version of ESPHome add-on",
|
||||||
"hassio_api": true,
|
"hassio_api": true,
|
||||||
"host_network": true,
|
"host_network": true,
|
||||||
@@ -25,7 +28,6 @@
|
|||||||
},
|
},
|
||||||
"schema": {
|
"schema": {
|
||||||
"certfile": "str?",
|
"certfile": "str?",
|
||||||
"esphome_version": "str?",
|
|
||||||
"keyfile": "str?",
|
"keyfile": "str?",
|
||||||
"leave_front_door_open": "bool?",
|
"leave_front_door_open": "bool?",
|
||||||
"relative_url": "str?",
|
"relative_url": "str?",
|
||||||
@@ -34,11 +36,8 @@
|
|||||||
"streamer_mode": "bool?"
|
"streamer_mode": "bool?"
|
||||||
},
|
},
|
||||||
"slug": "esphome-beta",
|
"slug": "esphome-beta",
|
||||||
"snapshot_exclude": [
|
|
||||||
"*/*/"
|
|
||||||
],
|
|
||||||
"stage": "experimental",
|
"stage": "experimental",
|
||||||
"uart": true,
|
"uart": true,
|
||||||
"url": "https://beta.esphome.io/",
|
"url": "https://beta.esphome.io/",
|
||||||
"version": "1.20.2"
|
"version": "2021.9.1"
|
||||||
}
|
}
|
||||||
@@ -26,6 +26,16 @@ Example add-on configuration:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Option: `esphome_fork`
|
||||||
|
|
||||||
|
Install ESPHome from a fork or branch.
|
||||||
|
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is the PR number,
|
||||||
|
or you can specify the username of the fork owner and branch `username:branch` which
|
||||||
|
assumes the repository is named `esphome` still.
|
||||||
|
|
||||||
|
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**.
|
||||||
|
|
||||||
### Option: `ssl`
|
### Option: `ssl`
|
||||||
|
|
||||||
Enables or disables encrypted SSL/TLS (HTTPS) connections to the web server of this add-on.
|
Enables or disables encrypted SSL/TLS (HTTPS) connections to the web server of this add-on.
|
||||||
@@ -51,15 +61,6 @@ The private key file to use for SSL. If this file doesn't exist, the add-on star
|
|||||||
Adding this option to the add-on configuration allows you to disable
|
Adding this option to the add-on configuration allows you to disable
|
||||||
authentication by setting it to `true`.
|
authentication by setting it to `true`.
|
||||||
|
|
||||||
### Option: `esphome_version`
|
|
||||||
|
|
||||||
Manually override which ESPHome version to use in the add-on.
|
|
||||||
For example to install the latest development version, use `"esphome_version": "dev"`,
|
|
||||||
or for version 1.14.0: `"esphome_version": "v1.14.0""`.
|
|
||||||
|
|
||||||
Please note that this does not always work and is only meant for testing, usually the
|
|
||||||
ESPHome add-on and dashboard version must match to guarantee a working system.
|
|
||||||
|
|
||||||
### Option: `relative_url`
|
### Option: `relative_url`
|
||||||
|
|
||||||
Host the ESPHome dashboard under a relative URL, so that it can be integrated
|
Host the ESPHome dashboard under a relative URL, so that it can be integrated
|
||||||
|
|||||||
@@ -5,7 +5,10 @@
|
|||||||
"aarch64"
|
"aarch64"
|
||||||
],
|
],
|
||||||
"auth_api": true,
|
"auth_api": true,
|
||||||
"description": "Development Version! Manage and program ESP8266/ESP32 microcontrollers through YAML configuration files",
|
"backup_exclude": [
|
||||||
|
"*/*/"
|
||||||
|
],
|
||||||
|
"description": "Development version of ESPHome add-on",
|
||||||
"hassio_api": true,
|
"hassio_api": true,
|
||||||
"host_network": true,
|
"host_network": true,
|
||||||
"ingress": true,
|
"ingress": true,
|
||||||
@@ -15,19 +18,16 @@
|
|||||||
"config:rw"
|
"config:rw"
|
||||||
],
|
],
|
||||||
"name": "ESPHome (dev)",
|
"name": "ESPHome (dev)",
|
||||||
"options": {
|
|
||||||
"esphome_version": "dev"
|
|
||||||
},
|
|
||||||
"panel_icon": "mdi:chip",
|
"panel_icon": "mdi:chip",
|
||||||
"ports": {
|
"ports": {
|
||||||
"6052/tcp": null
|
"6052/tcp": null
|
||||||
},
|
},
|
||||||
"ports_description": {
|
"ports_description": {
|
||||||
"6052/tcp": "Web interface (Not required for Home Assistant Ingress)"
|
"6052/tcp": "Web interface (not required for Home Assistant ingress)"
|
||||||
},
|
},
|
||||||
"schema": {
|
"schema": {
|
||||||
"certfile": "str?",
|
"certfile": "str?",
|
||||||
"esphome_version": "str?",
|
"esphome_fork": "str?",
|
||||||
"keyfile": "str?",
|
"keyfile": "str?",
|
||||||
"leave_front_door_open": "bool?",
|
"leave_front_door_open": "bool?",
|
||||||
"relative_url": "str?",
|
"relative_url": "str?",
|
||||||
@@ -36,9 +36,6 @@
|
|||||||
"streamer_mode": "bool?"
|
"streamer_mode": "bool?"
|
||||||
},
|
},
|
||||||
"slug": "esphome-dev",
|
"slug": "esphome-dev",
|
||||||
"snapshot_exclude": [
|
|
||||||
"*/*/"
|
|
||||||
],
|
|
||||||
"stage": "experimental",
|
"stage": "experimental",
|
||||||
"uart": true,
|
"uart": true,
|
||||||
"url": "https://next.esphome.io/",
|
"url": "https://next.esphome.io/",
|
||||||
|
|||||||
39
esphome-dev/rootfs/etc/cont-init.d/30-esphome-fork.sh
Normal file
39
esphome-dev/rootfs/etc/cont-init.d/30-esphome-fork.sh
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
#!/usr/bin/with-contenv bashio
|
||||||
|
# ==============================================================================
|
||||||
|
# Community Hass.io Add-ons: ESPHome
|
||||||
|
# This files installs the user ESPHome fork if specified
|
||||||
|
# The fork must be up to date with the latest ESPHome dev branch
|
||||||
|
# and have no conflicts
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
declare esphome_fork
|
||||||
|
|
||||||
|
if bashio::config.has_value 'esphome_fork'; then
|
||||||
|
esphome_fork=$(bashio::config 'esphome_fork')
|
||||||
|
if [[ $esphome_fork == *":"* ]]; then
|
||||||
|
IFS=':' read -r -a array <<< "$esphome_fork"
|
||||||
|
username=${array[0]}
|
||||||
|
ref=${array[1]}
|
||||||
|
else
|
||||||
|
username="esphome"
|
||||||
|
ref=$esphome_fork
|
||||||
|
fi
|
||||||
|
full_url="https://github.com/${username}/esphome/archive/${ref}.zip"
|
||||||
|
bashio::log.info "Checking forked ESPHome"
|
||||||
|
dev_version=$(python3 -c "from esphome.const import __version__; print(__version__)")
|
||||||
|
bashio::log.info "Installing esphome from fork '${esphome_fork}' (${full_url})..."
|
||||||
|
pip3 install -U --no-cache-dir "${full_url}" -qq \
|
||||||
|
|| bashio::exit.nok "Failed installing esphome pinned version."
|
||||||
|
fork_version=$(python3 -c "from esphome.const import __version__; print(__version__)")
|
||||||
|
|
||||||
|
if [[ "$fork_version" != "$dev_version" ]]; then
|
||||||
|
bashio::log.error "############################"
|
||||||
|
bashio::log.error "Uninstalled fork as version does not match"
|
||||||
|
bashio::log.error "Update (or ask the author to update) the branch"
|
||||||
|
bashio::log.error "This is important as the dev addon and the dev ESPHome"
|
||||||
|
bashio::log.error "branch can have changes that are not compatible with old forks"
|
||||||
|
bashio::log.error "and get reported as bugs which we cannot solve easily."
|
||||||
|
bashio::log.error "############################"
|
||||||
|
bashio::exit.nok
|
||||||
|
fi
|
||||||
|
fi
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv bashio
|
|
||||||
# ==============================================================================
|
|
||||||
# Community Hass.io Add-ons: ESPHome
|
|
||||||
# This files installs the user ESPHome version if specified
|
|
||||||
# ==============================================================================
|
|
||||||
|
|
||||||
declare esphome_version
|
|
||||||
|
|
||||||
if bashio::config.has_value 'esphome_version'; then
|
|
||||||
esphome_version=$(bashio::config 'esphome_version')
|
|
||||||
if [[ $esphome_version == *":"* ]]; then
|
|
||||||
IFS=':' read -r -a array <<< "$esphome_version"
|
|
||||||
username=${array[0]}
|
|
||||||
ref=${array[1]}
|
|
||||||
else
|
|
||||||
username="esphome"
|
|
||||||
ref=$esphome_version
|
|
||||||
fi
|
|
||||||
full_url="https://github.com/${username}/esphome/archive/${ref}.zip"
|
|
||||||
bashio::log.info "Installing esphome version '${esphome_version}' (${full_url})..."
|
|
||||||
pip3 install -U --no-cache-dir "${full_url}" \
|
|
||||||
|| bashio::exit.nok "Failed installing esphome pinned version."
|
|
||||||
fi
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv bashio
|
|
||||||
# ==============================================================================
|
|
||||||
# Community Hass.io Add-ons: ESPHome
|
|
||||||
# This files migrates the esphome config directory from the old path
|
|
||||||
# ==============================================================================
|
|
||||||
|
|
||||||
if [[ ! -d /config/esphome && -d /config/esphomeyaml ]]; then
|
|
||||||
echo "Moving config directory from /config/esphomeyaml to /config/esphome"
|
|
||||||
mv /config/esphomeyaml /config/esphome
|
|
||||||
mv /config/esphome/.esphomeyaml /config/esphome/.esphome
|
|
||||||
fi
|
|
||||||
@@ -23,4 +23,4 @@ if bashio::config.has_value 'relative_url'; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
bashio::log.info "Starting ESPHome dashboard..."
|
bashio::log.info "Starting ESPHome dashboard..."
|
||||||
exec esphome /config/esphome dashboard --socket /var/run/esphome.sock --hassio
|
exec esphome dashboard /config/esphome --socket /var/run/esphome.sock --hassio
|
||||||
|
|||||||
@@ -51,15 +51,6 @@ The private key file to use for SSL. If this file doesn't exist, the add-on star
|
|||||||
Adding this option to the add-on configuration allows you to disable
|
Adding this option to the add-on configuration allows you to disable
|
||||||
authentication by setting it to `true`.
|
authentication by setting it to `true`.
|
||||||
|
|
||||||
### Option: `esphome_version`
|
|
||||||
|
|
||||||
Manually override which ESPHome version to use in the add-on.
|
|
||||||
For example to install the latest development version, use `"esphome_version": "dev"`,
|
|
||||||
or for version 1.14.0: `"esphome_version": "v1.14.0""`.
|
|
||||||
|
|
||||||
Please note that this does not always work and is only meant for testing, usually the
|
|
||||||
ESPHome add-on and dashboard version must match to guarantee a working system.
|
|
||||||
|
|
||||||
### Option: `relative_url`
|
### Option: `relative_url`
|
||||||
|
|
||||||
Host the ESPHome dashboard under a relative URL, so that it can be integrated
|
Host the ESPHome dashboard under a relative URL, so that it can be integrated
|
||||||
|
|||||||
@@ -5,6 +5,9 @@
|
|||||||
"aarch64"
|
"aarch64"
|
||||||
],
|
],
|
||||||
"auth_api": true,
|
"auth_api": true,
|
||||||
|
"backup_exclude": [
|
||||||
|
"*/*/"
|
||||||
|
],
|
||||||
"description": "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices",
|
"description": "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices",
|
||||||
"hassio_api": true,
|
"hassio_api": true,
|
||||||
"host_network": true,
|
"host_network": true,
|
||||||
@@ -25,7 +28,6 @@
|
|||||||
},
|
},
|
||||||
"schema": {
|
"schema": {
|
||||||
"certfile": "str?",
|
"certfile": "str?",
|
||||||
"esphome_version": "str?",
|
|
||||||
"keyfile": "str?",
|
"keyfile": "str?",
|
||||||
"leave_front_door_open": "bool?",
|
"leave_front_door_open": "bool?",
|
||||||
"relative_url": "str?",
|
"relative_url": "str?",
|
||||||
@@ -34,10 +36,7 @@
|
|||||||
"streamer_mode": "bool?"
|
"streamer_mode": "bool?"
|
||||||
},
|
},
|
||||||
"slug": "esphome",
|
"slug": "esphome",
|
||||||
"snapshot_exclude": [
|
|
||||||
"*/*/"
|
|
||||||
],
|
|
||||||
"uart": true,
|
"uart": true,
|
||||||
"url": "https://esphome.io/",
|
"url": "https://esphome.io/",
|
||||||
"version": "1.20.2"
|
"version": "2021.9.1"
|
||||||
}
|
}
|
||||||
@@ -8,50 +8,58 @@ import json
|
|||||||
from shutil import copyfile
|
from shutil import copyfile
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
class Channel(Enum):
|
class Channel(Enum):
|
||||||
stable = 'stable'
|
stable = "stable"
|
||||||
beta = 'beta'
|
beta = "beta"
|
||||||
dev = 'dev'
|
dev = "dev"
|
||||||
|
|
||||||
|
|
||||||
def main(args):
|
def main(args):
|
||||||
parser = argparse.ArgumentParser(description='Generate ESPHome Home Assistant config.json')
|
parser = argparse.ArgumentParser(
|
||||||
parser.add_argument('channels', nargs='+', type=Channel, choices=list(Channel))
|
description="Generate ESPHome Home Assistant config.json"
|
||||||
|
)
|
||||||
|
parser.add_argument("channels", nargs="+", type=Channel, choices=list(Channel))
|
||||||
args = parser.parse_args(args)
|
args = parser.parse_args(args)
|
||||||
|
|
||||||
root = Path(__file__).parent.parent
|
root = Path(__file__).parent.parent
|
||||||
templ = root / 'template'
|
templ = root / "template"
|
||||||
|
|
||||||
with open(templ / "addon_config.yaml", 'r') as f:
|
with open(templ / "addon_config.yaml", "r") as f:
|
||||||
config = yaml.safe_load(f)
|
config = yaml.safe_load(f)
|
||||||
|
|
||||||
copyf = config['copy_files']
|
copyf = config["copy_files"]
|
||||||
|
|
||||||
for channel in args.channels:
|
for channel in args.channels:
|
||||||
conf = config[f'esphome-{channel.value}']
|
conf = config[f"esphome-{channel.value}"]
|
||||||
base_image = conf.pop('base_image')
|
base_image = conf.pop("base_image")
|
||||||
dir_ = root / conf.pop('directory')
|
dir_ = root / conf.pop("directory")
|
||||||
path = dir_ / 'config.json'
|
path = dir_ / "config.json"
|
||||||
with open(path, 'w') as f:
|
with open(path, "w") as f:
|
||||||
json.dump(conf, f, indent=2, sort_keys=True)
|
json.dump(conf, f, indent=2, sort_keys=True)
|
||||||
|
|
||||||
for file_, conf_ in copyf.items():
|
for file_, conf_ in copyf.items():
|
||||||
copyfile(templ / file_, dir_ / file_)
|
if Path.exists(templ / channel.value / file_):
|
||||||
|
copyfile(templ / channel.value / file_, dir_ / file_)
|
||||||
|
else:
|
||||||
|
copyfile(templ / file_, dir_ / file_)
|
||||||
|
|
||||||
path = dir_ / 'FILES ARE GENERATED DO NOT EDIT'
|
path = dir_ / "FILES ARE GENERATED DO NOT EDIT"
|
||||||
with open(path, 'w') as f:
|
with open(path, "w") as f:
|
||||||
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.json"
|
||||||
build_conf = {
|
build_conf = {
|
||||||
"build_from": {arch: base_image.format(arch=arch) for arch in conf['arch']}
|
"build_from": {
|
||||||
|
arch: base_image.format(arch=arch) 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)
|
json.dump(build_conf, f, indent=2, sort_keys=True)
|
||||||
|
|
||||||
print(f"Wrote {path}")
|
print(f"Wrote {path}")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == "__main__":
|
||||||
main(sys.argv[1:])
|
main(sys.argv[1:])
|
||||||
|
|||||||
@@ -51,15 +51,6 @@ The private key file to use for SSL. If this file doesn't exist, the add-on star
|
|||||||
Adding this option to the add-on configuration allows you to disable
|
Adding this option to the add-on configuration allows you to disable
|
||||||
authentication by setting it to `true`.
|
authentication by setting it to `true`.
|
||||||
|
|
||||||
### Option: `esphome_version`
|
|
||||||
|
|
||||||
Manually override which ESPHome version to use in the add-on.
|
|
||||||
For example to install the latest development version, use `"esphome_version": "dev"`,
|
|
||||||
or for version 1.14.0: `"esphome_version": "v1.14.0""`.
|
|
||||||
|
|
||||||
Please note that this does not always work and is only meant for testing, usually the
|
|
||||||
ESPHome add-on and dashboard version must match to guarantee a working system.
|
|
||||||
|
|
||||||
### Option: `relative_url`
|
### Option: `relative_url`
|
||||||
|
|
||||||
Host the ESPHome dashboard under a relative URL, so that it can be integrated
|
Host the ESPHome dashboard under a relative URL, so that it can be integrated
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
# When changing options in this file, please also run:
|
# When changing options in this file, please also run:
|
||||||
# python3 script/generate.py dev
|
# python3 script/generate.py dev
|
||||||
# to update the dev addon config (beta/stable configs will be updated on next release by release script)
|
# to update the dev addon config (beta/stable configs will be updated on next release by release script)
|
||||||
base: &base
|
base: &base
|
||||||
url: https://esphome.io/
|
url: https://esphome.io/
|
||||||
@@ -31,11 +31,10 @@ base: &base
|
|||||||
certfile: str?
|
certfile: str?
|
||||||
keyfile: str?
|
keyfile: str?
|
||||||
leave_front_door_open: bool?
|
leave_front_door_open: bool?
|
||||||
esphome_version: str?
|
|
||||||
streamer_mode: bool?
|
streamer_mode: bool?
|
||||||
relative_url: str?
|
relative_url: str?
|
||||||
status_use_ping: bool?
|
status_use_ping: bool?
|
||||||
snapshot_exclude:
|
backup_exclude:
|
||||||
- "*/*/"
|
- "*/*/"
|
||||||
base_image: esphome/esphome-hassio-base-{arch}:3.1.0
|
base_image: esphome/esphome-hassio-base-{arch}:3.1.0
|
||||||
|
|
||||||
@@ -48,14 +47,21 @@ esphome-dev:
|
|||||||
description: "Development version of ESPHome add-on"
|
description: "Development version of ESPHome add-on"
|
||||||
url: https://next.esphome.io/
|
url: https://next.esphome.io/
|
||||||
stage: experimental
|
stage: experimental
|
||||||
options:
|
schema:
|
||||||
esphome_version: dev
|
ssl: bool?
|
||||||
|
certfile: str?
|
||||||
|
keyfile: str?
|
||||||
|
leave_front_door_open: bool?
|
||||||
|
streamer_mode: bool?
|
||||||
|
relative_url: str?
|
||||||
|
status_use_ping: bool?
|
||||||
|
esphome_fork: str?
|
||||||
|
|
||||||
esphome-beta:
|
esphome-beta:
|
||||||
<<: *base
|
<<: *base
|
||||||
directory: esphome-beta
|
directory: esphome-beta
|
||||||
name: ESPHome (beta)
|
name: ESPHome (beta)
|
||||||
version: '1.20.2' # BETA
|
version: '2021.9.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/
|
||||||
@@ -66,7 +72,7 @@ esphome-stable:
|
|||||||
<<: *base
|
<<: *base
|
||||||
directory: esphome
|
directory: esphome
|
||||||
name: ESPHome
|
name: ESPHome
|
||||||
version: '1.20.2' # STABLE
|
version: '2021.9.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: esphome/esphome-hassio-{arch}
|
image: esphome/esphome-hassio-{arch}
|
||||||
|
|||||||
82
template/dev/DOCS.md
Normal file
82
template/dev/DOCS.md
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
# Home Assistant Community Add-on: ESPHome
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
|
||||||
|
|
||||||
|
1. Search for the “ESPHome” add-on in the Supervisor add-on store.
|
||||||
|
2. Press install to download the add-on and unpack it on your machine. This can take some time.
|
||||||
|
3. Optional: If you're using SSL/TLS certificates and want to encrypt your communication to this add-on, please enter `true` into the `ssl` field and set the `fullchain` and `certfile` options accordingly.
|
||||||
|
4. Start the add-on, check the logs of the add-on to see if everything went well.
|
||||||
|
5. Click "OPEN WEB UI" to open the ESPHome dashboard. You will be asked for your Home Assistant credentials - ESPHome uses Home Assistant's authentication system to log you in.
|
||||||
|
|
||||||
|
You can view the ESPHome documentation at https://esphome.io/
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
**Note**: _Remember to restart the add-on when the configuration is changed._
|
||||||
|
|
||||||
|
Example add-on configuration:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"ssl": false,
|
||||||
|
"certfile": "fullchain.pem",
|
||||||
|
"keyfile": "privkey.pem"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Option: `esphome_fork`
|
||||||
|
|
||||||
|
Install ESPHome from a fork or branch.
|
||||||
|
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is the PR number,
|
||||||
|
or you can specify the username of the fork owner and branch `username:branch` which
|
||||||
|
assumes the repository is named `esphome` still.
|
||||||
|
|
||||||
|
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**.
|
||||||
|
|
||||||
|
### Option: `ssl`
|
||||||
|
|
||||||
|
Enables or disables encrypted SSL/TLS (HTTPS) connections to the web server of this add-on.
|
||||||
|
Set it to `true` to encrypt communications, `false` otherwise.
|
||||||
|
Please note that if you set this to `true` you must also generate the key and certificate
|
||||||
|
files for encryption. For example using [Let's Encrypt](https://www.home-assistant.io/addons/lets_encrypt/)
|
||||||
|
or [Self-signed certificates](https://www.home-assistant.io/docs/ecosystem/certificates/tls_self_signed_certificate/).
|
||||||
|
|
||||||
|
### Option: `certfile`
|
||||||
|
|
||||||
|
The certificate file to use for SSL. If this file doesn't exist, the add-on start will fail.
|
||||||
|
|
||||||
|
**Note**: The file MUST be stored in `/ssl/`, which is the default for Home Assistant
|
||||||
|
|
||||||
|
### Option: `keyfile`
|
||||||
|
|
||||||
|
The private key file to use for SSL. If this file doesn't exist, the add-on start will fail.
|
||||||
|
|
||||||
|
**Note**: The file MUST be stored in `/ssl/`, which is the default for Home Assistant
|
||||||
|
|
||||||
|
### Option: `leave_front_door_open`
|
||||||
|
|
||||||
|
Adding this option to the add-on configuration allows you to disable
|
||||||
|
authentication by setting it to `true`.
|
||||||
|
|
||||||
|
### Option: `relative_url`
|
||||||
|
|
||||||
|
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 `/`.
|
||||||
|
|
||||||
|
### Option: `status_use_ping`
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Setting this to `true` will make ESPHome use ICMP ping requests to get the node status. Use this if all nodes always have offline status even when they're connected.
|
||||||
|
|
||||||
|
### Option: `streamer_mode`
|
||||||
|
|
||||||
|
If set to `true`, this will enable 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. Please note that you need to use
|
||||||
|
the `!secret` tag in your YAML file to also prevent these from showing up
|
||||||
|
while editing and validating.
|
||||||
Reference in New Issue
Block a user