Compare commits
30 Commits
v2022.1.2
...
2022.4.0b3
28
.github/workflows/bump-version.yml
vendored
28
.github/workflows/bump-version.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
|||||||
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}"
|
||||||
@@ -35,7 +35,7 @@ jobs:
|
|||||||
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: 'See https://beta.esphome.io/changelog/index.html'
|
||||||
prerelease: true
|
prerelease: true
|
||||||
@@ -47,30 +47,8 @@ jobs:
|
|||||||
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://esphome.io/changelog/index.html'
|
body: 'See https://esphome.io/changelog/index.html'
|
||||||
prerelease: false
|
prerelease: false
|
||||||
commitish: ${{ steps.commit_version.outputs.commit_sha }}
|
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 }}
|
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
__pycache__/
|
__pycache__/
|
||||||
*.py[cod]
|
*.py[cod]
|
||||||
*$py.class
|
*$py.class
|
||||||
|
venv/
|
||||||
|
|||||||
@@ -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.2"
|
|
||||||
}
|
|
||||||
37
esphome-beta/config.yaml
Normal file
37
esphome-beta/config.yaml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
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.4.0b3
|
||||||
@@ -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
5
esphome-dev/build.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
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
|
||||||
@@ -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"
|
|
||||||
}
|
|
||||||
37
esphome-dev/config.yaml
Normal file
37
esphome-dev/config.yaml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
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
|
||||||
@@ -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.2"
|
|
||||||
}
|
|
||||||
35
esphome/config.yaml
Normal file
35
esphome/config.yaml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
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.3.2
|
||||||
@@ -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=True, 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.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)
|
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
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ esphome-beta:
|
|||||||
<<: *base
|
<<: *base
|
||||||
directory: esphome-beta
|
directory: esphome-beta
|
||||||
name: ESPHome (beta)
|
name: ESPHome (beta)
|
||||||
version: '2022.1.2' # BETA
|
version: '2022.4.0b3' # 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/
|
||||||
@@ -74,7 +74,7 @@ esphome-stable:
|
|||||||
<<: *base
|
<<: *base
|
||||||
directory: esphome
|
directory: esphome
|
||||||
name: ESPHome
|
name: ESPHome
|
||||||
version: '2022.1.2' # STABLE
|
version: '2022.3.2' # STABLE
|
||||||
slug: esphome
|
slug: esphome
|
||||||
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
|
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
|
||||||
image: ghcr.io/esphome/esphome-hassio-{arch}
|
image: ghcr.io/esphome/esphome-hassio-{arch}
|
||||||
|
|||||||
Reference in New Issue
Block a user