1
0

Compare commits

...

16 Commits

10 changed files with 42 additions and 81 deletions

Submodule .github/ISSUE_TEMPLATE/feature-requests added at 57ae0cb009

View File

@@ -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
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`
Host the ESPHome dashboard under a relative URL, so that it can be integrated

View File

@@ -5,6 +5,9 @@
"aarch64"
],
"auth_api": true,
"backup_exclude": [
"*/*/"
],
"description": "Beta version of ESPHome add-on",
"hassio_api": true,
"host_network": true,
@@ -25,7 +28,6 @@
},
"schema": {
"certfile": "str?",
"esphome_version": "str?",
"keyfile": "str?",
"leave_front_door_open": "bool?",
"relative_url": "str?",
@@ -34,11 +36,8 @@
"streamer_mode": "bool?"
},
"slug": "esphome-beta",
"snapshot_exclude": [
"*/*/"
],
"stage": "experimental",
"uart": true,
"url": "https://beta.esphome.io/",
"version": "1.20.4"
"version": "2021.9.0"
}

View File

@@ -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
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`
Host the ESPHome dashboard under a relative URL, so that it can be integrated

View File

@@ -5,7 +5,10 @@
"aarch64"
],
"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,
"host_network": true,
"ingress": true,
@@ -15,19 +18,15 @@
"config:rw"
],
"name": "ESPHome (dev)",
"options": {
"esphome_version": "dev"
},
"panel_icon": "mdi:chip",
"ports": {
"6052/tcp": null
},
"ports_description": {
"6052/tcp": "Web interface (Not required for Home Assistant Ingress)"
"6052/tcp": "Web interface (not required for Home Assistant ingress)"
},
"schema": {
"certfile": "str?",
"esphome_version": "str?",
"keyfile": "str?",
"leave_front_door_open": "bool?",
"relative_url": "str?",
@@ -36,9 +35,6 @@
"streamer_mode": "bool?"
},
"slug": "esphome-dev",
"snapshot_exclude": [
"*/*/"
],
"stage": "experimental",
"uart": true,
"url": "https://next.esphome.io/",

View File

@@ -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
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`
Host the ESPHome dashboard under a relative URL, so that it can be integrated

View File

@@ -5,6 +5,9 @@
"aarch64"
],
"auth_api": true,
"backup_exclude": [
"*/*/"
],
"description": "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices",
"hassio_api": true,
"host_network": true,
@@ -25,7 +28,6 @@
},
"schema": {
"certfile": "str?",
"esphome_version": "str?",
"keyfile": "str?",
"leave_front_door_open": "bool?",
"relative_url": "str?",
@@ -34,10 +36,7 @@
"streamer_mode": "bool?"
},
"slug": "esphome",
"snapshot_exclude": [
"*/*/"
],
"uart": true,
"url": "https://esphome.io/",
"version": "1.20.4"
"version": "2021.9.0"
}

View File

@@ -8,50 +8,55 @@ import json
from shutil import copyfile
import sys
class Channel(Enum):
stable = 'stable'
beta = 'beta'
dev = 'dev'
stable = "stable"
beta = "beta"
dev = "dev"
def main(args):
parser = argparse.ArgumentParser(description='Generate ESPHome Home Assistant config.json')
parser.add_argument('channels', nargs='+', type=Channel, choices=list(Channel))
parser = argparse.ArgumentParser(
description="Generate ESPHome Home Assistant config.json"
)
parser.add_argument("channels", nargs="+", type=Channel, choices=list(Channel))
args = parser.parse_args(args)
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)
copyf = config['copy_files']
copyf = config["copy_files"]
for channel in args.channels:
conf = config[f'esphome-{channel.value}']
base_image = conf.pop('base_image')
dir_ = root / conf.pop('directory')
path = dir_ / 'config.json'
with open(path, 'w') as f:
conf = config[f"esphome-{channel.value}"]
base_image = conf.pop("base_image")
dir_ = root / conf.pop("directory")
path = dir_ / "config.json"
with open(path, "w") as f:
json.dump(conf, f, indent=2, sort_keys=True)
for file_, conf_ in copyf.items():
copyfile(templ / file_, dir_ / file_)
path = dir_ / 'FILES ARE GENERATED DO NOT EDIT'
with open(path, 'w') as f:
path = dir_ / "FILES ARE GENERATED DO NOT EDIT"
with open(path, "w") as f:
f.write("Any edits should be made to the files in the 'template' directory")
if channel == Channel.dev:
path = dir_ / 'build.json'
path = dir_ / "build.json"
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)
print(f"Wrote {path}")
if __name__ == '__main__':
if __name__ == "__main__":
main(sys.argv[1:])

View File

@@ -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
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`
Host the ESPHome dashboard under a relative URL, so that it can be integrated

View File

@@ -1,6 +1,6 @@
---
# 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)
base: &base
url: https://esphome.io/
@@ -31,11 +31,10 @@ base: &base
certfile: str?
keyfile: str?
leave_front_door_open: bool?
esphome_version: str?
streamer_mode: bool?
relative_url: str?
status_use_ping: bool?
snapshot_exclude:
backup_exclude:
- "*/*/"
base_image: esphome/esphome-hassio-base-{arch}:3.1.0
@@ -48,14 +47,12 @@ esphome-dev:
description: "Development version of ESPHome add-on"
url: https://next.esphome.io/
stage: experimental
options:
esphome_version: dev
esphome-beta:
<<: *base
directory: esphome-beta
name: ESPHome (beta)
version: '1.20.4' # BETA
version: '2021.9.0' # BETA
slug: esphome-beta
description: "Beta version of ESPHome add-on"
url: https://beta.esphome.io/
@@ -66,7 +63,7 @@ esphome-stable:
<<: *base
directory: esphome
name: ESPHome
version: '1.20.4' # STABLE
version: '2021.9.0' # STABLE
slug: esphome
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
image: esphome/esphome-hassio-{arch}