From e3a51fe54377313b1a128e5cf3b6a9b4fcd57ac3 Mon Sep 17 00:00:00 2001 From: onkytonk Date: Thu, 29 Jul 2021 19:03:04 +1000 Subject: [PATCH 001/668] Bump zwave-js to 8.0.6 (#2132) Co-authored-by: Martin Hjelmare --- zwave_js/CHANGELOG.md | 6 +++++- zwave_js/build.json | 2 +- zwave_js/config.json | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 2971dc837bb..d510fb6fb03 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog -# 0.1.32 +## 0.1.33 + +- Bump Z-Wave JS to 8.0.6 + +## 0.1.32 - Bump Z-Wave JS to 8.0.5 diff --git a/zwave_js/build.json b/zwave_js/build.json index 21bf9f8c423..51541fe0cc1 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -8,6 +8,6 @@ }, "args": { "ZWAVEJS_SERVER_VERSION": "1.9.1", - "ZWAVEJS_VERSION": "8.0.5" + "ZWAVEJS_VERSION": "8.0.6" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index 830d0768711..da08cc73373 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.32", + "version": "0.1.33", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From 6de1671822fbe361a990bbcaa312aa1ee0b1aee1 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Thu, 29 Jul 2021 13:48:47 -0400 Subject: [PATCH 002/668] Bump zwave-js-server to 1.9.2 (#2134) --- zwave_js/CHANGELOG.md | 4 ++++ zwave_js/build.json | 2 +- zwave_js/config.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index d510fb6fb03..00c8debaa05 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.1.34 + +- Bump Z-Wave JS Server to 1.9.2 + ## 0.1.33 - Bump Z-Wave JS to 8.0.6 diff --git a/zwave_js/build.json b/zwave_js/build.json index 51541fe0cc1..74686c251d0 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -7,7 +7,7 @@ "aarch64": "homeassistant/aarch64-base:3.13" }, "args": { - "ZWAVEJS_SERVER_VERSION": "1.9.1", + "ZWAVEJS_SERVER_VERSION": "1.9.2", "ZWAVEJS_VERSION": "8.0.6" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index da08cc73373..551cd7d5d5b 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.33", + "version": "0.1.34", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From 13d6f2484bf37d440ecdf9057fe4cfb94af028de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Aug 2021 14:22:59 +0200 Subject: [PATCH 003/668] Bump home-assistant/builder from 2021.06.2 to 2021.07.0 (#2133) Bumps [home-assistant/builder](https://github.com/home-assistant/builder) from 2021.06.2 to 2021.07.0. - [Release notes](https://github.com/home-assistant/builder/releases) - [Commits](https://github.com/home-assistant/builder/compare/2021.06.2...2021.07.0) --- updated-dependencies: - dependency-name: home-assistant/builder dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index 1d4c3a0911a..512974c50e9 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -116,7 +116,7 @@ jobs: - name: Build ${{ matrix.addon }} add-on if: steps.check.outputs.build_arch == 'true' - uses: home-assistant/builder@2021.06.2 + uses: home-assistant/builder@2021.07.0 with: args: | ${{ env.BUILD_ARGS }} \ From fdd403fbe0e176f61f2065ff63c35f1f0ae99165 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Wed, 11 Aug 2021 01:57:15 -0400 Subject: [PATCH 004/668] Bump zwave-js to 8.0.8 and zwave-js-server to 1.9.3 (#2144) --- zwave_js/CHANGELOG.md | 5 +++++ zwave_js/build.json | 4 ++-- zwave_js/config.json | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 00c8debaa05..d272d9ec7d1 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.1.35 + +- Bump Z-Wave JS Server to 1.9.3 +- Bump Z-Wave JS to 8.0.8 + ## 0.1.34 - Bump Z-Wave JS Server to 1.9.2 diff --git a/zwave_js/build.json b/zwave_js/build.json index 74686c251d0..355834db6dd 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -7,7 +7,7 @@ "aarch64": "homeassistant/aarch64-base:3.13" }, "args": { - "ZWAVEJS_SERVER_VERSION": "1.9.2", - "ZWAVEJS_VERSION": "8.0.6" + "ZWAVEJS_SERVER_VERSION": "1.9.3", + "ZWAVEJS_VERSION": "8.0.8" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index 551cd7d5d5b..8706306cf49 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.34", + "version": "0.1.35", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From e8af15d765361592df692294361230ebd3e8243d Mon Sep 17 00:00:00 2001 From: Leon Richard <83290838+leonDataNut@users.noreply.github.com> Date: Wed, 11 Aug 2021 10:35:04 -0500 Subject: [PATCH 005/668] git_pull: Typo in log message (#2138) Minor typo on an echo. --- git_pull/data/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git_pull/data/run.sh b/git_pull/data/run.sh index d08cae89c7c..001a5ac91e0 100755 --- a/git_pull/data/run.sh +++ b/git_pull/data/run.sh @@ -167,7 +167,7 @@ function git-synchronize { fi else - echo "[Warn] Git repostory doesn't exist" + echo "[Warn] Git repository doesn't exist" git-clone fi } From 73067ef25aa6cdb03d45ab1c331c115edac5ecf7 Mon Sep 17 00:00:00 2001 From: Martin Hjelmare Date: Tue, 17 Aug 2021 12:27:41 +0200 Subject: [PATCH 006/668] Bump zwave-js to 8.1.1 (#2148) --- zwave_js/CHANGELOG.md | 4 ++++ zwave_js/build.json | 2 +- zwave_js/config.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index d272d9ec7d1..25602314ace 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.1.36 + +- Bump Z-Wave JS to 8.1.1 + ## 0.1.35 - Bump Z-Wave JS Server to 1.9.3 diff --git a/zwave_js/build.json b/zwave_js/build.json index 355834db6dd..70def9d4d99 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -8,6 +8,6 @@ }, "args": { "ZWAVEJS_SERVER_VERSION": "1.9.3", - "ZWAVEJS_VERSION": "8.0.8" + "ZWAVEJS_VERSION": "8.1.1" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index 8706306cf49..31e49dd55a9 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.35", + "version": "0.1.36", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From 37b9ab1d87cbaf1e7029a98c9a58d247900bb957 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Fri, 20 Aug 2021 03:46:05 -0400 Subject: [PATCH 007/668] Bump zwave-js-server to 1.10.0 (#2149) * Bump zwave-js-server to 1.10.0 * Fix markdown Co-authored-by: Martin Hjelmare --- zwave_js/CHANGELOG.md | 4 ++++ zwave_js/build.json | 2 +- zwave_js/config.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 25602314ace..377eca83f9e 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.1.37 + +- Bump Z-Wave JS Server to 1.10.0 + ## 0.1.36 - Bump Z-Wave JS to 8.1.1 diff --git a/zwave_js/build.json b/zwave_js/build.json index 70def9d4d99..a141b3e4937 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -7,7 +7,7 @@ "aarch64": "homeassistant/aarch64-base:3.13" }, "args": { - "ZWAVEJS_SERVER_VERSION": "1.9.3", + "ZWAVEJS_SERVER_VERSION": "1.10.0", "ZWAVEJS_VERSION": "8.1.1" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index 31e49dd55a9..563a9a6498e 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.36", + "version": "0.1.37", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From cbfe4ba4880851441d291d77e38c25b1f72d2cbc Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Fri, 20 Aug 2021 10:54:48 +0200 Subject: [PATCH 008/668] deCONZ 2.12.6 (stable) (#2150) * Bump deCONZ version to 2.12.6 * Typo version in changelog --- deconz/CHANGELOG.md | 4 ++++ deconz/build.json | 2 +- deconz/config.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/deconz/CHANGELOG.md b/deconz/CHANGELOG.md index 63befc79ddd..c7147e75f44 100644 --- a/deconz/CHANGELOG.md +++ b/deconz/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 6.10.0 + +- Bump deCONZ to 2.12.6 + ## 6.9.0 - Bump deCONZ to 2.11.5 diff --git a/deconz/build.json b/deconz/build.json index e4a3cd35fbb..45e6c4507a6 100644 --- a/deconz/build.json +++ b/deconz/build.json @@ -5,6 +5,6 @@ "armhf": "homeassistant/armhf-base-raspbian:buster" }, "args": { - "DECONZ_VERSION": "2.11.05" + "DECONZ_VERSION": "2.12.06" } } diff --git a/deconz/config.json b/deconz/config.json index 8f8698d870a..dcf414a8ba7 100644 --- a/deconz/config.json +++ b/deconz/config.json @@ -1,6 +1,6 @@ { "name": "deCONZ", - "version": "6.9.0", + "version": "6.10.0", "slug": "deconz", "description": "Control a Zigbee network with ConBee or RaspBee by Dresden Elektronik", "arch": ["amd64", "armhf", "aarch64"], From a79f58029bf6d9b2ce4b7bf00f485b2a9e7afee2 Mon Sep 17 00:00:00 2001 From: Kai Hendrik Behrends Date: Sat, 21 Aug 2021 19:49:40 +0200 Subject: [PATCH 009/668] Updated documentation for Raspberry Pi 3/4 setup (#2154) --- homematic/DOCS.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/homematic/DOCS.md b/homematic/DOCS.md index 51c183fdf80..14a2b797848 100644 --- a/homematic/DOCS.md +++ b/homematic/DOCS.md @@ -120,13 +120,14 @@ homematic: path: /groups ``` -## Raspberry Pi3 +## Raspberry Pi3/4 -If you use the HM-MOD-RPI-PCB on a Raspberry Pi 3, you need to add +If you use the HM-MOD-RPI-PCB on a Raspberry Pi 3 or 4, you need to add the following to the `config.txt` file on the boot partition: ```text -dtoverlay=pi3-miniuart-bt +enable_uart=1 +dtoverlay=miniuart-bt ``` ## HmIP-RFUSB From 17dcc2ca27abb9a03185864e2a551d207a7aa26e Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Mon, 23 Aug 2021 15:34:29 -0400 Subject: [PATCH 010/668] Mark zwave_js as stable (#2156) --- zwave_js/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zwave_js/config.json b/zwave_js/config.json index 563a9a6498e..04647dc7fdd 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -7,7 +7,7 @@ "url": "https://github.com/home-assistant/hassio-addons/tree/master/zwave_js", "startup": "services", "init": false, - "stage": "experimental", + "stage": "stable", "homeassistant": "2021.2.0b0", "ports": { "3000/tcp": null From 5416d080df917c8ec0e8f4a2b6166ad9f3a90a1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Fri, 3 Sep 2021 17:38:12 +0200 Subject: [PATCH 011/668] Rename snapshot -> backup (#2088) * Rename snapshot -> backup * Update mariadb/CHANGELOG.md Co-authored-by: Paulus Schoutsen * Update deconz/CHANGELOG.md Co-authored-by: Paulus Schoutsen * Don't update version Co-authored-by: Paulus Schoutsen --- deconz/config.json | 2 +- mariadb/config.json | 4 ++-- mariadb/rootfs/etc/services.d/mariadb-lock/run | 2 +- samba/DOCS.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/deconz/config.json b/deconz/config.json index dcf414a8ba7..eb171b6c7f0 100644 --- a/deconz/config.json +++ b/deconz/config.json @@ -29,7 +29,7 @@ "apparmor": false, "privileged": ["SYS_RAWIO"], "devices": ["/dev/mem"], - "snapshot_exclude": ["*/otau"], + "backup_exclude": ["*/otau"], "options": { "device": null }, diff --git a/mariadb/config.json b/mariadb/config.json index 5c55576479c..f35ff1f8a9b 100644 --- a/mariadb/config.json +++ b/mariadb/config.json @@ -8,8 +8,8 @@ "startup": "system", "init": false, "timeout": 20, - "snapshot_pre": "/bin/s6-svc -wU -u /run/s6/services/mariadb-lock/", - "snapshot_post": "/bin/s6-svc -wd -d /run/s6/services/mariadb-lock/", + "backup_pre": "/bin/s6-svc -wU -u /run/s6/services/mariadb-lock/", + "backup_post": "/bin/s6-svc -wd -d /run/s6/services/mariadb-lock/", "services": ["mysql:provide"], "ports": { "3306/tcp": null diff --git a/mariadb/rootfs/etc/services.d/mariadb-lock/run b/mariadb/rootfs/etc/services.d/mariadb-lock/run index 7fd249aaaf6..e2be96fcbd9 100755 --- a/mariadb/rootfs/etc/services.d/mariadb-lock/run +++ b/mariadb/rootfs/etc/services.d/mariadb-lock/run @@ -1,6 +1,6 @@ #!/usr/bin/with-contenv bashio # ============================================================================== -# Start MariaDB client to lock tables (for snapshots) +# Start MariaDB client to lock tables (for backups) # ============================================================================== bashio::log.info "Lock tables using mariadb client..." diff --git a/samba/DOCS.md b/samba/DOCS.md index 7cdee0d47a4..4e4e6f3a92d 100644 --- a/samba/DOCS.md +++ b/samba/DOCS.md @@ -25,7 +25,7 @@ This addon exposes the following directories over smb (samba): Directory | Description -- | -- `addons` | This is for your local add-ons. -`backup` | This is for your snapshots. +`backup` | This is for your backups. `config` | This is for your Home Assistant configuration. `media` | This is for local media files. `share` | This is for your data that is shared between add-ons and Home Assistant. From 8bcca51eb7c98c8691ea26bc490677c8d10d0a79 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Mon, 6 Sep 2021 04:00:33 -0400 Subject: [PATCH 012/668] Bump zwave-js to 8.2.1 and zwave-js-server to 1.10.3 (#2159) * Bump zwave-js to 8.2.0 and zwave-js-server to 1.10.1 * changelog * bump zwave-js to 8.2.1 * Bump zwave-js-server to 1.10.2 * Update zwave_js/CHANGELOG.md Co-authored-by: Martin Hjelmare * Update zwave_js/CHANGELOG.md Co-authored-by: Martin Hjelmare * Update zwave_js/CHANGELOG.md Co-authored-by: Martin Hjelmare * Update zwave_js/CHANGELOG.md Co-authored-by: Martin Hjelmare * Bump zwave-js-server to 1.10.3 * Remove config changes from change log Co-authored-by: Martin Hjelmare --- zwave_js/CHANGELOG.md | 5 +++++ zwave_js/build.json | 4 ++-- zwave_js/config.json | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 377eca83f9e..5cbbd24a5ea 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.1.38 + +- Bump Z-Wave JS Server to 1.10.3 +- Bump Z-Wave JS to 8.2.1 + ## 0.1.37 - Bump Z-Wave JS Server to 1.10.0 diff --git a/zwave_js/build.json b/zwave_js/build.json index a141b3e4937..62c7dd06df9 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -7,7 +7,7 @@ "aarch64": "homeassistant/aarch64-base:3.13" }, "args": { - "ZWAVEJS_SERVER_VERSION": "1.10.0", - "ZWAVEJS_VERSION": "8.1.1" + "ZWAVEJS_SERVER_VERSION": "1.10.3", + "ZWAVEJS_VERSION": "8.2.1" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index 04647dc7fdd..5d6614ae96a 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.37", + "version": "0.1.38", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From 75dda23e44f936065a8e526e3615ddd4260ccff1 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Thu, 9 Sep 2021 12:41:40 -0400 Subject: [PATCH 013/668] Bump zwave-js to 8.2.3 (#2176) --- zwave_js/CHANGELOG.md | 4 ++++ zwave_js/build.json | 2 +- zwave_js/config.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 5cbbd24a5ea..3d931da2acf 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.1.39 + +- Bump Z-Wave JS to 8.2.3 + ## 0.1.38 - Bump Z-Wave JS Server to 1.10.3 diff --git a/zwave_js/build.json b/zwave_js/build.json index 62c7dd06df9..b7755b40730 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -8,6 +8,6 @@ }, "args": { "ZWAVEJS_SERVER_VERSION": "1.10.3", - "ZWAVEJS_VERSION": "8.2.1" + "ZWAVEJS_VERSION": "8.2.3" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index 5d6614ae96a..8b74779d263 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.38", + "version": "0.1.39", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From 958d41b487a8ebab58f3ad4f24e1bae535dd0ca4 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Mon, 13 Sep 2021 03:47:42 -0400 Subject: [PATCH 014/668] Bump zwave-js to 8.3.0 (#2178) --- zwave_js/CHANGELOG.md | 4 ++++ zwave_js/build.json | 2 +- zwave_js/config.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 3d931da2acf..294c267135e 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.1.40 + +- Bump Z-Wave JS to 8.3.0 + ## 0.1.39 - Bump Z-Wave JS to 8.2.3 diff --git a/zwave_js/build.json b/zwave_js/build.json index b7755b40730..58f3842a779 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -8,6 +8,6 @@ }, "args": { "ZWAVEJS_SERVER_VERSION": "1.10.3", - "ZWAVEJS_VERSION": "8.2.3" + "ZWAVEJS_VERSION": "8.3.0" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index 8b74779d263..17bdd5da290 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.39", + "version": "0.1.40", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From 585d81392c5892d72f5f0fd9587b1ae6732d4bae Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 22 Sep 2021 15:55:59 +0200 Subject: [PATCH 015/668] Make SSH promt a bit color full (#2190) * Make SSH promt a bit color full * Update CHANGELOG.md * Update build.json * upgrade Alpine --- ssh/CHANGELOG.md | 6 ++++++ ssh/build.json | 12 ++++++------ ssh/rootfs/usr/share/tempio/homeassistant.profile | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/ssh/CHANGELOG.md b/ssh/CHANGELOG.md index 8f1be0875e5..28036e9ef0b 100644 --- a/ssh/CHANGELOG.md +++ b/ssh/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 9.2.0 + +- Upgrade to Alpine 3.14 +- Make Bash promt more colorful +- Upgrade Home Assistant CLI to 4.13.0 + ## 9.1.3 - Upgrade Home Assistant CLI to 4.12.3 diff --git a/ssh/build.json b/ssh/build.json index 5690e941ecf..2e3d71cc6a5 100644 --- a/ssh/build.json +++ b/ssh/build.json @@ -1,13 +1,13 @@ { "build_from": { - "aarch64": "ghcr.io/home-assistant/aarch64-base:3.13", - "amd64": "ghcr.io/home-assistant/amd64-base:3.13", - "armhf": "ghcr.io/home-assistant/armhf-base:3.13", - "armv7": "ghcr.io/home-assistant/armv7-base:3.13", - "i386": "ghcr.io/home-assistant/i386-base:3.13" + "aarch64": "ghcr.io/home-assistant/aarch64-base:3.14", + "amd64": "ghcr.io/home-assistant/amd64-base:3.14", + "armhf": "ghcr.io/home-assistant/armhf-base:3.14", + "armv7": "ghcr.io/home-assistant/armv7-base:3.14", + "i386": "ghcr.io/home-assistant/i386-base:3.14" }, "args": { - "CLI_VERSION": "4.12.3", + "CLI_VERSION": "4.13.0", "LIBWEBSOCKETS_VERSION": "4.1.4", "TTYD_VERSION": "1.6.3" } diff --git a/ssh/rootfs/usr/share/tempio/homeassistant.profile b/ssh/rootfs/usr/share/tempio/homeassistant.profile index 58bceacc622..0485fc25dc5 100644 --- a/ssh/rootfs/usr/share/tempio/homeassistant.profile +++ b/ssh/rootfs/usr/share/tempio/homeassistant.profile @@ -1,5 +1,5 @@ #!/usr/bin/env bash -export PS1="\W \$ " +export PS1="\e[0;32m[\h \W]\$ \e[m" export SUPERVISOR_TOKEN={{ .supervisor_token }} ha banner From a65467b249f72b79caf0e01ad4ba5eff0dc4f4b6 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 22 Sep 2021 16:20:33 +0200 Subject: [PATCH 016/668] Bump version ssh --- ssh/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssh/config.json b/ssh/config.json index 85100ccff37..222200adb9d 100644 --- a/ssh/config.json +++ b/ssh/config.json @@ -1,6 +1,6 @@ { "name": "Terminal & SSH", - "version": "9.1.3", + "version": "9.2.0", "slug": "ssh", "description": "Allow logging in remotely to Home Assistant using SSH", "url": "https://github.com/home-assistant/hassio-addons/tree/master/ssh", From a6b933bfe61ee61f71c6eee3968de4b73109c567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Thu, 23 Sep 2021 20:48:26 +0200 Subject: [PATCH 017/668] Use action for stale bot (#2193) --- .github/stale.yml | 18 ------------------ .github/workflows/stale.yml | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 18 deletions(-) delete mode 100644 .github/stale.yml create mode 100644 .github/workflows/stale.yml diff --git a/.github/stale.yml b/.github/stale.yml deleted file mode 100644 index 4e71c1984e6..00000000000 --- a/.github/stale.yml +++ /dev/null @@ -1,18 +0,0 @@ -# Number of days of inactivity before an issue becomes stale -daysUntilStale: 30 -# Number of days of inactivity before a stale issue is closed -daysUntilClose: 7 -# Issues with these labels will never be considered stale -exemptLabels: - - pinned - - security - - Help wanted -# Label to use when marking an issue as stale -staleLabel: stale -# Comment to post when marking an issue as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had - recent activity. It will be closed if no further activity occurs. Thank you - for your contributions. -# Comment to post when closing a stale issue. Set to `false` to disable -closeComment: false diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 00000000000..90eff7fce9d --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,25 @@ +name: Stale + +on: + schedule: + - cron: "0 * * * *" + workflow_dispatch: + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - name: 30 days stale issues + uses: actions/stale@v4 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + days-before-issue-stale: 30 + days-before-issue-close: 7 + operations-per-run: 150 + remove-stale-when-updated: true + stale-issue-label: "stale" + exempt-issue-labels: "pinned,security,Help wanted" + stale-issue-message: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. From 1adc125ed5eaecb420c6f2b8f2146701dc4e25d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Mon, 27 Sep 2021 11:45:38 +0200 Subject: [PATCH 018/668] Update check config add-on (#2192) --- check_config/CHANGELOG.md | 6 ++++++ check_config/DOCS.md | 4 ++-- check_config/README.md | 2 +- check_config/build.json | 10 +++++----- check_config/config.json | 8 ++++---- check_config/translations/en.yaml | 2 +- 6 files changed, 19 insertions(+), 13 deletions(-) diff --git a/check_config/CHANGELOG.md b/check_config/CHANGELOG.md index 5f733f7d149..3481979ab52 100644 --- a/check_config/CHANGELOG.md +++ b/check_config/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 3.9.0 + +- Update base image to 2021.09.0 +- Change default version from "latest" to "stable" +- Remove write access to /media + ## 3.8.0 - Update base image to 2021.07.0 diff --git a/check_config/DOCS.md b/check_config/DOCS.md index 326a562c649..71dfc32cf72 100644 --- a/check_config/DOCS.md +++ b/check_config/DOCS.md @@ -27,14 +27,14 @@ Home Assistant version. Add-on configuration: ```yaml -version: latest +version: stable ``` ### Option: `version` (required) The version of Home Assistant that want to check your configuration against. -- Setting this option to `latest` or `stable` will result in checking your configuration +- Setting this option to `stable` will result in checking your configuration against the latest stable release of Home Assistant. - Setting this option to `beta` will result in checking your configuration against the latest beta release of Home Assistant. diff --git a/check_config/README.md b/check_config/README.md index e707eacc8a8..4b1458a80f0 100644 --- a/check_config/README.md +++ b/check_config/README.md @@ -1,6 +1,6 @@ # Home Assistant Add-on: Check Home Assistant configuration -Check your current configuration against any Home Assistant version. +Check your Home Assistant configuration against other versions. ![Supports aarch64 Architecture][aarch64-shield] ![Supports amd64 Architecture][amd64-shield] ![Supports armhf Architecture][armhf-shield] ![Supports armv7 Architecture][armv7-shield] ![Supports i386 Architecture][i386-shield] diff --git a/check_config/build.json b/check_config/build.json index e8674e7ae42..370ba8a6259 100644 --- a/check_config/build.json +++ b/check_config/build.json @@ -1,9 +1,9 @@ { "build_from": { - "aarch64": "ghcr.io/home-assistant/aarch64-homeassistant-base:2021.07.0", - "amd64": "ghcr.io/home-assistant/amd64-homeassistant-base:2021.07.0", - "armhf": "ghcr.io/home-assistant/armhf-homeassistant-base:2021.07.0", - "armv7": "ghcr.io/home-assistant/armv7-homeassistant-base:2021.07.0", - "i386": "ghcr.io/home-assistant/i386-homeassistant-base:2021.07.0" + "aarch64": "ghcr.io/home-assistant/aarch64-homeassistant-base:2021.09.0", + "amd64": "ghcr.io/home-assistant/amd64-homeassistant-base:2021.09.0", + "armhf": "ghcr.io/home-assistant/armhf-homeassistant-base:2021.09.0", + "armv7": "ghcr.io/home-assistant/armv7-homeassistant-base:2021.09.0", + "i386": "ghcr.io/home-assistant/i386-homeassistant-base:2021.09.0" } } diff --git a/check_config/config.json b/check_config/config.json index c0006820b4a..838732e1aa9 100644 --- a/check_config/config.json +++ b/check_config/config.json @@ -1,8 +1,8 @@ { "name": "Check Home Assistant configuration", - "version": "3.8.0", + "version": "3.9.0", "slug": "check_config", - "description": "Check current Home Assistant configuration against a new version", + "description": "Check your Home Assistant configuration against other versions", "url": "https://github.com/home-assistant/hassio-addons/tree/master/check_config", "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], "uart": true, @@ -10,9 +10,9 @@ "startup": "once", "boot": "manual", "init": false, - "map": ["config", "ssl", "media:rw", "share:rw"], + "map": ["config", "ssl", "media", "share:rw"], "options": { - "version": "latest" + "version": "stable" }, "schema": { "version": "str" diff --git a/check_config/translations/en.yaml b/check_config/translations/en.yaml index de1c55e3e5d..ebab490480f 100644 --- a/check_config/translations/en.yaml +++ b/check_config/translations/en.yaml @@ -1,4 +1,4 @@ configuration: version: name: Version - description: The version of Home Assistant to check against, you can use `stable` , `latest`, `dev` and a version \ No newline at end of file + description: The version of Home Assistant to check against, you can use `stable` , `beta`, `dev` or a spesific version \ No newline at end of file From b714871075696955b5f331c2fd9803596dcfa5bc Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 27 Sep 2021 11:52:36 +0200 Subject: [PATCH 019/668] SSH: Upgrade CLI to 4.14.0 (#2199) --- ssh/CHANGELOG.md | 4 ++++ ssh/build.json | 2 +- ssh/config.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ssh/CHANGELOG.md b/ssh/CHANGELOG.md index 28036e9ef0b..04d0b7c4a3f 100644 --- a/ssh/CHANGELOG.md +++ b/ssh/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 9.2.1 + +- Upgrade Home Assistant CLI to 4.14.0 + ## 9.2.0 - Upgrade to Alpine 3.14 diff --git a/ssh/build.json b/ssh/build.json index 2e3d71cc6a5..3779ec2fad6 100644 --- a/ssh/build.json +++ b/ssh/build.json @@ -7,7 +7,7 @@ "i386": "ghcr.io/home-assistant/i386-base:3.14" }, "args": { - "CLI_VERSION": "4.13.0", + "CLI_VERSION": "4.14.0", "LIBWEBSOCKETS_VERSION": "4.1.4", "TTYD_VERSION": "1.6.3" } diff --git a/ssh/config.json b/ssh/config.json index 222200adb9d..df0c8e26f08 100644 --- a/ssh/config.json +++ b/ssh/config.json @@ -1,6 +1,6 @@ { "name": "Terminal & SSH", - "version": "9.2.0", + "version": "9.2.1", "slug": "ssh", "description": "Allow logging in remotely to Home Assistant using SSH", "url": "https://github.com/home-assistant/hassio-addons/tree/master/ssh", From 9a8ec5352929f151b2e506cf168fd143cdb3a0f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Mon, 27 Sep 2021 12:07:08 +0200 Subject: [PATCH 020/668] Fix typo (#2200) --- check_config/translations/en.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/check_config/translations/en.yaml b/check_config/translations/en.yaml index ebab490480f..67ad1324654 100644 --- a/check_config/translations/en.yaml +++ b/check_config/translations/en.yaml @@ -1,4 +1,4 @@ configuration: version: name: Version - description: The version of Home Assistant to check against, you can use `stable` , `beta`, `dev` or a spesific version \ No newline at end of file + description: The version of Home Assistant to check against, you can use `stable` , `beta`, `dev` or a specific version From fb3919fc31874298fefd58cb46bb66c07b3c955c Mon Sep 17 00:00:00 2001 From: tux2000 Date: Mon, 27 Sep 2021 12:19:23 +0200 Subject: [PATCH 021/668] Add option for SSL cert algorithm in DuckDNS addon (#2189) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add option for SSL cert algorithm in DuckDNS addon * Documentation * Apply suggestions from code review Co-authored-by: Joakim Sørensen * Update CHANGELOG * Apply suggestions from code review Co-authored-by: Joakim Sørensen Co-authored-by: Pascal Vizeli --- duckdns/CHANGELOG.md | 4 ++++ duckdns/DOCS.md | 9 +++++++++ duckdns/config.json | 8 +++++--- duckdns/data/run.sh | 7 ++++--- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/duckdns/CHANGELOG.md b/duckdns/CHANGELOG.md index d0d2b26f801..a49d8d632b1 100644 --- a/duckdns/CHANGELOG.md +++ b/duckdns/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 1.14.0 + +- Add option to specify algorithm used for SSL certificates + ## 1.13.0 - Update base to 3.14 diff --git a/duckdns/DOCS.md b/duckdns/DOCS.md index 3f22e38d3fb..e2ae5923c54 100644 --- a/duckdns/DOCS.md +++ b/duckdns/DOCS.md @@ -62,6 +62,15 @@ The name of the private key file generated by Let's Encrypt. The private key fil **Note**: _The file is stored in `/ssl/`, which is the default for Home Assistant_ +#### Option `lets_encrypt.algo` (optional) + +Public key algorithm that will be used. + +Supported values: `rsa`, `prime256v1` and `secp384r1`. + +The default is `secp384r1` + + ### Option: `ipv4` (optional) By default, Duck DNS will auto detect your IPv4 address and use that. diff --git a/duckdns/config.json b/duckdns/config.json index d96bb48e2f8..4602c82d406 100644 --- a/duckdns/config.json +++ b/duckdns/config.json @@ -1,6 +1,6 @@ { "name": "Duck DNS", - "version": "1.13.0", + "version": "1.14.0", "slug": "duckdns", "description": "Free Dynamic DNS (DynDNS or DDNS) service with Let's Encrypt support", "url": "https://github.com/home-assistant/hassio-addons/tree/master/duckdns", @@ -11,7 +11,8 @@ "lets_encrypt": { "accept_terms": false, "certfile": "fullchain.pem", - "keyfile": "privkey.pem" + "keyfile": "privkey.pem", + "algo": "secp384r1" }, "token": null, "domains": [null], @@ -22,7 +23,8 @@ "lets_encrypt": { "accept_terms": "bool", "certfile": "str", - "keyfile": "str" + "keyfile": "str", + "algo": "list(rsa|prime256v1|secp384r1)" }, "ipv4": "str?", "ipv6": "str?", diff --git a/duckdns/data/run.sh b/duckdns/data/run.sh index 969a1b7f9ec..7836958328e 100755 --- a/duckdns/data/run.sh +++ b/duckdns/data/run.sh @@ -12,6 +12,7 @@ if bashio::config.has_value "ipv6"; then IPV6=$(bashio::config 'ipv6'); else IPV TOKEN=$(bashio::config 'token') DOMAINS=$(bashio::config 'domains | join(",")') WAIT_TIME=$(bashio::config 'seconds') +ALGO=$(bashio::config 'lets_encrypt.algo') # Function that performe a renew function le_renew() { @@ -36,7 +37,7 @@ function le_renew() { domain_args+=("--domain" "${domain}") done - dehydrated --cron --hook ./hooks.sh --challenge dns-01 "${domain_args[@]}" --out "${CERT_DIR}" --config "${WORK_DIR}/config" || true + dehydrated --cron --algo "${ALGO}" --hook ./hooks.sh --challenge dns-01 "${domain_args[@]}" --out "${CERT_DIR}" --config "${WORK_DIR}/config" || true LE_UPDATE="$(date +%s)" } @@ -72,11 +73,11 @@ while true; do else bashio::log.warning "${answer}" fi - + now="$(date +%s)" if bashio::config.true 'lets_encrypt.accept_terms' && [ $((now - LE_UPDATE)) -ge 43200 ]; then le_renew fi - + sleep "${WAIT_TIME}" done From cc475364e29ffa46405c330a9f756ba5e68bf837 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Sep 2021 14:35:08 +0200 Subject: [PATCH 022/668] Bump home-assistant/builder from 2021.07.0 to 2021.09.0 (#2198) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index 512974c50e9..a0e2ab155d5 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -116,7 +116,7 @@ jobs: - name: Build ${{ matrix.addon }} add-on if: steps.check.outputs.build_arch == 'true' - uses: home-assistant/builder@2021.07.0 + uses: home-assistant/builder@2021.09.0 with: args: | ${{ env.BUILD_ARGS }} \ From a414d16519a9aaec71d481836eeca787c41f3208 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Wed, 29 Sep 2021 16:15:06 -0400 Subject: [PATCH 023/668] Add S2 keys support to zwave_js config (#2157) Co-authored-by: Martin Hjelmare --- zwave_js/DOCS.md | 81 ++++++++++++---- zwave_js/config.json | 13 ++- zwave_js/rootfs/etc/cont-init.d/config.sh | 97 ++++++++++++++----- .../rootfs/usr/share/tempio/zwave_config.conf | 7 +- 4 files changed, 152 insertions(+), 46 deletions(-) diff --git a/zwave_js/DOCS.md b/zwave_js/DOCS.md index 4f9a4745c72..ab4564544ea 100644 --- a/zwave_js/DOCS.md +++ b/zwave_js/DOCS.md @@ -22,12 +22,12 @@ change if other devices are added to the system. the device name in quotes: e.g., something like `"/dev/serial/by-id/usb-0658_0200-if00"`, `"/dev/ttyUSB0"`, `"/dev/ttyAMA0"`, or `"/dev/ttyACM0"`. -2. Set your 16-byte (32 character hex) network key in the form `2232666D1...` - used in order to connect securely to compatible devices. It is recommended - that a network key is configured as some security enabled devices (locks, etc) +2. Set your 16-byte (32 character hex) security keys in the form `2232666D1...` + in order to connect securely to compatible devices. It is recommended + that all four network keys are configured as some security enabled devices (locks, etc) may not function correctly if they are not added securely. - * As a note, it is not recommended to securely connect *all* devices unless - necessary as it triples the amount of messages sent on the mesh. + * As a note, it is not recommended to securely connect *all* devices unless they support S2 security + as the S0 security triples the amount of messages sent on the mesh. 3. Click on "SAVE" to save the add-on configuration. 4. Start the add-on. 5. Add the Z-Wave JS integration to Home Assistant, see documentation: @@ -40,7 +40,10 @@ Add-on configuration: ```yaml device: /dev/ttyUSB0 -network_key: 2232666D100F795E5BB17F0A1BB7A146 +s0_legacy_key: 2232666D100F795E5BB17F0A1BB7A146 +s2_access_control_key: A97D2A51A6D4022998BEFC7B5DAE8EA1 +s2_authenticated_key: 309D4AAEF63EFD85967D76ECA014D1DF +s2_unauthenticated_key: CF338FE0CB99549F7C0EA96308E5A403 ``` ### Option `device` @@ -59,16 +62,20 @@ In most cases this looks like one of the following: - `"/dev/ttyAMA0"` - `"/dev/ttyACM0"` -### Option `network_key` +### Security Keys -Security Z-Wave devices require a network key before being added to the network. -You must set the `network_key` configuration option to use a network key before -adding these devices. +There are four different security keys required to take full advantage of the +different inclusion methods that Z-Wave JS supports: `s0_legacy_key`, +`s2_access_control_key`, `s2_authenticated_key`, and `s2_unauthenticated_key`. -If you don't add a network key, it will autogenerate one for you. +If you are coming from a previous version of `zwave-js`, you likely have a key +stored in the `network_key` configuration option. When the addon is first +started, the key will be migrated from `network_key` to `s0_legacy_key` which +will ensure that your S0 secured devices will continue to function. -To generate a network key manually, you can use the following script in, e.g., -the SSH add-on: +If any of these keys are missing on startup, the addon will autogenerate one for +you. To generate a network key manually, you can use the following script in, +e.g., the SSH add-on: ```bash hexdump -n 16 -e '4/4 "%08X" 1 "\n"' /dev/random @@ -78,10 +85,43 @@ You can also use sites like this one to generate the required data: -Ensure you keep a backup of this key. If you have to rebuild your system and -don't have a backup of this key, you won't be able to reconnect to any securely -included devices. This may mean you have to do a factory reset on those devices -and your controller, before rebuilding your Z-Wave network. +Ensure you keep a backup of these keys. If you have to rebuild your system and +don't have a backup of these keys, you won't be able to communicate to any +securely included devices. This may mean you have to do a factory reset on +those devices and your controller, before rebuilding your Z-Wave network. + +> NOTE: Sharing keys between multiple security classes is a security risk, so +> if you choose to configure these keys on your own, be sure to make them +> unique! + +#### Option `s0_legacy_key` + +S0 Security Z-Wave devices require a network key before being added to the network. +This configuration option is required, but if it is unset the addon will generate +a new one automatically on startup. + +#### Option `s2_access_control_key` + +The `s2_access_control_key` must be provided in order to include devices with the +S2 Access Control security class. This security class is needed by devices such +as door locks and garage door openers. This configuration option is required, +but if it is unset the addon will generate a new one automatically on startup. + +#### Option `s2_authenticated_key` + +The `s2_authenticated_key` must be provided in order to include devices with +the S2 Authenticated security class. Devices such as security systems, sensors, +lighting, etc. can request this security class. This configuration option is +required, but if it is unset the addon will generate a new one automatically +on startup. + +### Option `s2_unauthenticated_key` + +The `s2_unauthenticated_key` must be provided in order to include devices with +the S2 Unauthenticated security class. This is similar to S2 Authenticated, but +without verification that the correct device was included. This configuration +option is required, but if it is unset the addon will generate a new one +automatically on startup. ### Option `log_level` (optional) @@ -102,6 +142,13 @@ the Supervisor. If you don't have a USB stick, you can use a fake stick for testing purposes. It will not be able to control any real devices. +### Option `network_key` (deprecated) + +In previous versions of the addon, this was the only key that was needed. With +the introduction of S2 security inclusion in zwave-js, this option has been +deprecated in favor of `s0_legacy_key`. If still set, the `network_key` value will be +migrated to `s0_legacy_key` on first startup. + ## Known issues and limitations - Your hardware needs to be compatible with the Z-Wave JS library diff --git a/zwave_js/config.json b/zwave_js/config.json index 17bdd5da290..838c4477d9c 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -18,14 +18,21 @@ "discovery": ["zwave_js"], "options": { "device": null, - "network_key": "", + "s0_legacy_key": "", + "s2_access_control_key": "", + "s2_authenticated_key": "", + "s2_unauthenticated_key": "", "log_level": "info" }, "schema": { "device": "device(subsystem=tty)", - "network_key": "match(|[0-9a-fA-F]{32,32})", + "s0_legacy_key": "match(|[0-9a-fA-F]{32,32})?", + "s2_access_control_key": "match(|[0-9a-fA-F]{32,32})?", + "s2_authenticated_key": "match(|[0-9a-fA-F]{32,32})?", + "s2_unauthenticated_key": "match(|[0-9a-fA-F]{32,32})?", "log_level": "list(silly|debug|verbose|http|info|warn|error)?", - "emulate_hardware": "bool?" + "emulate_hardware": "bool?", + "network_key": "match(|[0-9a-fA-F]{32,32})?" }, "image": "homeassistant/{arch}-addon-zwave_js" } diff --git a/zwave_js/rootfs/etc/cont-init.d/config.sh b/zwave_js/rootfs/etc/cont-init.d/config.sh index bcc7796abdf..246005d9ba9 100644 --- a/zwave_js/rootfs/etc/cont-init.d/config.sh +++ b/zwave_js/rootfs/etc/cont-init.d/config.sh @@ -4,32 +4,76 @@ # ============================================================================== declare network_key -readonly DOCS_EXAMPLE_KEY="2232666D100F795E5BB17F0A1BB7A146" - -if [[ "${DOCS_EXAMPLE_KEY}" == "$(bashio::config 'network_key')" ]]; then - bashio::log.fatal - bashio::log.fatal 'The add-on detected that the Z-Wave network key used' - bashio::log.fatal 'is from the documented example.' - bashio::log.fatal - bashio::log.fatal 'Using this key is insecure, because it is publicly' - bashio::log.fatal 'listed in the documentation.' - bashio::log.fatal - bashio::log.fatal 'Please check the add-on documentation on how to' - bashio::log.fatal 'create your own, secret, "network_key" and replace' - bashio::log.fatal 'the one you have configured.' - bashio::log.fatal - bashio::log.fatal 'Click on the "Documentation" tab in the Z-Wave JS' - bashio::log.fatal 'add-on panel for more information.' - bashio::log.fatal - bashio::exit.nok -elif ! bashio::config.has_value 'network_key'; then - bashio::log.info "No Network Key is set, generate one..." - network_key=$(hexdump -n 16 -e '4/4 "%08X" 1 "\n"' /dev/random) - bashio::addon.option network_key "${network_key}" -else - network_key=$(bashio::config 'network_key') +readonly DOCS_EXAMPLE_KEY_1="2232666D100F795E5BB17F0A1BB7A146" +readonly DOCS_EXAMPLE_KEY_2="A97D2A51A6D4022998BEFC7B5DAE8EA1" +readonly DOCS_EXAMPLE_KEY_3="309D4AAEF63EFD85967D76ECA014D1DF" +readonly DOCS_EXAMPLE_KEY_4="CF338FE0CB99549F7C0EA96308E5A403" + +if bashio::config.has_value 'network_key'; then + # If both 'network_key' and 's0_legacy_key' are set and keys don't match, + # we don't know which one to pick so we have to exit. If they are both set + # and do match, we will drop 'network_key' + if bashio::config.has_value 's0_legacy_key'; then + if bashio::config.equals 's0_legacy_key' "$(bashio::config \"network_key\")"; then + bashio::log.info "Both 'network_key' and 's0_legacy_key' are set and match. Dropping 'network_key' value..." + bashio::addon.option network_key + else + bashio::log.fatal "Both 'network_key' and 's0_legacy_key' are set to different values " + bashio::log.fatal "so we are unsure which one to use. One needs to be removed from the " + bashio::log.fatal "configuration in order to start the addon." + bashio::exit.nok + fi + # If we get here, 'network_key' is set and 's0_legacy_key' is not set so we need + # to migrate the key from 'network_key' to 's0_legacy_key' + else + bashio::log.info "Migrating \"network_key\" option to \"s0_legacy_key\"..." + network_key=$(bashio::string.upper "$(bashio::config 'network_key')") + bashio::addon.option s0_legacy_key "${network_key}" + bashio::addon.option network_key + bashio::log.info "Flushing config to disk due to key migration..." + bashio::addon.options > "/data/options.json" + fi +fi + +# Validate that no keys are using the example from the docs and generate new random +# keys for any missing keys. +for key in "s0_legacy_key" "s2_access_control_key" "s2_authenticated_key" "s2_unauthenticated_key"; do + network_key=$(bashio::config "${key}") + if [ "${network_key}" == "${DOCS_EXAMPLE_KEY_1}" ] || [ "${network_key}" == "${DOCS_EXAMPLE_KEY_2}" ] || [ "${network_key}" == "${DOCS_EXAMPLE_KEY_3}" ] || [ "${network_key}" == "${DOCS_EXAMPLE_KEY_4}" ]; then + bashio::log.fatal + bashio::log.fatal "The add-on detected that the Z-Wave network key used" + bashio::log.fatal "is from the documented example." + bashio::log.fatal + bashio::log.fatal "Using this key is insecure, because it is publicly" + bashio::log.fatal "listed in the documentation." + bashio::log.fatal + bashio::log.fatal "Please check the add-on documentation on how to" + bashio::log.fatal "create your own, secret, \"${key}\" and replace" + bashio::log.fatal "the one you have configured." + bashio::log.fatal + bashio::log.fatal "Click on the \"Documentation\" tab in the Z-Wave JS" + bashio::log.fatal "add-on panel for more information." + bashio::log.fatal + bashio::exit.nok + elif ! bashio::var.has_value "${network_key}"; then + bashio::log.info "No ${key} is set, generating one..." + bashio::addon.option ${key} "$(hexdump -n 16 -e '4/4 "%08X" 1 "\n"' /dev/random)" + flush_to_disk=1 + fi +done + +# If flush_to_disk is set, it means we have generated new key(s) and they need to get +# flushed to disk +if [[ ${flush_to_disk:+x} ]]; then + bashio::log.info "Flushing config to disk due to creation of new key(s)..." + bashio::addon.options > "/data/options.json" fi +s0_legacy=$(bashio::config "s0_legacy_key") +s2_access_control=$(bashio::config "s2_access_control_key") +s2_authenticated=$(bashio::config "s2_authenticated_key") +s2_unauthenticated=$(bashio::config "s2_unauthenticated_key") + if ! bashio::config.has_value 'log_level'; then log_level=$(bashio::info.logging) bashio::log.info "No log level specified, falling back to Supervisor" @@ -41,7 +85,10 @@ fi # Generate config bashio::var.json \ - network_key "${network_key}" \ + s0_legacy "${s0_legacy}" \ + s2_access_control "${s2_access_control}" \ + s2_authenticated "${s2_authenticated}" \ + s2_unauthenticated "${s2_unauthenticated}" \ log_level "${log_level}" \ | tempio \ -template /usr/share/tempio/zwave_config.conf \ diff --git a/zwave_js/rootfs/usr/share/tempio/zwave_config.conf b/zwave_js/rootfs/usr/share/tempio/zwave_config.conf index 22fc22352c9..48c5391b675 100644 --- a/zwave_js/rootfs/usr/share/tempio/zwave_config.conf +++ b/zwave_js/rootfs/usr/share/tempio/zwave_config.conf @@ -8,5 +8,10 @@ "cacheDir": "/data/cache", "throttle": "slow" }, - "networkKey": "{{ .network_key }}" + "securityKeys": { + "S0_Legacy": "{{ .s0_legacy }}", + "S2_AccessControl": "{{ .s2_access_control }}", + "S2_Authenticated": "{{ .s2_authenticated }}", + "S2_Unauthenticated": "{{ .s2_unauthenticated }}" + } } From e1e6efe577ed528c8dd5248f4b0396ce27843b97 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Wed, 29 Sep 2021 16:31:13 -0400 Subject: [PATCH 024/668] Bump zwave-js and zwave-js-server versions (#2188) Co-authored-by: Martin Hjelmare --- zwave_js/CHANGELOG.md | 6 ++++++ zwave_js/build.json | 4 ++-- zwave_js/config.json | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 294c267135e..9f2d1b7eabe 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.1.41 + +- Bump Z-Wave JS Server to 1.10.5 +- Bump Z-Wave JS to 8.4.1 +- Add support for S2 keys in the addon configuration (check the Security Keys section of the configuration docs for more details) + ## 0.1.40 - Bump Z-Wave JS to 8.3.0 diff --git a/zwave_js/build.json b/zwave_js/build.json index 58f3842a779..4881f458aee 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -7,7 +7,7 @@ "aarch64": "homeassistant/aarch64-base:3.13" }, "args": { - "ZWAVEJS_SERVER_VERSION": "1.10.3", - "ZWAVEJS_VERSION": "8.3.0" + "ZWAVEJS_SERVER_VERSION": "1.10.5", + "ZWAVEJS_VERSION": "8.4.1" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index 838c4477d9c..5dbb793d2df 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.40", + "version": "0.1.41", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From e3e2ac285e4691de916c593d7226b466c0b6935b Mon Sep 17 00:00:00 2001 From: Martin Hjelmare Date: Thu, 30 Sep 2021 07:07:38 +0200 Subject: [PATCH 025/668] Retain zwave_js legacy network_key config option (#2205) --- zwave_js/CHANGELOG.md | 4 ++++ zwave_js/config.json | 5 +++-- zwave_js/rootfs/etc/cont-init.d/config.sh | 6 ++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 9f2d1b7eabe..f63db066284 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.1.42 + +- Retain legacy network_key config option to stay backwards compatible. + ## 0.1.41 - Bump Z-Wave JS Server to 1.10.5 diff --git a/zwave_js/config.json b/zwave_js/config.json index 5dbb793d2df..9290d76be29 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.41", + "version": "0.1.42", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], @@ -22,7 +22,8 @@ "s2_access_control_key": "", "s2_authenticated_key": "", "s2_unauthenticated_key": "", - "log_level": "info" + "log_level": "info", + "network_key": "" }, "schema": { "device": "device(subsystem=tty)", diff --git a/zwave_js/rootfs/etc/cont-init.d/config.sh b/zwave_js/rootfs/etc/cont-init.d/config.sh index 246005d9ba9..950859e7bc9 100644 --- a/zwave_js/rootfs/etc/cont-init.d/config.sh +++ b/zwave_js/rootfs/etc/cont-init.d/config.sh @@ -12,11 +12,10 @@ readonly DOCS_EXAMPLE_KEY_4="CF338FE0CB99549F7C0EA96308E5A403" if bashio::config.has_value 'network_key'; then # If both 'network_key' and 's0_legacy_key' are set and keys don't match, # we don't know which one to pick so we have to exit. If they are both set - # and do match, we will drop 'network_key' + # and do match, we don't need to do anything if bashio::config.has_value 's0_legacy_key'; then if bashio::config.equals 's0_legacy_key' "$(bashio::config \"network_key\")"; then - bashio::log.info "Both 'network_key' and 's0_legacy_key' are set and match. Dropping 'network_key' value..." - bashio::addon.option network_key + bashio::log.info "Both 'network_key' and 's0_legacy_key' are set and match. All ok." else bashio::log.fatal "Both 'network_key' and 's0_legacy_key' are set to different values " bashio::log.fatal "so we are unsure which one to use. One needs to be removed from the " @@ -29,7 +28,6 @@ if bashio::config.has_value 'network_key'; then bashio::log.info "Migrating \"network_key\" option to \"s0_legacy_key\"..." network_key=$(bashio::string.upper "$(bashio::config 'network_key')") bashio::addon.option s0_legacy_key "${network_key}" - bashio::addon.option network_key bashio::log.info "Flushing config to disk due to key migration..." bashio::addon.options > "/data/options.json" fi From 805116ac24913848c2eee6561e7328c03cf46313 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 30 Sep 2021 09:16:57 +0200 Subject: [PATCH 026/668] Use `=` instead of deprecated `:` as security option separator (#2204) --- .devcontainer/supervisor.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.devcontainer/supervisor.sh b/.devcontainer/supervisor.sh index 9891b8bbcfd..2634985c2f6 100755 --- a/.devcontainer/supervisor.sh +++ b/.devcontainer/supervisor.sh @@ -81,7 +81,7 @@ function run_supervisor() { --name hassio_supervisor \ --privileged \ --security-opt seccomp=unconfined \ - --security-opt apparmor:unconfined \ + --security-opt apparmor=unconfined \ -v /run/docker.sock:/run/docker.sock:rw \ -v /run/dbus:/run/dbus:ro \ -v /run/udev:/run/udev:ro \ @@ -142,4 +142,4 @@ cleanup_docker init_dbus init_udev run_supervisor -stop_docker \ No newline at end of file +stop_docker From cb754bcf92e60285648e3e540e9c992402e169da Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Thu, 30 Sep 2021 12:02:30 -0400 Subject: [PATCH 027/668] Bump zwave-js-server to 1.10.6 (#2207) --- zwave_js/CHANGELOG.md | 4 ++++ zwave_js/build.json | 2 +- zwave_js/config.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index f63db066284..658a2762430 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.1.43 + +- Bump Z-Wave JS Server to 1.10.6 + ## 0.1.42 - Retain legacy network_key config option to stay backwards compatible. diff --git a/zwave_js/build.json b/zwave_js/build.json index 4881f458aee..ecbc9c3e649 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -7,7 +7,7 @@ "aarch64": "homeassistant/aarch64-base:3.13" }, "args": { - "ZWAVEJS_SERVER_VERSION": "1.10.5", + "ZWAVEJS_SERVER_VERSION": "1.10.6", "ZWAVEJS_VERSION": "8.4.1" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index 9290d76be29..4a68ae47419 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.42", + "version": "0.1.43", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From c1bc77b9ae87f56bb6a142eabe7294499ab72ec9 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Thu, 30 Sep 2021 15:55:35 -0400 Subject: [PATCH 028/668] Properly handle security key casing in zwave_js (#2208) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Properly handle security key casing in zwave_js * Fix emulate_hardware * update changelog * declare missing variables * Add missing var from declaration * Always set network_key if unset * Don't flush to disk twice * Update zwave_js/rootfs/etc/cont-init.d/config.sh Co-authored-by: Joakim Sørensen Co-authored-by: Joakim Sørensen --- zwave_js/CHANGELOG.md | 5 ++++ zwave_js/config.json | 5 ++-- zwave_js/rootfs/etc/cont-init.d/config.sh | 28 +++++++++++++++++---- zwave_js/rootfs/etc/services.d/zwave_js/run | 2 +- 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 658a2762430..7f032f6282e 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.1.44 + +- Fix casing issues with security keys +- Fix `emulate_hardware` configuration option + ## 0.1.43 - Bump Z-Wave JS Server to 1.10.6 diff --git a/zwave_js/config.json b/zwave_js/config.json index 4a68ae47419..16b517afc45 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.43", + "version": "0.1.44", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], @@ -22,8 +22,7 @@ "s2_access_control_key": "", "s2_authenticated_key": "", "s2_unauthenticated_key": "", - "log_level": "info", - "network_key": "" + "log_level": "info" }, "schema": { "device": "device(subsystem=tty)", diff --git a/zwave_js/rootfs/etc/cont-init.d/config.sh b/zwave_js/rootfs/etc/cont-init.d/config.sh index 950859e7bc9..0fd90a75bc2 100644 --- a/zwave_js/rootfs/etc/cont-init.d/config.sh +++ b/zwave_js/rootfs/etc/cont-init.d/config.sh @@ -3,6 +3,14 @@ # Generate Z-Wave JS config file # ============================================================================== declare network_key +declare network_key_upper +declare s0_legacy_key +declare s0_legacy +declare s2_access_control +declare s2_authenticated +declare s2_unauthenticated +declare log_level +declare flush_to_disk readonly DOCS_EXAMPLE_KEY_1="2232666D100F795E5BB17F0A1BB7A146" readonly DOCS_EXAMPLE_KEY_2="A97D2A51A6D4022998BEFC7B5DAE8EA1" @@ -14,7 +22,9 @@ if bashio::config.has_value 'network_key'; then # we don't know which one to pick so we have to exit. If they are both set # and do match, we don't need to do anything if bashio::config.has_value 's0_legacy_key'; then - if bashio::config.equals 's0_legacy_key' "$(bashio::config \"network_key\")"; then + network_key=$(bashio::string.upper "$(bashio::config 'network_key')") + s0_legacy_key=$(bashio::string.upper "$(bashio::config 's0_legacy_key')") + if [ "${network_key}" == "${s0_legacy_key}" ]; then bashio::log.info "Both 'network_key' and 's0_legacy_key' are set and match. All ok." else bashio::log.fatal "Both 'network_key' and 's0_legacy_key' are set to different values " @@ -26,8 +36,7 @@ if bashio::config.has_value 'network_key'; then # to migrate the key from 'network_key' to 's0_legacy_key' else bashio::log.info "Migrating \"network_key\" option to \"s0_legacy_key\"..." - network_key=$(bashio::string.upper "$(bashio::config 'network_key')") - bashio::addon.option s0_legacy_key "${network_key}" + bashio::addon.option s0_legacy_key "$(bashio::config 'network_key')" bashio::log.info "Flushing config to disk due to key migration..." bashio::addon.options > "/data/options.json" fi @@ -37,7 +46,8 @@ fi # keys for any missing keys. for key in "s0_legacy_key" "s2_access_control_key" "s2_authenticated_key" "s2_unauthenticated_key"; do network_key=$(bashio::config "${key}") - if [ "${network_key}" == "${DOCS_EXAMPLE_KEY_1}" ] || [ "${network_key}" == "${DOCS_EXAMPLE_KEY_2}" ] || [ "${network_key}" == "${DOCS_EXAMPLE_KEY_3}" ] || [ "${network_key}" == "${DOCS_EXAMPLE_KEY_4}" ]; then + network_key_upper=$(bashio::string.upper "${network_key}") + if [ "${network_key_upper}" == "${DOCS_EXAMPLE_KEY_1}" ] || [ "${network_key_upper}" == "${DOCS_EXAMPLE_KEY_2}" ] || [ "${network_key_upper}" == "${DOCS_EXAMPLE_KEY_3}" ] || [ "${network_key_upper}" == "${DOCS_EXAMPLE_KEY_4}" ]; then bashio::log.fatal bashio::log.fatal "The add-on detected that the Z-Wave network key used" bashio::log.fatal "is from the documented example." @@ -55,7 +65,15 @@ for key in "s0_legacy_key" "s2_access_control_key" "s2_authenticated_key" "s2_un bashio::exit.nok elif ! bashio::var.has_value "${network_key}"; then bashio::log.info "No ${key} is set, generating one..." - bashio::addon.option ${key} "$(hexdump -n 16 -e '4/4 "%08X" 1 "\n"' /dev/random)" + network_key="$(hexdump -n 16 -e '4/4 "%08X" 1 "\n"' /dev/random)" + bashio::addon.option ${key} "${network_key}" + flush_to_disk=1 + fi + + # If `network_key` is unset, we set it to match `s0_legacy_key` for backwards compatibility + if bashio::var.equals "${key}" "s0_legacy_key" && ! bashio::config.has_value "network_key"; then + bashio::log.info "No 'network_key' detected, setting it to 's0_legacy_key' for backwards compatibility" + bashio::addon.option network_key "${network_key}" flush_to_disk=1 fi done diff --git a/zwave_js/rootfs/etc/services.d/zwave_js/run b/zwave_js/rootfs/etc/services.d/zwave_js/run index 7fcd4f2baa2..f28081fb84a 100644 --- a/zwave_js/rootfs/etc/services.d/zwave_js/run +++ b/zwave_js/rootfs/etc/services.d/zwave_js/run @@ -6,7 +6,7 @@ SERIAL_DEVICE=$(bashio::config 'device') # Emulate serial Hardware for test & development if bashio::config.true 'emulate_hardware'; then - SERIAL_DEVICE="--mock" + SERIAL_DEVICE="--mock-driver" fi # Send out discovery information to Home Assistant From 605570d63b3afa792e8ed4908dcf863af7c829c9 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Sun, 3 Oct 2021 17:50:50 -0400 Subject: [PATCH 029/668] Bump zwave-js-server to 1.10.7 (#2217) * Bump zwave-js-server to 1.10.7 * Fix markdown Co-authored-by: Martin Hjelmare --- zwave_js/CHANGELOG.md | 4 ++++ zwave_js/build.json | 2 +- zwave_js/config.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 7f032f6282e..3ba8a0bc63c 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.1.45 + +- Bump Z-Wave JS Server to 1.10.7 + ## 0.1.44 - Fix casing issues with security keys diff --git a/zwave_js/build.json b/zwave_js/build.json index ecbc9c3e649..ba8a9172ba3 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -7,7 +7,7 @@ "aarch64": "homeassistant/aarch64-base:3.13" }, "args": { - "ZWAVEJS_SERVER_VERSION": "1.10.6", + "ZWAVEJS_SERVER_VERSION": "1.10.7", "ZWAVEJS_VERSION": "8.4.1" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index 16b517afc45..089f585c9be 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.44", + "version": "0.1.45", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From faf6113cd67716f9bdf5d6061cb0c10cf5320f80 Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Sat, 16 Oct 2021 11:18:38 +0200 Subject: [PATCH 030/668] Correct port to 4212 for VLC discovery service (#2232) --- vlc/CHANGELOG.md | 4 ++++ vlc/config.json | 2 +- vlc/rootfs/etc/services.d/vlc/discovery | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/vlc/CHANGELOG.md b/vlc/CHANGELOG.md index 7ad84f45249..b4ba4f4298b 100644 --- a/vlc/CHANGELOG.md +++ b/vlc/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.1.3 + +- Correct port on discovery + ## 0.1.2 - Revert restart nginx service on error diff --git a/vlc/config.json b/vlc/config.json index 50099dab0c4..5d8c7a42e8a 100644 --- a/vlc/config.json +++ b/vlc/config.json @@ -1,6 +1,6 @@ { "name": "VLC", - "version": "0.1.2", + "version": "0.1.3", "slug": "vlc", "description": "Turn your device into a Media Player with VLC", "arch": ["amd64", "i386", "armv7", "aarch64"], diff --git a/vlc/rootfs/etc/services.d/vlc/discovery b/vlc/rootfs/etc/services.d/vlc/discovery index ad4af057b42..f140d8b075c 100755 --- a/vlc/rootfs/etc/services.d/vlc/discovery +++ b/vlc/rootfs/etc/services.d/vlc/discovery @@ -8,7 +8,7 @@ declare ha_config ha_config=$(\ bashio::var.json \ host "$(hostname)" \ - port "^3000" \ + port "^4212" \ password "$(cat /data/secret)" \ ) From 97c926e6404ed7aae6e9686d8b0ea62e87ef2cba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 09:35:43 +0200 Subject: [PATCH 031/668] Bump actions/checkout from 2.3.4 to 2.3.5 (#2238) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/builder.yml | 4 ++-- .github/workflows/lint.yml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index a0e2ab155d5..d8851a7cc96 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -20,7 +20,7 @@ jobs: changed: ${{ steps.changed_addons.outputs.changed }} steps: - name: Check out the repository - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.3.5 - name: Get changed files id: changed_files @@ -72,7 +72,7 @@ jobs: steps: - name: Check out repository - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.3.5 - name: Get information id: info diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 437e38fa647..e900234e746 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -16,7 +16,7 @@ jobs: name: hadolint steps: - name: Check out the repository - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.3.5 - name: Run linter id: changed_files @@ -34,7 +34,7 @@ jobs: name: JQ steps: - name: Check out the repository - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.3.5 - name: Run linter run: | @@ -46,7 +46,7 @@ jobs: name: ShellCheck steps: - name: Check out the repository - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.3.5 - name: Run linter uses: ludeeus/action-shellcheck@1.1.0 \ No newline at end of file From 9ba546a0f600d2e3bb5296fa2b09e723b3e36d1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Thu, 21 Oct 2021 13:56:23 +0200 Subject: [PATCH 032/668] Replace devcontainer (#2209) --- .devcontainer/Dockerfile | 46 ------------------------------- .devcontainer/devcontainer.json | 39 +++++++++++++++------------ .vscode/tasks.json | 48 +++++++++++++-------------------- 3 files changed, 40 insertions(+), 93 deletions(-) delete mode 100644 .devcontainer/Dockerfile diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile deleted file mode 100644 index c5907d6f101..00000000000 --- a/.devcontainer/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM mcr.microsoft.com/vscode/devcontainers/base:debian - -WORKDIR /workspaces - -SHELL ["/bin/bash", "-o", "pipefail", "-c"] - -# Set Docker daemon config -RUN \ - mkdir -p /etc/docker \ - && echo '{"storage-driver": "vfs"}' > /etc/docker/daemon.json - -# Installa aditional tools -RUN \ - apt-get update \ - && apt-get install -y --no-install-recommends \ - dbus \ - network-manager \ - libpulse0 \ - xz-utils - -# Install docker -RUN apt-get update && apt-get install -y --no-install-recommends \ - apt-transport-https \ - ca-certificates \ - curl \ - software-properties-common \ - gpg-agent \ - && curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \ - && add-apt-repository "deb https://download.docker.com/linux/debian $(lsb_release -cs) stable" \ - && apt-get update && apt-get install -y --no-install-recommends \ - docker-ce \ - docker-ce-cli \ - containerd.io \ - && rm -rf /var/lib/apt/lists/* - -# Install shellcheck -RUN \ - curl -fLs \ - "https://github.com/koalaman/shellcheck/releases/download/stable/shellcheck-stable.linux.x86_64.tar.xz" \ - | tar -xJ \ - \ - && mv -f "./shellcheck-stable/shellcheck" "/usr/bin/shellcheck" \ - && rm -rf "./shellcheck-stable" - -# Generate a machine-id for this container -RUN rm /etc/machine-id && dbus-uuidgen --ensure=/etc/machine-id diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 30e7edebab0..42ce60eac41 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,18 +1,23 @@ { - "name": "Home Assistant Add-Ons", - "context": "..", - "dockerFile": "Dockerfile", - "appPort": ["7123:8123", "7357:4357"], - "postStartCommand": "service docker start", - "runArgs": ["-e", "GIT_EDITOR=code --wait", "--privileged"], - "containerEnv": { - "WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}" - }, - "extensions": [ - "timonwong.shellcheck", - "esbenp.prettier-vscode" - ], - "settings": { - "terminal.integrated.shell.linux": "/bin/bash" - } -} + "name": "Home Assistant Add-ons", + "image": "ghcr.io/home-assistant/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"], + "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 + } + } diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 81384a17b07..cb4e05c51f4 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,31 +1,19 @@ { - // See https://go.microsoft.com/fwlink/?LinkId=733558 - // for the documentation about the tasks.json format - "version": "2.0.0", - "tasks": [ - { - "label": "Start Home Assistant", - "type": "shell", - "command": "./.devcontainer/supervisor.sh", - "group": { - "kind": "test", - "isDefault": true, - }, - "presentation": { - "reveal": "always", - "panel": "new" - }, - "problemMatcher": [] - },{ - "label": "Run Home Assistant CLI", - "type": "shell", - "command": "docker exec -ti hassio_cli /usr/bin/cli.sh", - "group": "test", - "presentation": { - "reveal": "always", - "panel": "new" - }, - "problemMatcher": [] - } - ] -} \ No newline at end of file + "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": [] + } + ] +} From b299cebffabb729032dec4d5c3025008e619170f Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 21 Oct 2021 14:47:56 +0200 Subject: [PATCH 033/668] Update CEC Add-on (#2240) * Update CEC Add-on * cleanup patch * second cleanup * fix s6 copy * set S0 for this kind of finish * Update cec_scan/CHANGELOG.md Co-authored-by: Stefan Agner Co-authored-by: Stefan Agner --- cec_scan/CHANGELOG.md | 6 + cec_scan/Dockerfile | 52 +- cec_scan/build.json | 12 +- cec_scan/config.json | 2 +- cec_scan/data/libcec.patch | 887 ------------------ cec_scan/data/run.sh | 5 - .../rootfs/etc/services.d/cec-scan/finish | 5 + cec_scan/rootfs/etc/services.d/cec-scan/run | 7 + 8 files changed, 36 insertions(+), 940 deletions(-) delete mode 100644 cec_scan/data/libcec.patch delete mode 100755 cec_scan/data/run.sh create mode 100644 cec_scan/rootfs/etc/services.d/cec-scan/finish create mode 100644 cec_scan/rootfs/etc/services.d/cec-scan/run diff --git a/cec_scan/CHANGELOG.md b/cec_scan/CHANGELOG.md index 7f4dfe2d82d..c20a47d9b32 100644 --- a/cec_scan/CHANGELOG.md +++ b/cec_scan/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 3.0 + +- Using the Upstream Linux support only +- Using s6-overlay style +- Update to Alpine 3.14 + ## 2.4 - Use new `video` feature of Supervisor 199 diff --git a/cec_scan/Dockerfile b/cec_scan/Dockerfile index f9c07ff71fb..c4c6f9a2fd9 100644 --- a/cec_scan/Dockerfile +++ b/cec_scan/Dockerfile @@ -1,21 +1,11 @@ ARG BUILD_FROM FROM $BUILD_FROM -# Set shell -SHELL ["/bin/bash", "-o", "pipefail", "-c"] - -# Meta -WORKDIR /usr/src -ARG BUILD_ARCH -ARG LIBCEC_VERSION - # Build libcec for HDMI-CEC -COPY data/libcec.patch /usr/src/ +ARG LIBCEC_VERSION +WORKDIR /usr/src RUN \ - if [[ "armhf armv7 aarch64" = *"$BUILD_ARCH"* ]]; then \ - apk add --no-cache raspberrypi-dev raspberrypi-libs; \ - fi \ - && apk add --no-cache \ + apk add --no-cache \ eudev-libs\ p8-platform \ && apk add --no-cache --virtual .build-dependencies \ @@ -27,38 +17,18 @@ RUN \ swig \ linux-headers \ && git clone --depth 1 -b libcec-${LIBCEC_VERSION} \ - "https://github.com/Pulse-Eight/libcec" /usr/src/libcec \ - && cd /usr/src/libcec \ - && git apply /usr/src/libcec.patch \ - && mkdir -p /usr/src/libcec/build \ - && cd /usr/src/libcec/build \ - && if [[ "armhf armv7 aarch64" = *"$BUILD_ARCH"* ]]; then \ - cmake \ - -DCMAKE_INSTALL_PREFIX:PATH=/usr/local \ - -DRPI_INCLUDE_DIR=/opt/vc/include \ - -DRPI_LIB_DIR=/opt/vc/lib \ - -DHAVE_EXYNOS_API=1 \ - -DHAVE_AOCEC_API=1 \ - -DHAVE_LINUX_API=1 \ - ..; \ - else \ - cmake \ - -DCMAKE_INSTALL_PREFIX:PATH=/usr/local \ - -DHAVE_LINUX_API=1 \ - ..; \ - fi \ + "https://github.com/Pulse-Eight/libcec" libcec \ + && mkdir -p libcec/build \ + && cd libcec/build \ + && cmake \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr/local \ + -DHAVE_LINUX_API=1 \ + .. \ && make -j$(nproc) \ && make install \ && apk del --no-cache .build-dependencies \ - && if [[ "armhf armv7 aarch64" = *"$BUILD_ARCH"* ]]; then \ - apk del --no-cache raspberrypi-dev; \ - fi \ && rm -rf /usr/src/* -ENV LD_LIBRARY_PATH=/opt/vc/lib:${LD_LIBRARY_PATH} - # Copy data -COPY data/run.sh / - WORKDIR / -CMD [ "/run.sh" ] +COPY rootfs / diff --git a/cec_scan/build.json b/cec_scan/build.json index 46c2a5bfa0a..eda9a0d541c 100644 --- a/cec_scan/build.json +++ b/cec_scan/build.json @@ -1,12 +1,12 @@ { "build_from": { - "aarch64": "homeassistant/aarch64-base:3.11", - "amd64": "homeassistant/amd64-base:3.11", - "armhf": "homeassistant/armhf-base:3.11", - "armv7": "homeassistant/armv7-base:3.11", - "i386": "homeassistant/i386-base:3.11" + "aarch64": "homeassistant/aarch64-base:3.14", + "amd64": "homeassistant/amd64-base:3.14", + "armhf": "homeassistant/armhf-base:3.14", + "armv7": "homeassistant/armv7-base:3.14", + "i386": "homeassistant/i386-base:3.14" }, "args": { - "LIBCEC_VERSION": "4.0.3" + "LIBCEC_VERSION": "6.0.2" } } diff --git a/cec_scan/config.json b/cec_scan/config.json index f9d31811130..d272cc3bab3 100644 --- a/cec_scan/config.json +++ b/cec_scan/config.json @@ -1,6 +1,6 @@ { "name": "CEC Scanner", - "version": "2.4", + "version": "3.0", "slug": "cec_scan", "description": "Scan for HDMI CEC devices", "url": "https://github.com/home-assistant/hassio-addons/tree/master/cec_scan", diff --git a/cec_scan/data/libcec.patch b/cec_scan/data/libcec.patch deleted file mode 100644 index 49af7eadf31..00000000000 --- a/cec_scan/data/libcec.patch +++ /dev/null @@ -1,887 +0,0 @@ -From 467cc79fd289403e7d4f6e4e817b906c0c0027dd Mon Sep 17 00:00:00 2001 -From: Jonas Karlman -Date: Wed, 6 Sep 2017 17:37:05 +0200 -Subject: [PATCH] Add Linux CEC Adapter - ---- - docs/README.linux.md | 6 + - include/cectypes.h | 11 + - src/libcec/CECTypeUtils.h | 2 + - src/libcec/CMakeLists.txt | 2 + - src/libcec/adapter/AdapterFactory.cpp | 26 +- - .../Linux/LinuxCECAdapterCommunication.cpp | 438 ++++++++++++++++++ - .../Linux/LinuxCECAdapterCommunication.h | 95 ++++ - .../Linux/LinuxCECAdapterDetection.cpp | 50 ++ - .../adapter/Linux/LinuxCECAdapterDetection.h | 51 ++ - src/libcec/cmake/CheckPlatformSupport.cmake | 12 + - src/libcec/cmake/DisplayPlatformSupport.cmake | 6 + - src/libcec/env.h.in | 3 + - 12 files changed, 700 insertions(+), 2 deletions(-) - create mode 100644 src/libcec/adapter/Linux/LinuxCECAdapterCommunication.cpp - create mode 100644 src/libcec/adapter/Linux/LinuxCECAdapterCommunication.h - create mode 100644 src/libcec/adapter/Linux/LinuxCECAdapterDetection.cpp - create mode 100644 src/libcec/adapter/Linux/LinuxCECAdapterDetection.h - -diff --git a/docs/README.linux.md b/docs/README.linux.md -index c59fb80..e8053cc 100644 ---- a/docs/README.linux.md -+++ b/docs/README.linux.md -@@ -51,5 +51,11 @@ Pass the argument `-DHAVE_TDA995X_API=1` to the cmake command in the compilation - cmake -DHAVE_TDA995X_API=1 .. - ``` - -+### Linux CEC Framework (v4.10+) -+Pass the argument `-DHAVE_LINUX_API=1` to the cmake command in the compilation instructions: -+``` -+cmake -DHAVE_LINUX_API=1 .. -+``` -+ - ### Debian / Ubuntu .deb packaging - See [docs/README.debian.md](README.debian.md). -\ No newline at end of file -diff --git a/include/cectypes.h b/include/cectypes.h -index 9c91842..2c32e4d 100644 ---- a/include/cectypes.h -+++ b/include/cectypes.h -@@ -281,6 +281,16 @@ namespace CEC { - */ - #define CEC_MAX_DATA_PACKET_SIZE (16 * 4) - -+/*! -+ * the path to use for the Linux CEC device -+ */ -+#define CEC_LINUX_PATH "/dev/cec0" -+ -+/*! -+ * the name of the virtual COM port to use for the Linux' CEC wire -+ */ -+#define CEC_LINUX_VIRTUAL_COM "Linux" -+ - /*! - * the path to use for the AOCEC HDMI CEC device - */ -@@ -861,6 +871,7 @@ typedef enum cec_adapter_type - ADAPTERTYPE_RPI = 0x100, - ADAPTERTYPE_TDA995x = 0x200, - ADAPTERTYPE_EXYNOS = 0x300, -+ ADAPTERTYPE_LINUX = 0x400, - ADAPTERTYPE_AOCEC = 0x500 - } cec_adapter_type; - -diff --git a/src/libcec/CECTypeUtils.h b/src/libcec/CECTypeUtils.h -index 25c1c6e..15f9543 100644 ---- a/src/libcec/CECTypeUtils.h -+++ b/src/libcec/CECTypeUtils.h -@@ -766,6 +766,8 @@ namespace CEC - return "Raspberry Pi"; - case ADAPTERTYPE_TDA995x: - return "TDA995x"; -+ case ADAPTERTYPE_LINUX: -+ return "Linux"; - default: - return "unknown"; - } -diff --git a/src/libcec/CMakeLists.txt b/src/libcec/CMakeLists.txt -index 6baee69..74fe5f3 100644 ---- a/src/libcec/CMakeLists.txt -+++ b/src/libcec/CMakeLists.txt -@@ -89,6 +89,8 @@ set(CEC_HEADERS devices/CECRecordingDevice.h - adapter/Exynos/ExynosCEC.h - adapter/Exynos/ExynosCECAdapterDetection.h - adapter/Exynos/ExynosCECAdapterCommunication.h -+ adapter/Linux/LinuxCECAdapterDetection.h -+ adapter/Linux/LinuxCECAdapterCommunication.h - adapter/AOCEC/AOCEC.h - adapter/AOCEC/AOCECAdapterDetection.h - adapter/AOCEC/AOCECAdapterCommunication.h -diff --git a/src/libcec/adapter/AdapterFactory.cpp b/src/libcec/adapter/AdapterFactory.cpp -index 91195ea..323c272 100644 ---- a/src/libcec/adapter/AdapterFactory.cpp -+++ b/src/libcec/adapter/AdapterFactory.cpp -@@ -58,6 +58,11 @@ - #include "Exynos/ExynosCECAdapterCommunication.h" - #endif - -+#if defined(HAVE_LINUX_API) -+#include "Linux/LinuxCECAdapterDetection.h" -+#include "Linux/LinuxCECAdapterCommunication.h" -+#endif -+ - #if defined(HAVE_AOCEC_API) - #include "AOCEC/AOCECAdapterDetection.h" - #include "AOCEC/AOCECAdapterCommunication.h" -@@ -131,6 +136,18 @@ int8_t CAdapterFactory::DetectAdapters(cec_adapter_descriptor *deviceList, uint8 - } - #endif - -+#if defined(HAVE_LINUX_API) -+ if (iAdaptersFound < iBufSize && CLinuxCECAdapterDetection::FindAdapter()) -+ { -+ snprintf(deviceList[iAdaptersFound].strComPath, sizeof(deviceList[iAdaptersFound].strComPath), CEC_LINUX_PATH); -+ snprintf(deviceList[iAdaptersFound].strComName, sizeof(deviceList[iAdaptersFound].strComName), CEC_LINUX_VIRTUAL_COM); -+ deviceList[iAdaptersFound].iVendorId = 0; -+ deviceList[iAdaptersFound].iProductId = 0; -+ deviceList[iAdaptersFound].adapterType = ADAPTERTYPE_LINUX; -+ iAdaptersFound++; -+ } -+#endif -+ - #if defined(HAVE_AOCEC_API) - if (iAdaptersFound < iBufSize && CAOCECAdapterDetection::FindAdapter()) - { -@@ -144,7 +161,7 @@ int8_t CAdapterFactory::DetectAdapters(cec_adapter_descriptor *deviceList, uint8 - #endif - - --#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_AOCEC_API) -+#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_LINUX_API) && !defined(HAVE_AOCEC_API) - #error "libCEC doesn't have support for any type of adapter. please check your build system or configuration" - #endif - -@@ -163,6 +180,11 @@ IAdapterCommunication *CAdapterFactory::GetInstance(const char *strPort, uint16_ - return new CExynosCECAdapterCommunication(m_lib->m_cec); - #endif - -+#if defined(HAVE_LINUX_API) -+ if (!strcmp(strPort, CEC_LINUX_VIRTUAL_COM)) -+ return new CLinuxCECAdapterCommunication(m_lib->m_cec); -+#endif -+ - #if defined(HAVE_AOCEC_API) - if (!strcmp(strPort, CEC_AOCEC_VIRTUAL_COM)) - return new CAOCECAdapterCommunication(m_lib->m_cec); -@@ -177,7 +199,7 @@ IAdapterCommunication *CAdapterFactory::GetInstance(const char *strPort, uint16_ - return new CUSBCECAdapterCommunication(m_lib->m_cec, strPort, iBaudRate); - #endif - --#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_EXYNOS_API) && !defined(HAVE_AOCEC_API) -+#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_EXYNOS_API) && !defined(HAVE_LINUX_API) && !defined(HAVE_AOCEC_API) - return NULL; - #endif - } -diff --git a/src/libcec/adapter/Linux/LinuxCECAdapterCommunication.cpp b/src/libcec/adapter/Linux/LinuxCECAdapterCommunication.cpp -new file mode 100644 -index 0000000..6a28835 ---- /dev/null -+++ b/src/libcec/adapter/Linux/LinuxCECAdapterCommunication.cpp -@@ -0,0 +1,438 @@ -+/* -+ * This file is part of the libCEC(R) library. -+ * -+ * libCEC Linux CEC Adapter is Copyright (C) 2017-2019 Jonas Karlman -+ * based heavily on: -+ * libCEC AOCEC Code is Copyright (C) 2016 Gerald Dachs -+ * libCEC Exynos Code is Copyright (C) 2014 Valentin Manea -+ * libCEC(R) is Copyright (C) 2011-2015 Pulse-Eight Limited. All rights reserved. -+ * libCEC(R) is an original work, containing original code. -+ * -+ * libCEC(R) is a trademark of Pulse-Eight Limited. -+ * -+ * This program is dual-licensed; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ * -+ * -+ * Alternatively, you can license this library under a commercial license, -+ * please contact Pulse-Eight Licensing for more information. -+ * -+ * For more information contact: -+ * Pulse-Eight Licensing -+ * http://www.pulse-eight.com/ -+ * http://www.pulse-eight.net/ -+ */ -+ -+#include "env.h" -+#include -+#include -+ -+#if defined(HAVE_LINUX_API) -+#include "LinuxCECAdapterCommunication.h" -+#include "CECTypeUtils.h" -+#include "LibCEC.h" -+#include "p8-platform/util/buffer.h" -+#include -+ -+using namespace CEC; -+using namespace P8PLATFORM; -+ -+#define LIB_CEC m_callback->GetLib() -+ -+// Required capabilities -+#define CEC_LINUX_CAPABILITIES (CEC_CAP_LOG_ADDRS | CEC_CAP_TRANSMIT | CEC_CAP_PASSTHROUGH) -+ -+CLinuxCECAdapterCommunication::CLinuxCECAdapterCommunication(IAdapterCommunicationCallback *callback) -+ : IAdapterCommunication(callback) -+{ -+ m_fd = INVALID_SOCKET_VALUE; -+} -+ -+CLinuxCECAdapterCommunication::~CLinuxCECAdapterCommunication(void) -+{ -+ Close(); -+} -+ -+bool CLinuxCECAdapterCommunication::Open(uint32_t UNUSED(iTimeoutMs), bool UNUSED(bSkipChecks), bool bStartListening) -+{ -+ if (IsOpen()) -+ Close(); -+ -+ if ((m_fd = open(CEC_LINUX_PATH, O_RDWR)) >= 0) -+ { -+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "CLinuxCECAdapterCommunication::Open - m_fd=%d bStartListening=%d", m_fd, bStartListening); -+ -+ // Ensure the CEC device supports required capabilities -+ struct cec_caps caps = {}; -+ if (ioctl(m_fd, CEC_ADAP_G_CAPS, &caps) || (caps.capabilities & CEC_LINUX_CAPABILITIES) != CEC_LINUX_CAPABILITIES) -+ { -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_G_CAPS failed - capabilities=%02x errno=%d", caps.capabilities, errno); -+ Close(); -+ return false; -+ } -+ -+ if (!bStartListening) -+ { -+ Close(); -+ return true; -+ } -+ -+ // This is an exclusive follower, in addition put the CEC device into passthrough mode -+ uint32_t mode = CEC_MODE_INITIATOR | CEC_MODE_EXCL_FOLLOWER_PASSTHRU; -+ if (ioctl(m_fd, CEC_S_MODE, &mode)) -+ { -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::Open - ioctl CEC_S_MODE failed - errno=%d", errno); -+ Close(); -+ return false; -+ } -+ -+ uint16_t addr; -+ if (ioctl(m_fd, CEC_ADAP_G_PHYS_ADDR, &addr)) -+ { -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_G_PHYS_ADDR failed - errno=%d", errno); -+ Close(); -+ return false; -+ } -+ -+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_G_PHYS_ADDR - addr=%04x", addr); -+ -+ if (addr == CEC_PHYS_ADDR_INVALID) -+ LIB_CEC->AddLog(CEC_LOG_WARNING, "CLinuxCECAdapterCommunication::Open - physical address is invalid"); -+ -+ // Clear existing logical addresses and set the CEC device to the unconfigured state -+ struct cec_log_addrs log_addrs = {}; -+ if (ioctl(m_fd, CEC_ADAP_S_LOG_ADDRS, &log_addrs)) -+ { -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS failed - errno=%d", errno); -+ Close(); -+ return false; -+ } -+ -+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=%04x num_log_addrs=%u", log_addrs.log_addr_mask, log_addrs.num_log_addrs); -+ -+ // Set logical address to unregistered, without any logical address configured no messages is transmitted or received -+ log_addrs = {}; -+ log_addrs.cec_version = CEC_OP_CEC_VERSION_1_4; -+ log_addrs.vendor_id = CEC_VENDOR_PULSE_EIGHT; -+ log_addrs.num_log_addrs = 1; -+ log_addrs.flags = CEC_LOG_ADDRS_FL_ALLOW_UNREG_FALLBACK; -+ log_addrs.log_addr[0] = CEC_LOG_ADDR_UNREGISTERED; -+ log_addrs.primary_device_type[0] = CEC_OP_PRIM_DEVTYPE_SWITCH; -+ log_addrs.log_addr_type[0] = CEC_LOG_ADDR_TYPE_UNREGISTERED; -+ log_addrs.all_device_types[0] = CEC_OP_ALL_DEVTYPE_SWITCH; -+ if (ioctl(m_fd, CEC_ADAP_S_LOG_ADDRS, &log_addrs)) -+ { -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS failed - errno=%d", errno); -+ Close(); -+ return false; -+ } -+ -+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=%04x num_log_addrs=%u", log_addrs.log_addr_mask, log_addrs.num_log_addrs); -+ -+ if (CreateThread()) -+ return true; -+ -+ Close(); -+ } -+ -+ return false; -+} -+ -+void CLinuxCECAdapterCommunication::Close(void) -+{ -+ StopThread(0); -+ -+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "CLinuxCECAdapterCommunication::Close - m_fd=%d", m_fd); -+ -+ close(m_fd); -+ m_fd = INVALID_SOCKET_VALUE; -+} -+ -+bool CLinuxCECAdapterCommunication::IsOpen(void) -+{ -+ return m_fd != INVALID_SOCKET_VALUE; -+} -+ -+cec_adapter_message_state CLinuxCECAdapterCommunication::Write(const cec_command &data, bool &bRetry, uint8_t UNUSED(iLineTimeout), bool UNUSED(bIsReply)) -+{ -+ if (IsOpen()) -+ { -+ struct cec_msg msg; -+ cec_msg_init(&msg, data.initiator, data.destination); -+ -+ if (data.opcode_set) -+ { -+ msg.msg[msg.len++] = data.opcode; -+ -+ if (data.parameters.size) -+ { -+ memcpy(&msg.msg[msg.len], data.parameters.data, data.parameters.size); -+ msg.len += data.parameters.size; -+ } -+ } -+ -+ if (ioctl(m_fd, CEC_TRANSMIT, &msg)) -+ { -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=%02x errno=%d", msg.tx_status, errno); -+ return ADAPTER_MESSAGE_STATE_ERROR; -+ } -+ -+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=%02x len=%d addr=%02x opcode=%02x", msg.tx_status, msg.len, msg.msg[0], cec_msg_opcode(&msg)); -+ -+ // The CEC driver will make re-transmission attempts -+ bRetry = false; -+ -+ if (msg.tx_status & CEC_TX_STATUS_OK) -+ return ADAPTER_MESSAGE_STATE_SENT_ACKED; -+ -+ if (msg.tx_status & CEC_TX_STATUS_NACK) -+ return ADAPTER_MESSAGE_STATE_SENT_NOT_ACKED; -+ -+ return ADAPTER_MESSAGE_STATE_ERROR; -+ } -+ -+ return ADAPTER_MESSAGE_STATE_UNKNOWN; -+} -+ -+bool CLinuxCECAdapterCommunication::SetLogicalAddresses(const cec_logical_addresses &addresses) -+{ -+ if (IsOpen()) -+ { -+ struct cec_log_addrs log_addrs = {}; -+ if (ioctl(m_fd, CEC_ADAP_G_LOG_ADDRS, &log_addrs)) -+ { -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_G_LOG_ADDRS failed - errno=%d", errno); -+ return false; -+ } -+ -+ // TODO: Claiming a logical address will only work when CEC device has a valid physical address -+ -+ // Clear existing logical addresses and set the CEC device to the unconfigured state -+ if (log_addrs.num_log_addrs) -+ { -+ log_addrs = {}; -+ if (ioctl(m_fd, CEC_ADAP_S_LOG_ADDRS, &log_addrs)) -+ { -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS failed - errno=%d", errno); -+ return false; -+ } -+ -+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=%04x num_log_addrs=%u", log_addrs.log_addr_mask, log_addrs.num_log_addrs); -+ } -+ -+ if (!addresses.IsEmpty()) -+ { -+ // NOTE: This can only be configured when num_log_addrs > 0 -+ // and gets reset when num_log_addrs = 0 -+ log_addrs.cec_version = CEC_OP_CEC_VERSION_1_4; -+ log_addrs.vendor_id = CEC_VENDOR_PULSE_EIGHT; -+ -+ // TODO: Support more then the primary logical address -+ log_addrs.num_log_addrs = 1; -+ log_addrs.log_addr[0] = addresses.primary; -+ -+ switch (addresses.primary) -+ { -+ case CECDEVICE_AUDIOSYSTEM: -+ log_addrs.primary_device_type[0] = CEC_OP_PRIM_DEVTYPE_AUDIOSYSTEM; -+ log_addrs.log_addr_type[0] = CEC_LOG_ADDR_TYPE_AUDIOSYSTEM; -+ log_addrs.all_device_types[0] = CEC_OP_ALL_DEVTYPE_AUDIOSYSTEM; -+ break; -+ case CECDEVICE_PLAYBACKDEVICE1: -+ case CECDEVICE_PLAYBACKDEVICE2: -+ case CECDEVICE_PLAYBACKDEVICE3: -+ log_addrs.primary_device_type[0] = CEC_OP_PRIM_DEVTYPE_PLAYBACK; -+ log_addrs.log_addr_type[0] = CEC_LOG_ADDR_TYPE_PLAYBACK; -+ log_addrs.all_device_types[0] = CEC_OP_ALL_DEVTYPE_PLAYBACK; -+ break; -+ case CECDEVICE_RECORDINGDEVICE1: -+ case CECDEVICE_RECORDINGDEVICE2: -+ case CECDEVICE_RECORDINGDEVICE3: -+ log_addrs.primary_device_type[0] = CEC_OP_PRIM_DEVTYPE_RECORD; -+ log_addrs.log_addr_type[0] = CEC_LOG_ADDR_TYPE_RECORD; -+ log_addrs.all_device_types[0] = CEC_OP_ALL_DEVTYPE_RECORD; -+ break; -+ case CECDEVICE_TUNER1: -+ case CECDEVICE_TUNER2: -+ case CECDEVICE_TUNER3: -+ case CECDEVICE_TUNER4: -+ log_addrs.primary_device_type[0] = CEC_OP_PRIM_DEVTYPE_TUNER; -+ log_addrs.log_addr_type[0] = CEC_LOG_ADDR_TYPE_TUNER; -+ log_addrs.all_device_types[0] = CEC_OP_ALL_DEVTYPE_TUNER; -+ break; -+ case CECDEVICE_TV: -+ log_addrs.primary_device_type[0] = CEC_OP_PRIM_DEVTYPE_TV; -+ log_addrs.log_addr_type[0] = CEC_LOG_ADDR_TYPE_TV; -+ log_addrs.all_device_types[0] = CEC_OP_ALL_DEVTYPE_TV; -+ break; -+ default: -+ log_addrs.primary_device_type[0] = CEC_OP_PRIM_DEVTYPE_SWITCH; -+ log_addrs.log_addr_type[0] = CEC_LOG_ADDR_TYPE_UNREGISTERED; -+ log_addrs.all_device_types[0] = CEC_OP_ALL_DEVTYPE_SWITCH; -+ break; -+ } -+ } -+ else -+ log_addrs.num_log_addrs = 0; -+ -+ if (ioctl(m_fd, CEC_ADAP_S_LOG_ADDRS, &log_addrs)) -+ { -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS failed - errno=%d", errno); -+ return false; -+ } -+ -+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=%04x num_log_addrs=%u", log_addrs.log_addr_mask, log_addrs.num_log_addrs); -+ -+ if (log_addrs.num_log_addrs && !log_addrs.log_addr_mask) -+ return false; -+ -+ return true; -+ } -+ -+ return false; -+} -+ -+cec_logical_addresses CLinuxCECAdapterCommunication::GetLogicalAddresses(void) const -+{ -+ cec_logical_addresses addresses; -+ addresses.Clear(); -+ -+ if (m_fd != INVALID_SOCKET_VALUE) -+ { -+ struct cec_log_addrs log_addrs = {}; -+ if (ioctl(m_fd, CEC_ADAP_G_LOG_ADDRS, &log_addrs)) -+ { -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::GetLogicalAddresses - ioctl CEC_ADAP_G_LOG_ADDRS failed - errno=%d", errno); -+ return addresses; -+ } -+ -+ for (int i = 0; i < log_addrs.num_log_addrs; i++) -+ addresses.Set(cec_logical_address(log_addrs.log_addr[i])); -+ } -+ -+ return addresses; -+} -+ -+uint16_t CLinuxCECAdapterCommunication::GetPhysicalAddress(void) -+{ -+ if (IsOpen()) -+ { -+ uint16_t addr; -+ if (!ioctl(m_fd, CEC_ADAP_G_PHYS_ADDR, &addr)) -+ return addr; -+ -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::GetPhysicalAddress - ioctl CEC_ADAP_G_PHYS_ADDR failed - errno=%d", errno); -+ } -+ -+ return CEC_INVALID_PHYSICAL_ADDRESS; -+} -+ -+cec_vendor_id CLinuxCECAdapterCommunication::GetVendorId(void) -+{ -+ if (IsOpen()) -+ { -+ struct cec_log_addrs log_addrs = {}; -+ if (!ioctl(m_fd, CEC_ADAP_G_LOG_ADDRS, &log_addrs)) -+ return cec_vendor_id(log_addrs.vendor_id); -+ -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::GetVendorId - ioctl CEC_ADAP_G_LOG_ADDRS failed - errno=%d", errno); -+ } -+ -+ return CEC_VENDOR_UNKNOWN; -+} -+ -+void *CLinuxCECAdapterCommunication::Process(void) -+{ -+ CTimeout phys_addr_timeout; -+ bool phys_addr_changed = false; -+ uint16_t phys_addr = CEC_INVALID_PHYSICAL_ADDRESS; -+ fd_set rd_fds; -+ fd_set ex_fds; -+ -+ while (!IsStopped()) -+ { -+ struct timeval timeval = {}; -+ timeval.tv_sec = 1; -+ -+ FD_ZERO(&rd_fds); -+ FD_ZERO(&ex_fds); -+ FD_SET(m_fd, &rd_fds); -+ FD_SET(m_fd, &ex_fds); -+ -+ if (select(m_fd + 1, &rd_fds, NULL, &ex_fds, &timeval) < 0) -+ { -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::Process - select failed - errno=%d", errno); -+ break; -+ } -+ -+ if (FD_ISSET(m_fd, &ex_fds)) -+ { -+ struct cec_event ev = {}; -+ if (ioctl(m_fd, CEC_DQEVENT, &ev)) -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::Process - ioctl CEC_DQEVENT failed - errno=%d", errno); -+ else if (ev.event == CEC_EVENT_STATE_CHANGE) -+ { -+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=%04x phys_addr=%04x", ev.state_change.log_addr_mask, ev.state_change.phys_addr); -+ -+ // TODO: handle ev.state_change.log_addr_mask change -+ -+ phys_addr = ev.state_change.phys_addr; -+ phys_addr_changed = true; -+ -+ if (ev.state_change.phys_addr == CEC_PHYS_ADDR_INVALID) -+ { -+ // Debounce change to invalid physical address with 2 seconds because -+ // EDID refresh and other events may cause short periods of invalid physical address -+ phys_addr_timeout.Init(2000); -+ } -+ else -+ { -+ // Debounce change to valid physical address with 500 ms when no logical address have been claimed -+ phys_addr_timeout.Init(ev.state_change.log_addr_mask ? 0 : 500); -+ } -+ } -+ } -+ -+ if (phys_addr_changed && !phys_addr_timeout.TimeLeft() && !IsStopped()) -+ { -+ phys_addr_changed = false; -+ m_callback->HandlePhysicalAddressChanged(phys_addr); -+ } -+ -+ if (FD_ISSET(m_fd, &rd_fds)) -+ { -+ struct cec_msg msg = {}; -+ if (ioctl(m_fd, CEC_RECEIVE, &msg)) -+ LIB_CEC->AddLog(CEC_LOG_ERROR, "CLinuxCECAdapterCommunication::Process - ioctl CEC_RECEIVE failed - rx_status=%02x errno=%d", msg.rx_status, errno); -+ else if (msg.len > 0) -+ { -+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "CLinuxCECAdapterCommunication::Process - ioctl CEC_RECEIVE - rx_status=%02x len=%d addr=%02x opcode=%02x", msg.rx_status, msg.len, msg.msg[0], cec_msg_opcode(&msg)); -+ -+ cec_command cmd; -+ cmd.PushArray(msg.len, msg.msg); -+ -+ if (!IsStopped()) -+ m_callback->OnCommandReceived(cmd); -+ } -+ } -+ -+ if (!IsStopped()) -+ Sleep(5); -+ } -+ -+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "CLinuxCECAdapterCommunication::Process - stopped - m_fd=%d", m_fd); -+ return 0; -+} -+ -+#endif -diff --git a/src/libcec/adapter/Linux/LinuxCECAdapterCommunication.h b/src/libcec/adapter/Linux/LinuxCECAdapterCommunication.h -new file mode 100644 -index 0000000..f4fac87 ---- /dev/null -+++ b/src/libcec/adapter/Linux/LinuxCECAdapterCommunication.h -@@ -0,0 +1,95 @@ -+#pragma once -+/* -+ * This file is part of the libCEC(R) library. -+ * -+ * libCEC Linux CEC Adapter is Copyright (C) 2017-2018 Jonas Karlman -+ * based heavily on: -+ * libCEC AOCEC Code is Copyright (C) 2016 Gerald Dachs -+ * libCEC Exynos Code is Copyright (C) 2014 Valentin Manea -+ * libCEC(R) is Copyright (C) 2011-2015 Pulse-Eight Limited. All rights reserved. -+ * libCEC(R) is an original work, containing original code. -+ * -+ * libCEC(R) is a trademark of Pulse-Eight Limited. -+ * -+ * This program is dual-licensed; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ * -+ * -+ * Alternatively, you can license this library under a commercial license, -+ * please contact Pulse-Eight Licensing for more information. -+ * -+ * For more information contact: -+ * Pulse-Eight Licensing -+ * http://www.pulse-eight.com/ -+ * http://www.pulse-eight.net/ -+ */ -+ -+#include "env.h" -+ -+#if defined(HAVE_LINUX_API) -+#include "p8-platform/threads/threads.h" -+#include "../AdapterCommunication.h" -+ -+namespace CEC -+{ -+ class CLinuxCECAdapterCommunication : public IAdapterCommunication, public P8PLATFORM::CThread -+ { -+ public: -+ /*! -+ * @brief Create a new Linux CEC communication handler. -+ * @param callback The callback to use for incoming CEC commands. -+ */ -+ CLinuxCECAdapterCommunication(IAdapterCommunicationCallback *callback); -+ virtual ~CLinuxCECAdapterCommunication(void); -+ -+ /** @name IAdapterCommunication implementation */ -+ ///{ -+ bool Open(uint32_t iTimeoutMs = CEC_DEFAULT_CONNECT_TIMEOUT, bool bSkipChecks = false, bool bStartListening = true) override; -+ void Close(void) override; -+ bool IsOpen(void) override; -+ cec_adapter_message_state Write(const cec_command &data, bool &bRetry, uint8_t iLineTimeout, bool bIsReply) override; -+ -+ bool SetLineTimeout(uint8_t UNUSED(iTimeout)) override { return true; } -+ bool StartBootloader(void) override { return false; } -+ bool SetLogicalAddresses(const cec_logical_addresses &addresses) override; -+ cec_logical_addresses GetLogicalAddresses(void) const override; -+ bool PingAdapter(void) override { return true; } -+ uint16_t GetFirmwareVersion(void) override { return 0; } -+ uint32_t GetFirmwareBuildDate(void) override { return 0; } -+ bool IsRunningLatestFirmware(void) override { return true; } -+ bool SetControlledMode(bool UNUSED(controlled)) override { return true; } -+ bool PersistConfiguration(const libcec_configuration & UNUSED(configuration)) override { return false; } -+ bool SetAutoMode(bool UNUSED(automode)) override { return false; } -+ bool GetConfiguration(libcec_configuration & UNUSED(configuration)) override { return false; } -+ std::string GetPortName(void) override { return std::string("LINUX"); } -+ uint16_t GetPhysicalAddress(void) override; -+ cec_vendor_id GetVendorId(void) override; -+ bool SupportsSourceLogicalAddress(const cec_logical_address address) override { return address > CECDEVICE_TV && address <= CECDEVICE_BROADCAST; } -+ cec_adapter_type GetAdapterType(void) override { return ADAPTERTYPE_LINUX; } -+ uint16_t GetAdapterVendorId(void) const override { return 1; } -+ uint16_t GetAdapterProductId(void) const override { return 1; } -+ void SetActiveSource(bool UNUSED(bSetTo), bool UNUSED(bClientUnregistered)) override {} -+ ///} -+ -+ /** @name P8PLATFORM::CThread implementation */ -+ ///{ -+ void *Process(void) override; -+ ///} -+ -+ private: -+ int m_fd; -+ }; -+}; -+ -+#endif -diff --git a/src/libcec/adapter/Linux/LinuxCECAdapterDetection.cpp b/src/libcec/adapter/Linux/LinuxCECAdapterDetection.cpp -new file mode 100644 -index 0000000..7b72238 ---- /dev/null -+++ b/src/libcec/adapter/Linux/LinuxCECAdapterDetection.cpp -@@ -0,0 +1,50 @@ -+/* -+ * This file is part of the libCEC(R) library. -+ * -+ * libCEC Linux CEC Adapter is Copyright (C) 2017 Jonas Karlman -+ * based heavily on: -+ * libCEC AOCEC Code is Copyright (C) 2016 Gerald Dachs -+ * libCEC Exynos Code is Copyright (C) 2014 Valentin Manea -+ * libCEC(R) is Copyright (C) 2011-2015 Pulse-Eight Limited. All rights reserved. -+ * libCEC(R) is an original work, containing original code. -+ * -+ * libCEC(R) is a trademark of Pulse-Eight Limited. -+ * -+ * This program is dual-licensed; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ * -+ * -+ * Alternatively, you can license this library under a commercial license, -+ * please contact Pulse-Eight Licensing for more information. -+ * -+ * For more information contact: -+ * Pulse-Eight Licensing -+ * http://www.pulse-eight.com/ -+ * http://www.pulse-eight.net/ -+ */ -+ -+#include "env.h" -+#include -+ -+#if defined(HAVE_LINUX_API) -+#include "LinuxCECAdapterDetection.h" -+ -+using namespace CEC; -+ -+bool CLinuxCECAdapterDetection::FindAdapter(void) -+{ -+ return access(CEC_LINUX_PATH, 0) == 0; -+} -+ -+#endif -diff --git a/src/libcec/adapter/Linux/LinuxCECAdapterDetection.h b/src/libcec/adapter/Linux/LinuxCECAdapterDetection.h -new file mode 100644 -index 0000000..f5ea2c4 ---- /dev/null -+++ b/src/libcec/adapter/Linux/LinuxCECAdapterDetection.h -@@ -0,0 +1,51 @@ -+#pragma once -+/* -+ * This file is part of the libCEC(R) library. -+ * -+ * libCEC Linux CEC Adapter is Copyright (C) 2017 Jonas Karlman -+ * based heavily on: -+ * libCEC AOCEC Code is Copyright (C) 2016 Gerald Dachs -+ * libCEC Exynos Code is Copyright (C) 2014 Valentin Manea -+ * libCEC(R) is Copyright (C) 2011-2015 Pulse-Eight Limited. All rights reserved. -+ * libCEC(R) is an original work, containing original code. -+ * -+ * libCEC(R) is a trademark of Pulse-Eight Limited. -+ * -+ * This program is dual-licensed; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ * -+ * -+ * Alternatively, you can license this library under a commercial license, -+ * please contact Pulse-Eight Licensing for more information. -+ * -+ * For more information contact: -+ * Pulse-Eight Licensing -+ * http://www.pulse-eight.com/ -+ * http://www.pulse-eight.net/ -+ */ -+ -+#include "env.h" -+ -+#if defined(HAVE_LINUX_API) -+ -+namespace CEC -+{ -+ class CLinuxCECAdapterDetection -+ { -+ public: -+ static bool FindAdapter(void); -+ }; -+}; -+ -+#endif -diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake -index 2d7102f..dacca0f 100644 ---- a/src/libcec/cmake/CheckPlatformSupport.cmake -+++ b/src/libcec/cmake/CheckPlatformSupport.cmake -@@ -9,6 +9,7 @@ - # HAVE_RPI_API ON if Raspberry Pi is supported - # HAVE_TDA995X_API ON if TDA995X is supported - # HAVE_EXYNOS_API ON if Exynos is supported -+# HAVE_LINUX_API ON if Linux is supported - # HAVE_AOCEC_API ON if AOCEC is supported - # HAVE_P8_USB ON if Pulse-Eight devices are supported - # HAVE_P8_USB_DETECT ON if Pulse-Eight devices can be auto-detected -@@ -30,6 +31,7 @@ SET(HAVE_LIBUDEV OFF CACHE BOOL "udev not supported") - SET(HAVE_RPI_API OFF CACHE BOOL "raspberry pi not supported") - SET(HAVE_TDA995X_API OFF CACHE BOOL "tda995x not supported") - SET(HAVE_EXYNOS_API OFF CACHE BOOL "exynos not supported") -+SET(HAVE_LINUX_API OFF CACHE BOOL "linux not supported") - SET(HAVE_AOCEC_API OFF CACHE BOOL "aocec not supported") - # Pulse-Eight devices are always supported - set(HAVE_P8_USB ON CACHE BOOL "p8 usb-cec supported" FORCE) -@@ -139,6 +141,16 @@ else() - list(APPEND CEC_SOURCES ${CEC_SOURCES_ADAPTER_EXYNOS}) - endif() - -+ # Linux -+ if (${HAVE_LINUX_API}) -+ set(LIB_INFO "${LIB_INFO}, Linux") -+ SET(HAVE_LINUX_API ON CACHE BOOL "linux supported" FORCE) -+ set(CEC_SOURCES_ADAPTER_LINUX adapter/Linux/LinuxCECAdapterDetection.cpp -+ adapter/Linux/LinuxCECAdapterCommunication.cpp) -+ source_group("Source Files\\adapter\\Linux" FILES ${CEC_SOURCES_ADAPTER_LINUX}) -+ list(APPEND CEC_SOURCES ${CEC_SOURCES_ADAPTER_LINUX}) -+ endif() -+ - # AOCEC - if (${HAVE_AOCEC_API}) - set(LIB_INFO "${LIB_INFO}, AOCEC") -diff --git a/src/libcec/cmake/DisplayPlatformSupport.cmake b/src/libcec/cmake/DisplayPlatformSupport.cmake -index 83a778a..f47b1f7 100644 ---- a/src/libcec/cmake/DisplayPlatformSupport.cmake -+++ b/src/libcec/cmake/DisplayPlatformSupport.cmake -@@ -44,6 +44,12 @@ else() - message(STATUS "DRM support: no") - endif() - -+if (HAVE_LINUX_API) -+ message(STATUS "Linux support: yes") -+else() -+ message(STATUS "Linux support: no") -+endif() -+ - if (HAVE_AOCEC_API) - message(STATUS "AOCEC support: yes") - else() -diff --git a/src/libcec/env.h.in b/src/libcec/env.h.in -index 456a2e7..71895a8 100644 ---- a/src/libcec/env.h.in -+++ b/src/libcec/env.h.in -@@ -76,6 +76,9 @@ - /* Define to 1 for Exynos support */ - #cmakedefine HAVE_EXYNOS_API @HAVE_EXYNOS_API@ - -+/* Define to 1 for Linux support */ -+#cmakedefine HAVE_LINUX_API @HAVE_LINUX_API@ -+ - /* Define to 1 for AOCEC support */ - #cmakedefine HAVE_AOCEC_API @HAVE_AOCEC_API@ - diff --git a/cec_scan/data/run.sh b/cec_scan/data/run.sh deleted file mode 100755 index 4b898e7f358..00000000000 --- a/cec_scan/data/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bashio -set -e - -bashio::log.info "Starting CEC client scan..." -echo scan | cec-client -s -d 1 diff --git a/cec_scan/rootfs/etc/services.d/cec-scan/finish b/cec_scan/rootfs/etc/services.d/cec-scan/finish new file mode 100644 index 00000000000..4e3864c52a3 --- /dev/null +++ b/cec_scan/rootfs/etc/services.d/cec-scan/finish @@ -0,0 +1,5 @@ +#!/usr/bin/execlineb -S0 +# ============================================================================== +# Take down the S6 supervision tree when config check is done +# ============================================================================== +s6-svscanctl -t /var/run/s6/services diff --git a/cec_scan/rootfs/etc/services.d/cec-scan/run b/cec_scan/rootfs/etc/services.d/cec-scan/run new file mode 100644 index 00000000000..953fa237213 --- /dev/null +++ b/cec_scan/rootfs/etc/services.d/cec-scan/run @@ -0,0 +1,7 @@ +#!/usr/bin/with-contenv bashio +# ============================================================================== +# Start CEC scan service +# ============================================================================== + +bashio::log.info "Starting CEC client scan..." +echo scan | cec-client -s -d 1 From 359e6d77cb31d44754b7a7534cde437041ba9c48 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Nov 2021 08:25:40 +0100 Subject: [PATCH 034/668] Bump actions/checkout from 2.3.5 to 2.4.0 (#2249) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/builder.yml | 4 ++-- .github/workflows/lint.yml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index d8851a7cc96..963f64a1098 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -20,7 +20,7 @@ jobs: changed: ${{ steps.changed_addons.outputs.changed }} steps: - name: Check out the repository - uses: actions/checkout@v2.3.5 + uses: actions/checkout@v2.4.0 - name: Get changed files id: changed_files @@ -72,7 +72,7 @@ jobs: steps: - name: Check out repository - uses: actions/checkout@v2.3.5 + uses: actions/checkout@v2.4.0 - name: Get information id: info diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e900234e746..e956ddbf118 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -16,7 +16,7 @@ jobs: name: hadolint steps: - name: Check out the repository - uses: actions/checkout@v2.3.5 + uses: actions/checkout@v2.4.0 - name: Run linter id: changed_files @@ -34,7 +34,7 @@ jobs: name: JQ steps: - name: Check out the repository - uses: actions/checkout@v2.3.5 + uses: actions/checkout@v2.4.0 - name: Run linter run: | @@ -46,7 +46,7 @@ jobs: name: ShellCheck steps: - name: Check out the repository - uses: actions/checkout@v2.3.5 + uses: actions/checkout@v2.4.0 - name: Run linter uses: ludeeus/action-shellcheck@1.1.0 \ No newline at end of file From fd0ba080ed4203f20e19ba88407d53488873d0db Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Fri, 5 Nov 2021 08:26:22 -0700 Subject: [PATCH 035/668] Bump zwave-js to 8.7.5 (#2248) * Bump zwave-js to 8.7.2 * Bump zwave-js to 8.7.3 * Bump zwave-js to 8.7.4 * Bump zwave-js to 8.7.5 * bump zwave-js-server to 1.10.8 --- zwave_js/CHANGELOG.md | 5 +++++ zwave_js/build.json | 4 ++-- zwave_js/config.json | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 3ba8a0bc63c..c082b5a6732 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.1.46 + +- Bump Z-Wave JS to 8.7.5 +- Bump Z-Wave JS Server to 1.10.8 + ## 0.1.45 - Bump Z-Wave JS Server to 1.10.7 diff --git a/zwave_js/build.json b/zwave_js/build.json index ba8a9172ba3..a5c5db036f2 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -7,7 +7,7 @@ "aarch64": "homeassistant/aarch64-base:3.13" }, "args": { - "ZWAVEJS_SERVER_VERSION": "1.10.7", - "ZWAVEJS_VERSION": "8.4.1" + "ZWAVEJS_SERVER_VERSION": "1.10.8", + "ZWAVEJS_VERSION": "8.7.5" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index 089f585c9be..4f480cb3623 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.45", + "version": "0.1.46", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From b148a65c257a340b3c6f78653c920fda4b602360 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Tue, 9 Nov 2021 11:27:32 +0100 Subject: [PATCH 036/668] Add issue form (#2262) --- .github/ISSUE_TEMPLATE/BUG_REPORT.md | 50 ----------- .github/ISSUE_TEMPLATE/bug_report.yml | 122 ++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 50 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/BUG_REPORT.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.md b/.github/ISSUE_TEMPLATE/BUG_REPORT.md deleted file mode 100644 index 1accd59c648..00000000000 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -name: Report a bug with one of the add-ons -about: Report an issue with one of the add-ons in this repository ---- - -## The problem - - - -## Environment - - -- Add-on with the issue: -- Add-on release with the issue: -- Last working add-on release (if known): -- Operating environment (OS/Supervised): - -## Problem-relevant configuration - - -```yaml - -``` - -## Traceback/Error logs - - -```txt - -``` - -## Additional information diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000000..62f37277f5f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,122 @@ +name: Bug Report Form +description: Report an issue related to one of the official add-ons. +body: + - type: markdown + attributes: + value: | + This issue form is for reporting bugs with **supported** setups only! + + If you have a feature or enhancement request, please use the [feature request][fr] section of our [Community Forum][fr]. + + [fr]: https://community.home-assistant.io/c/feature-requests + + - type: textarea + validations: + required: true + attributes: + label: Describe the issue you are experiencing + description: Provide a clear and concise description of what the bug is. + + - type: markdown + attributes: + value: | + ## Environment + + - type: dropdown + validations: + required: true + attributes: + label: What type of installation are you running? + description: > + If you don't know, you can find it in: [Configuration panel -> Info](https://my.home-assistant.io/redirect/info/). + options: + - Home Assistant OS + - Home Assistant Supervised + + - type: dropdown + validations: + required: true + attributes: + label: Which operating system are you running on? + options: + - Home Assistant Operating System + - Debian + - Other (e.g., Raspbian/Raspberry Pi OS/Fedora) + + - type: dropdown + validations: + required: true + attributes: + label: Which add-on are you reporting an issue with? + options: + - Hey Ada! + - Almond + - CEC Scanner + - Check Home Assistant configuration + - File editor + - deCONZ + - DHCP Server + - Dnsmasq + - Duck DNS + - Git pull + - Google Assistant SDK + - HomeMatic CCU + - Let's Encrypt + - MariaDB + - Mosquitto broker + - NGINX Home Assistant SSL proxy + - RPC Shutdown + - Samba share + - Terminal & SSH + - TellStick + - VLC + - OpenZWave + - Z-Wave JS + + - type: input + validations: + required: true + attributes: + label: What is the version of the add-on? + description: Can be found in the Supervisor panel -> Overview tab -> the add-on + + - type: markdown + attributes: + value: | + # Details + + - type: textarea + validations: + required: true + attributes: + label: Steps to reproduce the issue + description: | + Please tell us exactly how to reproduce your issue. + Provide clear and concise step by step instructions and add code snippets if needed. + value: | + 1. + 2. + 3. + ... + + - type: textarea + attributes: + label: Anything in the Supervisor logs that might be useful for us? + description: > + The Supervisor logs can be found in the [Supervisor panel -> System tab](https://my.home-assistant.io/redirect/supervisor_info/). + render: txt + + - type: textarea + attributes: + label: Anything in the add-on logs that might be useful for us? + description: > + The add-on logs can be found in the Supervisor panel on the add-on page -> Logs tab. + render: txt + + - type: textarea + attributes: + label: Additional information + description: > + If you have any additional information for us, use the field below. + Please note, you can attach screenshots or screen recordings here, by + dragging and dropping files in the field below. From 4f3c3c06c476aba0a2e77315bb89ac45f995d003 Mon Sep 17 00:00:00 2001 From: Martin Hjelmare Date: Tue, 9 Nov 2021 13:45:03 +0100 Subject: [PATCH 037/668] Disable zwave-js soft-reset on vm (#2261) --- zwave_js/CHANGELOG.md | 4 ++++ zwave_js/config.json | 3 ++- zwave_js/rootfs/etc/cont-init.d/config.sh | 13 +++++++++++++ zwave_js/rootfs/usr/share/tempio/zwave_config.conf | 3 ++- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index c082b5a6732..7a8acadbe78 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.1.47 + +- Disable soft-reset if VM is detected + ## 0.1.46 - Bump Z-Wave JS to 8.7.5 diff --git a/zwave_js/config.json b/zwave_js/config.json index 4f480cb3623..3003f108494 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.46", + "version": "0.1.47", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], @@ -8,6 +8,7 @@ "startup": "services", "init": false, "stage": "stable", + "hassio_api": true, "homeassistant": "2021.2.0b0", "ports": { "3000/tcp": null diff --git a/zwave_js/rootfs/etc/cont-init.d/config.sh b/zwave_js/rootfs/etc/cont-init.d/config.sh index 0fd90a75bc2..b23f40fd202 100644 --- a/zwave_js/rootfs/etc/cont-init.d/config.sh +++ b/zwave_js/rootfs/etc/cont-init.d/config.sh @@ -11,6 +11,8 @@ declare s2_authenticated declare s2_unauthenticated declare log_level declare flush_to_disk +declare host_chassis +declare soft_reset readonly DOCS_EXAMPLE_KEY_1="2232666D100F795E5BB17F0A1BB7A146" readonly DOCS_EXAMPLE_KEY_2="A97D2A51A6D4022998BEFC7B5DAE8EA1" @@ -98,6 +100,16 @@ else log_level=$(bashio::config 'log_level') fi +host_chassis=$(bashio::host.chassis) + +if [ "${host_chassis}" == "vm" ]; then + soft_reset=false + bashio::log.info "Virtual Machine detected, disabling soft-reset" +else + soft_reset=true + bashio::log.info "Virtual Machine not detected, enabling soft-reset" +fi + # Generate config bashio::var.json \ @@ -106,6 +118,7 @@ bashio::var.json \ s2_authenticated "${s2_authenticated}" \ s2_unauthenticated "${s2_unauthenticated}" \ log_level "${log_level}" \ + soft_reset "^${soft_reset}" \ | tempio \ -template /usr/share/tempio/zwave_config.conf \ -out /etc/zwave_config.json diff --git a/zwave_js/rootfs/usr/share/tempio/zwave_config.conf b/zwave_js/rootfs/usr/share/tempio/zwave_config.conf index 48c5391b675..1d17a3491dc 100644 --- a/zwave_js/rootfs/usr/share/tempio/zwave_config.conf +++ b/zwave_js/rootfs/usr/share/tempio/zwave_config.conf @@ -13,5 +13,6 @@ "S2_AccessControl": "{{ .s2_access_control }}", "S2_Authenticated": "{{ .s2_authenticated }}", "S2_Unauthenticated": "{{ .s2_unauthenticated }}" - } + }, + "enableSoftReset": {{ .soft_reset }} } From d1058b2a580157b50608aa6756b1377964a5dca7 Mon Sep 17 00:00:00 2001 From: Martin Hjelmare Date: Sat, 13 Nov 2021 16:25:34 +0100 Subject: [PATCH 038/668] Clean VLC from Z-Wave JS references (#2266) --- vlc/rootfs/etc/services.d/vlc/finish | 2 +- vlc/rootfs/etc/services.d/vlc/run | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/vlc/rootfs/etc/services.d/vlc/finish b/vlc/rootfs/etc/services.d/vlc/finish index d886e9f6b34..b76abeeee48 100644 --- a/vlc/rootfs/etc/services.d/vlc/finish +++ b/vlc/rootfs/etc/services.d/vlc/finish @@ -1,6 +1,6 @@ #!/usr/bin/execlineb -S1 # ============================================================================== -# Take down the S6 supervision tree when Z-Wave JS fails +# Take down the S6 supervision tree when VLC fails # ============================================================================== if { s6-test ${1} -ne 0 } if { s6-test ${1} -ne 256 } diff --git a/vlc/rootfs/etc/services.d/vlc/run b/vlc/rootfs/etc/services.d/vlc/run index 90d2c0ed4a3..70780d13c44 100644 --- a/vlc/rootfs/etc/services.d/vlc/run +++ b/vlc/rootfs/etc/services.d/vlc/run @@ -1,6 +1,6 @@ #!/usr/bin/with-contenv bashio # ============================================================================== -# Start Z-Wave JS service for Z-Wave radio +# Start VLC service # ============================================================================== readonly PASSWORD="$(cat /data/secret)" From 8bf82d5765944c95b51186d06f57f613c9b0905c Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Tue, 16 Nov 2021 21:49:28 -0500 Subject: [PATCH 039/668] Bump zwave-js-server to 1.11.0 and zwave-js to 8.7.6 (#2271) * Update build.json * Update config.json * Update CHANGELOG.md --- zwave_js/CHANGELOG.md | 5 +++++ zwave_js/build.json | 4 ++-- zwave_js/config.json | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 7a8acadbe78..a25fa7bcd06 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.1.48 + +- Bump Z-Wave JS to 8.7.6 +- Bump Z-Wave JS Server to 1.11.0 + ## 0.1.47 - Disable soft-reset if VM is detected diff --git a/zwave_js/build.json b/zwave_js/build.json index a5c5db036f2..10e464855f5 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -7,7 +7,7 @@ "aarch64": "homeassistant/aarch64-base:3.13" }, "args": { - "ZWAVEJS_SERVER_VERSION": "1.10.8", - "ZWAVEJS_VERSION": "8.7.5" + "ZWAVEJS_SERVER_VERSION": "1.11.0", + "ZWAVEJS_VERSION": "8.7.6" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index 3003f108494..d01c82fa36b 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.47", + "version": "0.1.48", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From 9095122f8853e736ce95e7d29e58487f9927c668 Mon Sep 17 00:00:00 2001 From: "Clemens @ Elektor" <60133590+ClemensAtElektor@users.noreply.github.com> Date: Mon, 22 Nov 2021 11:54:26 +0100 Subject: [PATCH 040/668] Remove confusion (#2276) --- mosquitto/DOCS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mosquitto/DOCS.md b/mosquitto/DOCS.md index 5c2165e002e..b2684caeb75 100644 --- a/mosquitto/DOCS.md +++ b/mosquitto/DOCS.md @@ -16,11 +16,11 @@ The add-on has a couple of options available. To get the add-on running: 2. Have some patience and wait a couple of minutes. 3. Check the add-on log output to see the result. -Create a new user for MQTT via the **Configuration** -> **Users (manage users)**. +Create a new user for MQTT via your Home Assistant's frontend **Configuration** -> **Users (manage users)** , (i.e. not on Mosquitto's **Configuration** tab). Notes: 1. This name cannot be `homeassistant` or `addon`, those are reserved usernames. -2. If you do not see the option to create a new user, ensure that **Advanced Mode** is enabled in your profile. +2. If you do not see the option to create a new user, ensure that **Advanced Mode** is enabled in your Home Assistant profile. To use the Mosquitto as a broker, go to the integration page and install the configuration with one click: From ce09004a76b79f14bf3e2625c62e471188605da8 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Tue, 23 Nov 2021 03:27:53 -0500 Subject: [PATCH 041/668] Bump zwave-js to 8.7.7 and zwave-js-server to 1.12.0 (#2278) --- zwave_js/CHANGELOG.md | 5 +++++ zwave_js/build.json | 4 ++-- zwave_js/config.json | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index a25fa7bcd06..18fecf405fe 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.1.49 + +- Bump Z-Wave JS to 8.7.7 +- Bump Z-Wave JS Server to 1.12.0 + ## 0.1.48 - Bump Z-Wave JS to 8.7.6 diff --git a/zwave_js/build.json b/zwave_js/build.json index 10e464855f5..73035c10fdf 100644 --- a/zwave_js/build.json +++ b/zwave_js/build.json @@ -7,7 +7,7 @@ "aarch64": "homeassistant/aarch64-base:3.13" }, "args": { - "ZWAVEJS_SERVER_VERSION": "1.11.0", - "ZWAVEJS_VERSION": "8.7.6" + "ZWAVEJS_SERVER_VERSION": "1.12.0", + "ZWAVEJS_VERSION": "8.7.7" } } diff --git a/zwave_js/config.json b/zwave_js/config.json index d01c82fa36b..234376ef3ca 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.48", + "version": "0.1.49", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From fe641dfad2473b049a52cf6dc9627b2cdaf4fee3 Mon Sep 17 00:00:00 2001 From: Martin Hjelmare Date: Wed, 24 Nov 2021 10:55:54 +0100 Subject: [PATCH 042/668] Roll back zwave_js to 0.1.48 (#2285) --- zwave_js/CHANGELOG.md | 4 ++++ zwave_js/config.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 18fecf405fe..487ffba96fa 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.1.48 + +- Roll back add-on to 0.1.48 as a temporary fix for build issues with 0.1.49. + ## 0.1.49 - Bump Z-Wave JS to 8.7.7 diff --git a/zwave_js/config.json b/zwave_js/config.json index 234376ef3ca..d01c82fa36b 100644 --- a/zwave_js/config.json +++ b/zwave_js/config.json @@ -1,6 +1,6 @@ { "name": "Z-Wave JS", - "version": "0.1.49", + "version": "0.1.48", "slug": "zwave_js", "description": "Control a ZWave network with Home Assistant Z-Wave JS", "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], From 69c68bfac9eb7300ab90727cfde9e557fa475169 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 Nov 2021 11:43:54 +0100 Subject: [PATCH 043/668] Update-deployment (#2281) * Update deployment * fix workflow * Fix order * restruct v1 * Fix style v2 * Cleanup style v3 * fix style v4 * Last style fix * Address comments * Update builder to 2021.11.3 * Fix let's encrypt * fix lint * Use ghcr.io * fix * Update versions * fix readme --- .github/workflows/builder.yml | 25 +++++------ .hadolint.yaml | 1 + ada/build.json | 10 ----- ada/build.yaml | 9 ++++ ada/config.json | 21 --------- ada/config.yaml | 20 +++++++++ almond/build.json | 10 ----- almond/build.yaml | 9 ++++ almond/config.json | 16 ------- almond/config.yaml | 18 ++++++++ cec_scan/build.json | 12 ----- cec_scan/build.yaml | 11 +++++ cec_scan/config.json | 14 ------ cec_scan/config.yaml | 17 +++++++ check_config/build.json | 9 ---- check_config/build.yaml | 9 ++++ check_config/config.json | 21 --------- check_config/config.yaml | 26 +++++++++++ configurator/build.json | 12 ----- configurator/build.yaml | 11 +++++ configurator/config.json | 29 ------------ configurator/config.yaml | 41 +++++++++++++++++ deconz/build.json | 10 ----- deconz/build.yaml | 9 ++++ deconz/config.json | 45 ------------------- deconz/config.yaml | 46 +++++++++++++++++++ dhcp_server/build.json | 9 ---- dhcp_server/build.yaml | 9 ++++ dhcp_server/config.json | 54 ----------------------- dhcp_server/config.yaml | 49 +++++++++++++++++++++ dnsmasq/build.json | 9 ---- dnsmasq/build.yaml | 9 ++++ dnsmasq/config.json | 46 ------------------- dnsmasq/config.yaml | 40 +++++++++++++++++ duckdns/build.json | 12 ----- duckdns/build.yaml | 11 +++++ duckdns/config.json | 39 ---------------- duckdns/config.yaml | 41 +++++++++++++++++ git_pull/build.json | 12 ----- git_pull/build.yaml | 11 +++++ git_pull/config.json | 50 --------------------- git_pull/config.yaml | 54 +++++++++++++++++++++++ google_assistant/build.json | 15 ------- google_assistant/build.yaml | 14 ++++++ google_assistant/config.json | 36 --------------- google_assistant/config.yaml | 33 ++++++++++++++ homematic/build.json | 9 ---- homematic/build.yaml | 8 ++++ homematic/config.json | 63 -------------------------- homematic/config.yaml | 51 +++++++++++++++++++++ letsencrypt/CHANGELOG.md | 6 +++ letsencrypt/Dockerfile | 23 +++++----- letsencrypt/build.json | 17 ------- letsencrypt/build.yaml | 16 +++++++ letsencrypt/config.json | 81 ---------------------------------- letsencrypt/config.yaml | 83 +++++++++++++++++++++++++++++++++++ mariadb/build.json | 9 ---- mariadb/build.yaml | 9 ++++ mariadb/config.json | 41 ----------------- mariadb/config.yaml | 42 ++++++++++++++++++ mosquitto/build.json | 12 ----- mosquitto/build.yaml | 11 +++++ mosquitto/config.json | 53 ---------------------- mosquitto/config.yaml | 51 +++++++++++++++++++++ nginx_proxy/build.json | 9 ---- nginx_proxy/build.yaml | 9 ++++ nginx_proxy/config.json | 38 ---------------- nginx_proxy/config.yaml | 38 ++++++++++++++++ rpc_shutdown/build.yaml | 9 ++++ rpc_shutdown/config.json | 34 -------------- rpc_shutdown/config.yaml | 31 +++++++++++++ samba/build.json | 9 ---- samba/build.yaml | 9 ++++ samba/config.json | 42 ------------------ samba/config.yaml | 48 ++++++++++++++++++++ ssh/build.json | 14 ------ ssh/build.yaml | 13 ++++++ ssh/config.json | 47 -------------------- ssh/config.yaml | 46 +++++++++++++++++++ tellstick/build.json | 12 ----- tellstick/build.yaml | 11 +++++ tellstick/config.json | 46 ------------------- tellstick/config.yaml | 39 ++++++++++++++++ vlc/build.json | 8 ---- vlc/build.yaml | 8 ++++ vlc/config.json | 20 --------- vlc/config.yaml | 25 +++++++++++ zwave/build.json | 18 -------- zwave/build.yaml | 17 +++++++ zwave/config.json | 36 --------------- zwave/config.yaml | 37 ++++++++++++++++ zwave_js/CHANGELOG.md | 4 -- zwave_js/build.json | 13 ------ zwave_js/build.yaml | 12 +++++ zwave_js/config.json | 39 ---------------- zwave_js/config.yaml | 39 ++++++++++++++++ 96 files changed, 1190 insertions(+), 1189 deletions(-) delete mode 100644 ada/build.json create mode 100644 ada/build.yaml delete mode 100644 ada/config.json create mode 100644 ada/config.yaml delete mode 100644 almond/build.json create mode 100644 almond/build.yaml delete mode 100644 almond/config.json create mode 100644 almond/config.yaml delete mode 100644 cec_scan/build.json create mode 100644 cec_scan/build.yaml delete mode 100644 cec_scan/config.json create mode 100644 cec_scan/config.yaml delete mode 100644 check_config/build.json create mode 100644 check_config/build.yaml delete mode 100644 check_config/config.json create mode 100644 check_config/config.yaml delete mode 100644 configurator/build.json create mode 100644 configurator/build.yaml delete mode 100644 configurator/config.json create mode 100644 configurator/config.yaml delete mode 100644 deconz/build.json create mode 100644 deconz/build.yaml delete mode 100644 deconz/config.json create mode 100644 deconz/config.yaml delete mode 100644 dhcp_server/build.json create mode 100644 dhcp_server/build.yaml delete mode 100644 dhcp_server/config.json create mode 100644 dhcp_server/config.yaml delete mode 100644 dnsmasq/build.json create mode 100644 dnsmasq/build.yaml delete mode 100644 dnsmasq/config.json create mode 100644 dnsmasq/config.yaml delete mode 100644 duckdns/build.json create mode 100644 duckdns/build.yaml delete mode 100644 duckdns/config.json create mode 100644 duckdns/config.yaml delete mode 100644 git_pull/build.json create mode 100644 git_pull/build.yaml delete mode 100644 git_pull/config.json create mode 100644 git_pull/config.yaml delete mode 100644 google_assistant/build.json create mode 100644 google_assistant/build.yaml delete mode 100644 google_assistant/config.json create mode 100644 google_assistant/config.yaml delete mode 100644 homematic/build.json create mode 100644 homematic/build.yaml delete mode 100644 homematic/config.json create mode 100644 homematic/config.yaml delete mode 100644 letsencrypt/build.json create mode 100644 letsencrypt/build.yaml delete mode 100644 letsencrypt/config.json create mode 100644 letsencrypt/config.yaml delete mode 100644 mariadb/build.json create mode 100644 mariadb/build.yaml delete mode 100644 mariadb/config.json create mode 100644 mariadb/config.yaml delete mode 100644 mosquitto/build.json create mode 100644 mosquitto/build.yaml delete mode 100644 mosquitto/config.json create mode 100644 mosquitto/config.yaml delete mode 100644 nginx_proxy/build.json create mode 100644 nginx_proxy/build.yaml delete mode 100644 nginx_proxy/config.json create mode 100644 nginx_proxy/config.yaml create mode 100644 rpc_shutdown/build.yaml delete mode 100644 rpc_shutdown/config.json create mode 100644 rpc_shutdown/config.yaml delete mode 100644 samba/build.json create mode 100644 samba/build.yaml delete mode 100644 samba/config.json create mode 100644 samba/config.yaml delete mode 100644 ssh/build.json create mode 100644 ssh/build.yaml delete mode 100644 ssh/config.json create mode 100644 ssh/config.yaml delete mode 100644 tellstick/build.json create mode 100644 tellstick/build.yaml delete mode 100644 tellstick/config.json create mode 100644 tellstick/config.yaml delete mode 100644 vlc/build.json create mode 100644 vlc/build.yaml delete mode 100644 vlc/config.json create mode 100644 vlc/config.yaml delete mode 100644 zwave/build.json create mode 100644 zwave/build.yaml delete mode 100644 zwave/config.json create mode 100644 zwave/config.yaml delete mode 100644 zwave_js/build.json create mode 100644 zwave_js/build.yaml delete mode 100644 zwave_js/config.json create mode 100644 zwave_js/config.yaml diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index 963f64a1098..15135f2130e 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -2,7 +2,7 @@ name: Build add-on env: BUILD_ARGS: "--test" - MONITORED_FILES: "apparmor.txt build.json config.json Dockerfile data rootfs" + MONITORED_FILES: "apparmor.txt build.yaml config.yaml Dockerfile data rootfs" on: pull_request: @@ -30,7 +30,7 @@ jobs: id: addons run: | declare -a addons - for addon in $(find ./ -name config.json | cut -d "/" -f2 | sort -u); do + for addon in $(find ./ -name config.yaml | cut -d "/" -f2 | sort -u); do addons+=("$addon"); done echo "::set-output name=addons::${addons[@]}" @@ -66,7 +66,7 @@ jobs: if: needs.init.outputs.changed == 'true' name: Build ${{ matrix.arch }} ${{ matrix.addon }} add-on strategy: - matrix: + matrix: addon: ${{ fromJson(needs.init.outputs.changed_addons) }} arch: ["aarch64", "amd64", "armhf", "armv7", "i386"] @@ -83,14 +83,11 @@ jobs: - name: Check add-on id: check run: | - if [[ "${{ steps.info.outputs.architectures }}" =~ ${{ matrix.arch }} ]]; then - echo "::set-output name=build_arch::true"; - else - echo "${{ matrix.arch }} is not a valid arch for ${{ matrix.addon }}, skipping build"; - fi - - version=$(jq -r '.version' "./${{ matrix.addon }}/config.json") - echo "::set-output name=version::${version}"; + if [[ "${{ steps.info.outputs.architectures }}" =~ ${{ matrix.arch }} ]]; then + echo "::set-output name=build_arch::true"; + else + echo "${{ matrix.arch }} is not a valid arch for ${{ matrix.addon }}, skipping build"; + fi - name: Set build arguments if: steps.check.outputs.build_arch == 'true' @@ -116,12 +113,12 @@ jobs: - name: Build ${{ matrix.addon }} add-on if: steps.check.outputs.build_arch == 'true' - uses: home-assistant/builder@2021.09.0 + uses: home-assistant/builder@2021.11.3 with: args: | ${{ env.BUILD_ARGS }} \ --${{ matrix.arch }} \ --target /data/${{ matrix.addon }} \ - --with-codenotary "${{ secrets.VCN_USER }}" "${{ secrets.VCN_PASSWORD }}" "${{ secrets.VCN_ORG }}" \ - --validate-from "${{ secrets.VCN_ORG }}" \ --addon + env: + CAS_API_KEY: ${{ secrets.CAS_TOKEN }} diff --git a/.hadolint.yaml b/.hadolint.yaml index d29b725401b..d97672ace45 100644 --- a/.hadolint.yaml +++ b/.hadolint.yaml @@ -7,3 +7,4 @@ ignored: - DL3018 - DL4006 - SC2046 + - SC2086 diff --git a/ada/build.json b/ada/build.json deleted file mode 100644 index 5c7c6119475..00000000000 --- a/ada/build.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "build_from": { - "amd64": "homeassistant/amd64-base-debian:buster", - "armhf": "homeassistant/armhf-base-debian:buster", - "armv7": "homeassistant/armv7-base-debian:buster" - }, - "args": { - "ADA_VERSION": "0.8.1" - } -} diff --git a/ada/build.yaml b/ada/build.yaml new file mode 100644 index 00000000000..8c7ae5468a8 --- /dev/null +++ b/ada/build.yaml @@ -0,0 +1,9 @@ +build_from: + amd64: ghcr.io/home-assistant/amd64-base-debian:buster + armhf: ghcr.io/home-assistant/armhf-base-debian:buster + armv7: ghcr.io/home-assistant/armv7-base-debian:buster +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + ADA_VERSION: 0.8.1 diff --git a/ada/config.json b/ada/config.json deleted file mode 100644 index 5c3bb9b3e57..00000000000 --- a/ada/config.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "Hey Ada!", - "version": "1.1.1", - "slug": "ada", - "description": "Voice assistant powered by Home Assistant", - "url": "https://github.com/home-assistant/hassio-addons/blob/master/ada", - "arch": ["armhf", "armv7", "amd64"], - "init": false, - "audio": true, - "homeassistant": "0.102.0", - "homeassistant_api": true, - "options": { - "stt": "cloud", - "tts": "cloud" - }, - "schema": { - "stt": "str", - "tts": "str" - }, - "image": "homeassistant/{arch}-addon-ada" -} diff --git a/ada/config.yaml b/ada/config.yaml new file mode 100644 index 00000000000..bd8bbd22d50 --- /dev/null +++ b/ada/config.yaml @@ -0,0 +1,20 @@ +version: 1.1.1 +slug: ada +name: Hey Ada! +description: Voice assistant powered by Home Assistant +url: https://github.com/home-assistant/hassio-addons/blob/master/ada +arch: + - armhf + - armv7 + - amd64 +audio: true +homeassistant: 0.102.0 +homeassistant_api: true +image: homeassistant/{arch}-addon-ada +init: false +options: + stt: cloud + tts: cloud +schema: + stt: str + tts: str diff --git a/almond/build.json b/almond/build.json deleted file mode 100644 index b8280df7bc5..00000000000 --- a/almond/build.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "build_from": { - "aarch64": "homeassistant/aarch64-base-debian:buster", - "amd64": "homeassistant/amd64-base-debian:buster", - "armv7": "homeassistant/armv7-base-debian:buster" - }, - "args": { - "ALMOND_VERSION": "v2.0.1" - } -} diff --git a/almond/build.yaml b/almond/build.yaml new file mode 100644 index 00000000000..c3a6b41d6f1 --- /dev/null +++ b/almond/build.yaml @@ -0,0 +1,9 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base-debian:buster + amd64: ghcr.io/home-assistant/amd64-base-debian:buster + armv7: ghcr.io/home-assistant/armv7-base-debian:buster +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + ALMOND_VERSION: v2.0.1 diff --git a/almond/config.json b/almond/config.json deleted file mode 100644 index df666628dc1..00000000000 --- a/almond/config.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "Almond", - "version": "2.0.1", - "slug": "almond", - "description": "The open-source, privacy-preserving voice assistant", - "url": "https://github.com/home-assistant/hassio-addons/blob/master/almond", - "arch": ["armv7", "aarch64", "amd64"], - "init": false, - "discovery": ["almond"], - "ingress": true, - "audio": true, - "panel_icon": "mdi:comment-eye-outline", - "homeassistant": "0.102.0", - "homeassistant_api": true, - "image": "homeassistant/{arch}-addon-almond" -} diff --git a/almond/config.yaml b/almond/config.yaml new file mode 100644 index 00000000000..e6e8d285b70 --- /dev/null +++ b/almond/config.yaml @@ -0,0 +1,18 @@ +version: 2.0.1 +slug: almond +name: Almond +description: The open-source, privacy-preserving voice assistant +url: https://github.com/home-assistant/hassio-addons/blob/master/almond +arch: + - armv7 + - aarch64 + - amd64 +audio: true +discovery: + - almond +homeassistant: 0.102.0 +homeassistant_api: true +image: homeassistant/{arch}-addon-almond +ingress: true +init: false +panel_icon: mdi:comment-eye-outline diff --git a/cec_scan/build.json b/cec_scan/build.json deleted file mode 100644 index eda9a0d541c..00000000000 --- a/cec_scan/build.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "build_from": { - "aarch64": "homeassistant/aarch64-base:3.14", - "amd64": "homeassistant/amd64-base:3.14", - "armhf": "homeassistant/armhf-base:3.14", - "armv7": "homeassistant/armv7-base:3.14", - "i386": "homeassistant/i386-base:3.14" - }, - "args": { - "LIBCEC_VERSION": "6.0.2" - } -} diff --git a/cec_scan/build.yaml b/cec_scan/build.yaml new file mode 100644 index 00000000000..bf513477a54 --- /dev/null +++ b/cec_scan/build.yaml @@ -0,0 +1,11 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.14 + amd64: ghcr.io/home-assistant/amd64-base:3.14 + armhf: ghcr.io/home-assistant/armhf-base:3.14 + armv7: ghcr.io/home-assistant/armv7-base:3.14 + i386: ghcr.io/home-assistant/i386-base:3.14 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + LIBCEC_VERSION: 6.0.2 diff --git a/cec_scan/config.json b/cec_scan/config.json deleted file mode 100644 index d272cc3bab3..00000000000 --- a/cec_scan/config.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "CEC Scanner", - "version": "3.0", - "slug": "cec_scan", - "description": "Scan for HDMI CEC devices", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/cec_scan", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "startup": "once", - "boot": "manual", - "video": true, - "options": {}, - "schema": {}, - "image": "homeassistant/{arch}-addon-cec_scan" -} diff --git a/cec_scan/config.yaml b/cec_scan/config.yaml new file mode 100644 index 00000000000..2bb10e46673 --- /dev/null +++ b/cec_scan/config.yaml @@ -0,0 +1,17 @@ +version: "3.0" +slug: cec_scan +name: CEC Scanner +url: https://github.com/home-assistant/hassio-addons/tree/master/cec_scan +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +boot: manual +description: Scan for HDMI CEC devices +image: homeassistant/{arch}-addon-cec_scan +options: {} +schema: {} +startup: once +video: true diff --git a/check_config/build.json b/check_config/build.json deleted file mode 100644 index 370ba8a6259..00000000000 --- a/check_config/build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "build_from": { - "aarch64": "ghcr.io/home-assistant/aarch64-homeassistant-base:2021.09.0", - "amd64": "ghcr.io/home-assistant/amd64-homeassistant-base:2021.09.0", - "armhf": "ghcr.io/home-assistant/armhf-homeassistant-base:2021.09.0", - "armv7": "ghcr.io/home-assistant/armv7-homeassistant-base:2021.09.0", - "i386": "ghcr.io/home-assistant/i386-homeassistant-base:2021.09.0" - } -} diff --git a/check_config/build.yaml b/check_config/build.yaml new file mode 100644 index 00000000000..eb0f6d10706 --- /dev/null +++ b/check_config/build.yaml @@ -0,0 +1,9 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2021.09.0 + amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2021.09.0 + armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2021.09.0 + armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2021.09.0 + i386: ghcr.io/home-assistant/i386-homeassistant-base:2021.09.0 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io diff --git a/check_config/config.json b/check_config/config.json deleted file mode 100644 index 838732e1aa9..00000000000 --- a/check_config/config.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "Check Home Assistant configuration", - "version": "3.9.0", - "slug": "check_config", - "description": "Check your Home Assistant configuration against other versions", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/check_config", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "uart": true, - "usb": true, - "startup": "once", - "boot": "manual", - "init": false, - "map": ["config", "ssl", "media", "share:rw"], - "options": { - "version": "stable" - }, - "schema": { - "version": "str" - }, - "image": "homeassistant/{arch}-addon-check_config" -} diff --git a/check_config/config.yaml b/check_config/config.yaml new file mode 100644 index 00000000000..283a27bb989 --- /dev/null +++ b/check_config/config.yaml @@ -0,0 +1,26 @@ +version: 3.9.0 +slug: check_config +name: Check Home Assistant configuration +description: Check your Home Assistant configuration against other versions +url: https://github.com/home-assistant/hassio-addons/tree/master/check_config +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +boot: manual +image: homeassistant/{arch}-addon-check_config +init: false +map: + - config + - ssl + - media + - share:rw +options: + version: stable +schema: + version: str +startup: once +uart: true +usb: true diff --git a/configurator/build.json b/configurator/build.json deleted file mode 100644 index 42015ee8b80..00000000000 --- a/configurator/build.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "build_from": { - "aarch64": "ghcr.io/home-assistant/aarch64-base:3.14", - "amd64": "ghcr.io/home-assistant/amd64-base:3.14", - "armhf": "ghcr.io/home-assistant/armhf-base:3.14", - "armv7": "ghcr.io/home-assistant/armv7-base:3.14", - "i386": "ghcr.io/home-assistant/i386-base:3.14" - }, - "args": { - "CONFIGURATOR_VERSION": "0.4.1" - } -} diff --git a/configurator/build.yaml b/configurator/build.yaml new file mode 100644 index 00000000000..b021cae791b --- /dev/null +++ b/configurator/build.yaml @@ -0,0 +1,11 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.14 + amd64: ghcr.io/home-assistant/amd64-base:3.14 + armhf: ghcr.io/home-assistant/armhf-base:3.14 + armv7: ghcr.io/home-assistant/armv7-base:3.14 + i386: ghcr.io/home-assistant/i386-base:3.14 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + CONFIGURATOR_VERSION: 0.4.1 diff --git a/configurator/config.json b/configurator/config.json deleted file mode 100644 index 3747026309b..00000000000 --- a/configurator/config.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "File editor", - "version": "5.3.3", - "slug": "configurator", - "description": "Simple browser-based file editor for Home Assistant", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/configurator", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "homeassistant": "0.91.1", - "init": false, - "ingress": true, - "panel_icon": "mdi:wrench", - "homeassistant_api": true, - "map": ["backup:rw", "config:rw", "media:rw", "share:rw", "ssl:rw"], - "options": { - "dirsfirst": false, - "enforce_basepath": true, - "git": true, - "ignore_pattern": ["__pycache__", ".cloud", ".storage", "deps"], - "ssh_keys": [] - }, - "schema": { - "dirsfirst": "bool", - "enforce_basepath": "bool", - "git": "bool", - "ignore_pattern": ["str"], - "ssh_keys": ["str"] - }, - "image": "homeassistant/{arch}-addon-configurator" -} diff --git a/configurator/config.yaml b/configurator/config.yaml new file mode 100644 index 00000000000..c5b09aae5e9 --- /dev/null +++ b/configurator/config.yaml @@ -0,0 +1,41 @@ +version: 5.3.3 +slug: configurator +name: File editor +description: Simple browser-based file editor for Home Assistant +url: https://github.com/home-assistant/hassio-addons/tree/master/configurator +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +homeassistant: 0.91.1 +homeassistant_api: true +image: homeassistant/{arch}-addon-configurator +ingress: true +init: false +map: + - backup:rw + - config:rw + - media:rw + - share:rw + - ssl:rw +options: + dirsfirst: false + enforce_basepath: true + git: true + ignore_pattern: + - __pycache__ + - .cloud + - .storage + - deps + ssh_keys: [] +panel_icon: mdi:wrench +schema: + dirsfirst: bool + enforce_basepath: bool + git: bool + ignore_pattern: + - str + ssh_keys: + - str diff --git a/deconz/build.json b/deconz/build.json deleted file mode 100644 index 45e6c4507a6..00000000000 --- a/deconz/build.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "build_from": { - "aarch64": "homeassistant/aarch64-base-debian:buster", - "amd64": "homeassistant/amd64-base-debian:buster", - "armhf": "homeassistant/armhf-base-raspbian:buster" - }, - "args": { - "DECONZ_VERSION": "2.12.06" - } -} diff --git a/deconz/build.yaml b/deconz/build.yaml new file mode 100644 index 00000000000..db98a94ca42 --- /dev/null +++ b/deconz/build.yaml @@ -0,0 +1,9 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base-debian:buster + amd64: ghcr.io/home-assistant/amd64-base-debian:buster + armhf: ghcr.io/home-assistant/armhf-base-raspbian:buster +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + DECONZ_VERSION: 2.12.06 diff --git a/deconz/config.json b/deconz/config.json deleted file mode 100644 index eb171b6c7f0..00000000000 --- a/deconz/config.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "deCONZ", - "version": "6.10.0", - "slug": "deconz", - "description": "Control a Zigbee network with ConBee or RaspBee by Dresden Elektronik", - "arch": ["amd64", "armhf", "aarch64"], - "url": "https://github.com/home-assistant/hassio-addons/tree/master/deconz", - "startup": "services", - "init": false, - "ingress": true, - "ingress_entry": "ingress.html", - "panel_icon": "mdi:zigbee", - "homeassistant": "0.91.2", - "discovery": ["deconz"], - "ports": { - "5900/tcp": null, - "8081/tcp": null, - "40850/tcp": null - }, - "ports_description": { - "5900/tcp": "deCONZ via VNC (Not required for Ingress. Not secure!)", - "8081/tcp": "deCONZ WebSocket (Not required for Ingress)", - "40850/tcp": "deCONZ API backend (Not required for Ingress)" - }, - "kernel_modules": true, - "usb": true, - "udev": true, - "gpio": true, - "apparmor": false, - "privileged": ["SYS_RAWIO"], - "devices": ["/dev/mem"], - "backup_exclude": ["*/otau"], - "options": { - "device": null - }, - "schema": { - "device": "device(subsystem=tty)", - "dbg_aps": "int?", - "dbg_info": "int?", - "dbg_otau": "int?", - "dbg_zcl": "int?", - "dbg_zdp": "int?" - }, - "image": "homeassistant/{arch}-addon-deconz" -} diff --git a/deconz/config.yaml b/deconz/config.yaml new file mode 100644 index 00000000000..dd056e68305 --- /dev/null +++ b/deconz/config.yaml @@ -0,0 +1,46 @@ +version: 6.10.0 +slug: deconz +name: deCONZ +description: Control a Zigbee network with ConBee or RaspBee by Dresden Elektronik +url: https://github.com/home-assistant/hassio-addons/tree/master/deconz +apparmor: false +arch: + - amd64 + - armhf + - aarch64 +backup_exclude: + - "*/otau" +devices: + - /dev/mem +discovery: + - deconz +gpio: true +homeassistant: 0.91.2 +image: homeassistant/{arch}-addon-deconz +ingress: true +ingress_entry: ingress.html +init: false +kernel_modules: true +options: + device: null +panel_icon: mdi:zigbee +ports: + 40850/tcp: null + 5900/tcp: null + 8081/tcp: null +ports_description: + 40850/tcp: deCONZ API backend (Not required for Ingress) + 5900/tcp: deCONZ via VNC (Not required for Ingress. Not secure!) + 8081/tcp: deCONZ WebSocket (Not required for Ingress) +privileged: + - SYS_RAWIO +schema: + dbg_aps: int? + dbg_info: int? + dbg_otau: int? + dbg_zcl: int? + dbg_zdp: int? + device: device(subsystem=tty) +startup: services +udev: true +usb: true diff --git a/dhcp_server/build.json b/dhcp_server/build.json deleted file mode 100644 index bbf7adee049..00000000000 --- a/dhcp_server/build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "build_from": { - "aarch64": "homeassistant/aarch64-base:3.10", - "amd64": "homeassistant/amd64-base:3.10", - "armhf": "homeassistant/armhf-base:3.10", - "armv7": "homeassistant/armv7-base:3.10", - "i386": "homeassistant/i386-base:3.10" - } -} diff --git a/dhcp_server/build.yaml b/dhcp_server/build.yaml new file mode 100644 index 00000000000..2a972cebeb3 --- /dev/null +++ b/dhcp_server/build.yaml @@ -0,0 +1,9 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.14 + amd64: ghcr.io/home-assistant/amd64-base:3.14 + armhf: ghcr.io/home-assistant/armhf-base:3.14 + armv7: ghcr.io/home-assistant/armv7-base:3.14 + i386: ghcr.io/home-assistant/i386-base:3.14 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io diff --git a/dhcp_server/config.json b/dhcp_server/config.json deleted file mode 100644 index d63f75affb4..00000000000 --- a/dhcp_server/config.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "DHCP server", - "version": "1.2", - "slug": "dhcp_server", - "description": "A simple DHCP server", - "url": "https://home-assistant.io/addons/dhcp_server/", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "advanced": true, - "startup": "system", - "host_network": true, - "options": { - "default_lease": 86400, - "max_lease": 172800, - "domain": null, - "dns": ["8.8.8.8", "8.8.4.4"], - "networks": [ - { - "subnet": "192.168.1.0", - "netmask": "255.255.255.0", - "range_start": "192.168.1.100", - "range_end": "192.168.1.200", - "broadcast": "192.168.1.255", - "gateway": "192.168.1.1", - "interface": "eth0" - } - ], - "hosts": [] - }, - "schema": { - "default_lease": "int", - "max_lease": "int", - "domain": "str", - "dns": ["str"], - "networks": [ - { - "subnet": "str", - "netmask": "str", - "range_start": "str", - "range_end": "str", - "broadcast": "str", - "gateway": "str", - "interface": "str" - } - ], - "hosts": [ - { - "mac": "str", - "name": "str", - "ip": "str" - } - ] - }, - "image": "homeassistant/{arch}-addon-dhcp_server" -} diff --git a/dhcp_server/config.yaml b/dhcp_server/config.yaml new file mode 100644 index 00000000000..2a6b1d8da8b --- /dev/null +++ b/dhcp_server/config.yaml @@ -0,0 +1,49 @@ +version: "1.2" +slug: dhcp_server +name: DHCP server +description: A simple DHCP server +url: https://home-assistant.io/addons/dhcp_server/ +advanced: true +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +host_network: true +image: homeassistant/{arch}-addon-dhcp_server +options: + default_lease: 86400 + dns: + - 8.8.8.8 + - 8.8.4.4 + domain: null + hosts: [] + max_lease: 172800 + networks: + - broadcast: 192.168.1.255 + gateway: 192.168.1.1 + interface: eth0 + netmask: 255.255.255.0 + range_end: 192.168.1.200 + range_start: 192.168.1.100 + subnet: 192.168.1.0 +schema: + default_lease: int + dns: + - str + domain: str + hosts: + - ip: str + mac: str + name: str + max_lease: int + networks: + - broadcast: str + gateway: str + interface: str + netmask: str + range_end: str + range_start: str + subnet: str +startup: system diff --git a/dnsmasq/build.json b/dnsmasq/build.json deleted file mode 100644 index 9ff70b4eb75..00000000000 --- a/dnsmasq/build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "build_from": { - "aarch64": "homeassistant/aarch64-base:3.13", - "amd64": "homeassistant/amd64-base:3.13", - "armhf": "homeassistant/armhf-base:3.13", - "armv7": "homeassistant/armv7-base:3.13", - "i386": "homeassistant/i386-base:3.13" - } -} diff --git a/dnsmasq/build.yaml b/dnsmasq/build.yaml new file mode 100644 index 00000000000..b6f33fd215e --- /dev/null +++ b/dnsmasq/build.yaml @@ -0,0 +1,9 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.13 + amd64: ghcr.io/home-assistant/amd64-base:3.13 + armhf: ghcr.io/home-assistant/armhf-base:3.13 + armv7: ghcr.io/home-assistant/armv7-base:3.13 + i386: ghcr.io/home-assistant/i386-base:3.13 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io diff --git a/dnsmasq/config.json b/dnsmasq/config.json deleted file mode 100644 index 5f42344b9ba..00000000000 --- a/dnsmasq/config.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "Dnsmasq", - "version": "1.4.4", - "slug": "dnsmasq", - "description": "A simple DNS server", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/dnsmasq", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "advanced": true, - "startup": "system", - "init": false, - "ports": { - "53/tcp": 53, - "53/udp": 53 - }, - "options": { - "defaults": ["8.8.8.8", "8.8.4.4"], - "forwards": [], - "hosts": [], - "services": [] - }, - "schema": { - "defaults": ["str"], - "forwards": [ - { - "domain": "str", - "server": "str" - } - ], - "hosts": [ - { - "host": "str", - "ip": "str" - } - ], - "services": [ - { - "srv": "str", - "host": "str", - "port": "str", - "priority": "int", - "weight": "int" - } - ] - }, - "image": "homeassistant/{arch}-addon-dnsmasq" -} diff --git a/dnsmasq/config.yaml b/dnsmasq/config.yaml new file mode 100644 index 00000000000..1c7374e6851 --- /dev/null +++ b/dnsmasq/config.yaml @@ -0,0 +1,40 @@ +version: 1.4.4 +slug: dnsmasq +name: Dnsmasq +description: A simple DNS server +url: https://github.com/home-assistant/hassio-addons/tree/master/dnsmasq +advanced: true +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +image: homeassistant/{arch}-addon-dnsmasq +init: false +options: + defaults: + - 8.8.8.8 + - 8.8.4.4 + forwards: [] + hosts: [] + services: [] +ports: + 53/tcp: 53 + 53/udp: 53 +schema: + defaults: + - str + forwards: + - domain: str + server: str + hosts: + - host: str + ip: str + services: + - host: str + port: str + priority: int + srv: str + weight: int +startup: system diff --git a/duckdns/build.json b/duckdns/build.json deleted file mode 100644 index 83334ed40b6..00000000000 --- a/duckdns/build.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "build_from": { - "aarch64": "ghcr.io/home-assistant/aarch64-base:3.14", - "amd64": "ghcr.io/home-assistant/amd64-base:3.14", - "armhf": "ghcr.io/home-assistant/armhf-base:3.14", - "armv7": "ghcr.io/home-assistant/armv7-base:3.14", - "i386": "ghcr.io/home-assistant/i386-base:3.14" - }, - "args": { - "DEHYDRATED_VERSION": "0.7.0" - } -} diff --git a/duckdns/build.yaml b/duckdns/build.yaml new file mode 100644 index 00000000000..b5c5b9d319f --- /dev/null +++ b/duckdns/build.yaml @@ -0,0 +1,11 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.14 + amd64: ghcr.io/home-assistant/amd64-base:3.14 + armhf: ghcr.io/home-assistant/armhf-base:3.14 + armv7: ghcr.io/home-assistant/armv7-base:3.14 + i386: ghcr.io/home-assistant/i386-base:3.14 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + DEHYDRATED_VERSION: 0.7.0 diff --git a/duckdns/config.json b/duckdns/config.json deleted file mode 100644 index 4602c82d406..00000000000 --- a/duckdns/config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "Duck DNS", - "version": "1.14.0", - "slug": "duckdns", - "description": "Free Dynamic DNS (DynDNS or DDNS) service with Let's Encrypt support", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/duckdns", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "startup": "services", - "map": ["ssl:rw"], - "options": { - "lets_encrypt": { - "accept_terms": false, - "certfile": "fullchain.pem", - "keyfile": "privkey.pem", - "algo": "secp384r1" - }, - "token": null, - "domains": [null], - "aliases": [], - "seconds": 300 - }, - "schema": { - "lets_encrypt": { - "accept_terms": "bool", - "certfile": "str", - "keyfile": "str", - "algo": "list(rsa|prime256v1|secp384r1)" - }, - "ipv4": "str?", - "ipv6": "str?", - "token": "str", - "domains": ["match(.+\\.duckdns\\.org)"], - "aliases": [ - {"domain": "str", "alias": "str"} - ], - "seconds": "int" - }, - "image": "homeassistant/{arch}-addon-duckdns" -} diff --git a/duckdns/config.yaml b/duckdns/config.yaml new file mode 100644 index 00000000000..0eb4e304287 --- /dev/null +++ b/duckdns/config.yaml @@ -0,0 +1,41 @@ +version: 1.14.0 +slug: duckdns +name: Duck DNS +description: Free Dynamic DNS (DynDNS or DDNS) service with Let's Encrypt support +url: https://github.com/home-assistant/hassio-addons/tree/master/duckdns +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +image: homeassistant/{arch}-addon-duckdns +map: + - ssl:rw +options: + aliases: [] + domains: + - null + lets_encrypt: + accept_terms: false + algo: secp384r1 + certfile: fullchain.pem + keyfile: privkey.pem + seconds: 300 + token: null +schema: + aliases: + - alias: str + domain: str + domains: + - match(.+\.duckdns\.org) + ipv4: str? + ipv6: str? + lets_encrypt: + accept_terms: bool + algo: list(rsa|prime256v1|secp384r1) + certfile: str + keyfile: str + seconds: int + token: str +startup: services diff --git a/git_pull/build.json b/git_pull/build.json deleted file mode 100644 index 410226e9479..00000000000 --- a/git_pull/build.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "build_from": { - "aarch64": "ghcr.io/home-assistant/aarch64-base:3.13", - "amd64": "ghcr.io/home-assistant/amd64-base:3.13", - "armhf": "ghcr.io/home-assistant/armhf-base:3.13", - "armv7": "ghcr.io/home-assistant/armv7-base:3.13", - "i386": "ghcr.io/home-assistant/i386-base:3.13" - }, - "args": { - "CLI_VERSION": "4.12.2" - } -} diff --git a/git_pull/build.yaml b/git_pull/build.yaml new file mode 100644 index 00000000000..561082cb6b9 --- /dev/null +++ b/git_pull/build.yaml @@ -0,0 +1,11 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.13 + amd64: ghcr.io/home-assistant/amd64-base:3.13 + armhf: ghcr.io/home-assistant/armhf-base:3.13 + armv7: ghcr.io/home-assistant/armv7-base:3.13 + i386: ghcr.io/home-assistant/i386-base:3.13 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + CLI_VERSION: 4.12.2 diff --git a/git_pull/config.json b/git_pull/config.json deleted file mode 100644 index 17af2d1fe8f..00000000000 --- a/git_pull/config.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "Git pull", - "version": "7.13.1", - "slug": "git_pull", - "description": "Simple git pull to update the local configuration", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/git_pull", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "advanced": true, - "init": false, - "startup": "services", - "boot": "manual", - "hassio_api": true, - "hassio_role": "homeassistant", - "map": ["config:rw"], - "options": { - "deployment_key": [], - "deployment_key_protocol": "rsa", - "deployment_user": "", - "deployment_password": "", - "git_branch": "master", - "git_command": "pull", - "git_remote": "origin", - "git_prune": false, - "repository": null, - "auto_restart": false, - "restart_ignore": ["ui-lovelace.yaml", ".gitignore"], - "repeat": { - "active": false, - "interval": 300 - } - }, - "schema": { - "deployment_key": ["str"], - "deployment_key_protocol": "match(rsa|dsa|ecdsa|ed25519|rsa)", - "deployment_user": "str", - "deployment_password": "password", - "git_branch": "str", - "git_command": "list(pull|reset)", - "git_remote": "str", - "git_prune": "bool", - "repository": "str", - "auto_restart": "bool", - "restart_ignore": ["str"], - "repeat": { - "active": "bool", - "interval": "int" - } - }, - "image": "homeassistant/{arch}-addon-git_pull" -} diff --git a/git_pull/config.yaml b/git_pull/config.yaml new file mode 100644 index 00000000000..ab92d0d1533 --- /dev/null +++ b/git_pull/config.yaml @@ -0,0 +1,54 @@ +version: 7.13.1 +slug: git_pull +name: Git pull +description: Simple git pull to update the local configuration +url: https://github.com/home-assistant/hassio-addons/tree/master/git_pull +advanced: true +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +boot: manual +hassio_api: true +hassio_role: homeassistant +image: homeassistant/{arch}-addon-git_pull +init: false +map: + - config:rw +options: + auto_restart: false + deployment_key: [] + deployment_key_protocol: rsa + deployment_password: "" + deployment_user: "" + git_branch: master + git_command: pull + git_prune: false + git_remote: origin + repeat: + active: false + interval: 300 + repository: null + restart_ignore: + - ui-lovelace.yaml + - .gitignore +schema: + auto_restart: bool + deployment_key: + - str + deployment_key_protocol: match(rsa|dsa|ecdsa|ed25519|rsa) + deployment_password: password + deployment_user: str + git_branch: str + git_command: list(pull|reset) + git_prune: bool + git_remote: str + repeat: + active: bool + interval: int + repository: str + restart_ignore: + - str +startup: services diff --git a/google_assistant/build.json b/google_assistant/build.json deleted file mode 100644 index f39a42b0ac6..00000000000 --- a/google_assistant/build.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "build_from": { - "armhf": "homeassistant/armhf-base-debian:buster", - "armv7": "homeassistant/armv7-base-debian:buster", - "amd64": "homeassistant/amd64-base-debian:buster" - }, - "args": { - "GOOGLE_GRPC_VERSION": "0.2.0", - "GOOGLE_LIBRARY_VERSION": "1.0.0", - "GOOGLE_SDK_VERSION": "0.5.0", - "GOOGLE_AUTH_VERSION": "1.6.3", - "REQUESTS_OAUTHLIB_VERSION": "1.2.0", - "CHERRYPY_VERSION": "18.1.1" - } -} diff --git a/google_assistant/build.yaml b/google_assistant/build.yaml new file mode 100644 index 00000000000..2571f104ddb --- /dev/null +++ b/google_assistant/build.yaml @@ -0,0 +1,14 @@ +build_from: + amd64: ghcr.io/home-assistant/amd64-base-debian:buster + armhf: ghcr.io/home-assistant/armhf-base-debian:buster + armv7: ghcr.io/home-assistant/armv7-base-debian:buster +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + CHERRYPY_VERSION: 18.1.1 + GOOGLE_AUTH_VERSION: 1.6.3 + GOOGLE_GRPC_VERSION: 0.2.0 + GOOGLE_LIBRARY_VERSION: 1.0.0 + GOOGLE_SDK_VERSION: 0.5.0 + REQUESTS_OAUTHLIB_VERSION: 1.2.0 diff --git a/google_assistant/config.json b/google_assistant/config.json deleted file mode 100644 index 8da4390f2c9..00000000000 --- a/google_assistant/config.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "Google Assistant SDK", - "version": "2.5.0", - "slug": "google_assistant", - "description": "A virtual personal assistant developed by Google", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/google_assistant", - "arch": ["armhf", "armv7", "amd64"], - "init": false, - "advanced": true, - "stage": "experimental", - "map": ["share"], - "audio": true, - "ports": { - "9324/tcp": 9324 - }, - "webui": "http://[HOST]:[PORT:9324]", - "options": { - "client_secrets": "google_assistant.json", - "project_id": null, - "model_id": null, - "feedback": { - "enable": false, - "volume": 80 - } - }, - "schema": { - "client_secrets": "str", - "project_id": "str", - "model_id": "str", - "feedback": { - "enable": "bool", - "volume": "int(0,100)" - } - }, - "image": "homeassistant/{arch}-addon-google_assistant" -} diff --git a/google_assistant/config.yaml b/google_assistant/config.yaml new file mode 100644 index 00000000000..d839373800b --- /dev/null +++ b/google_assistant/config.yaml @@ -0,0 +1,33 @@ +version: 2.5.0 +slug: google_assistant +name: Google Assistant SDK +description: A virtual personal assistant developed by Google +url: https://github.com/home-assistant/hassio-addons/tree/master/google_assistant +advanced: true +arch: + - armhf + - armv7 + - amd64 +audio: true +image: homeassistant/{arch}-addon-google_assistant +init: false +map: + - share +options: + client_secrets: google_assistant.json + feedback: + enable: false + volume: 80 + model_id: null + project_id: null +ports: + 9324/tcp: 9324 +schema: + client_secrets: str + feedback: + enable: bool + volume: int(0,100) + model_id: str + project_id: str +stage: experimental +webui: http://[HOST]:[PORT:9324] diff --git a/homematic/build.json b/homematic/build.json deleted file mode 100644 index c6cb672b38b..00000000000 --- a/homematic/build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "build_from": { - "armv7": "homeassistant/armv7-base-debian:bullseye", - "i386": "homeassistant/i386-base-debian:bullseye" - }, - "args": { - "OCCU_VERSION": "3.59.6" - } -} diff --git a/homematic/build.yaml b/homematic/build.yaml new file mode 100644 index 00000000000..c3d0fcd4c4c --- /dev/null +++ b/homematic/build.yaml @@ -0,0 +1,8 @@ +build_from: + armv7: ghcr.io/home-assistant/armv7-base-debian:bullseye + i386: ghcr.io/home-assistant/i386-base-debian:bullseye +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + OCCU_VERSION: 3.59.6 diff --git a/homematic/config.json b/homematic/config.json deleted file mode 100644 index 12701c06d60..00000000000 --- a/homematic/config.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "HomeMatic CCU", - "version": "11.3.0", - "slug": "homematic", - "description": "HomeMatic central based on OCCU", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/homematic", - "arch": ["armv7", "i386"], - "map": ["share:rw"], - "startup": "system", - "timeout": 15, - "gpio": true, - "apparmor": false, - "ingress": true, - "panel_title": "HomeMatic", - "panel_icon": "mdi:router-wireless", - "ports": { - "80/tcp": null, - "2001/tcp": null, - "2000/tcp": null, - "2010/tcp": null - }, - "ports_description": { - "80/tcp": "ReGaHss Webinterface (Not required for Ingress)", - "2001/tcp": "Homematic xmlrpc (Extern)", - "2000/tcp": "HomematicWire xmlrpc (Extern)", - "2010/tcp": "HomematicIP xmlrpc (Extern)" - }, - "options": { - "rf_enable": false, - "wired_enable": false, - "hmip_enable": false, - "rf": [], - "wired": [], - "hmip": [] - }, - "schema": { - "rf_enable": "bool", - "rf": [ - { - "type": "match(CCU2)", - "device": "device(subsystem=tty)", - "reset": "bool?" - } - ], - "wired_enable": "bool", - "wired": [ - { - "serial": "str", - "key": "str", - "ip": "str" - } - ], - "hmip_enable": "bool", - "hmip": [ - { - "type": "match(HMIP_CCU2)", - "device": "device(subsystem=tty)" - } - ], - "regahss_reset": "bool?" - }, - "image": "homeassistant/{arch}-addon-homematic" -} diff --git a/homematic/config.yaml b/homematic/config.yaml new file mode 100644 index 00000000000..a6c19c47921 --- /dev/null +++ b/homematic/config.yaml @@ -0,0 +1,51 @@ +version: 11.3.0 +slug: homematic +name: HomeMatic CCU +description: HomeMatic central based on OCCU +url: https://github.com/home-assistant/hassio-addons/tree/master/homematic +apparmor: false +arch: + - armv7 + - i386 +gpio: true +image: homeassistant/{arch}-addon-homematic +ingress: true +map: + - share:rw +options: + hmip: [] + hmip_enable: false + rf: [] + rf_enable: false + wired: [] + wired_enable: false +panel_icon: mdi:router-wireless +panel_title: HomeMatic +ports: + 2000/tcp: null + 2001/tcp: null + 2010/tcp: null + 80/tcp: null +ports_description: + 2000/tcp: HomematicWire xmlrpc (Extern) + 2001/tcp: Homematic xmlrpc (Extern) + 2010/tcp: HomematicIP xmlrpc (Extern) + 80/tcp: ReGaHss Webinterface (Not required for Ingress) +schema: + hmip: + - device: device(subsystem=tty) + type: match(HMIP_CCU2) + hmip_enable: bool + regahss_reset: bool? + rf: + - device: device(subsystem=tty) + reset: bool? + type: match(CCU2) + rf_enable: bool + wired: + - ip: str + key: str + serial: str + wired_enable: bool +startup: system +timeout: 15 diff --git a/letsencrypt/CHANGELOG.md b/letsencrypt/CHANGELOG.md index 86d7d09aede..0561ac44dea 100644 --- a/letsencrypt/CHANGELOG.md +++ b/letsencrypt/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 4.12.0 + +- Update Certbot 1.21.0 & Plugins +- Update to Python 3.9 +- Update to Alpine 3.14 + ## 4.11.0 - Add support for Njalla DNS diff --git a/letsencrypt/Dockerfile b/letsencrypt/Dockerfile index e66f80c314e..4f84ee10931 100644 --- a/letsencrypt/Dockerfile +++ b/letsencrypt/Dockerfile @@ -2,24 +2,27 @@ ARG BUILD_FROM FROM $BUILD_FROM # setup base -ARG CERTBOT_VERSION -ARG CERTBOT_DNS_DIRECTADMIN_VERSION -ARG CERTBOT_NETCUP_VERSION -ARG CERTBOT_NJALLA_VERSION -ARG CERTBOT_GANDI_VERSION -ARG CERTBOT_DNS_TRANSIP_VERSION +ARG \ + CERTBOT_VERSION \ + CERTBOT_DNS_DIRECTADMIN_VERSION \ + CERTBOT_NETCUP_VERSION \ + CERTBOT_NJALLA_VERSION \ + CERTBOT_GANDI_VERSION \ + CERTBOT_DNS_TRANSIP_VERSION -RUN apk add --no-cache --update \ +RUN \ + set -x \ + && apk add --no-cache --update \ libffi \ musl \ openssl \ && apk add --no-cache --virtual .build-dependencies \ - g++ \ + build-base \ libffi-dev \ musl-dev \ openssl-dev \ - && pip3 install --no-cache-dir --find-links \ - "https://wheels.home-assistant.io/alpine-$(cut -d '.' -f 1-2 < /etc/alpine-release)/${BUILD_ARCH}/" \ + cargo \ + && pip3 install --no-cache-dir \ certbot==${CERTBOT_VERSION} \ certbot-dns-cloudflare==${CERTBOT_VERSION} \ certbot-dns-cloudxns==${CERTBOT_VERSION} \ diff --git a/letsencrypt/build.json b/letsencrypt/build.json deleted file mode 100644 index 3c6bad13a55..00000000000 --- a/letsencrypt/build.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "build_from": { - "aarch64": "homeassistant/aarch64-base-python:3.7-alpine3.11", - "amd64": "homeassistant/amd64-base-python:3.7-alpine3.11", - "armhf": "homeassistant/armhf-base-python:3.7-alpine3.11", - "armv7": "homeassistant/armv7-base-python:3.7-alpine3.11", - "i386": "homeassistant/i386-base-python:3.7-alpine3.11" - }, - "args": { - "CERTBOT_VERSION": "1.2.0", - "CERTBOT_DNS_DIRECTADMIN_VERSION": "0.0.13", - "CERTBOT_NETCUP_VERSION": "0.31.0.1", - "CERTBOT_NJALLA_VERSION": "0.0.4", - "CERTBOT_GANDI_VERSION": "1.2.5", - "CERTBOT_DNS_TRANSIP_VERSION": "0.3.0" - } -} diff --git a/letsencrypt/build.yaml b/letsencrypt/build.yaml new file mode 100644 index 00000000000..974dc2661a7 --- /dev/null +++ b/letsencrypt/build.yaml @@ -0,0 +1,16 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base-python:3.9-alpine3.14 + amd64: ghcr.io/home-assistant/amd64-base-python:3.9-alpine3.14 + armhf: ghcr.io/home-assistant/armhf-base-python:3.9-alpine3.14 + armv7: ghcr.io/home-assistant/armv7-base-python:3.9-alpine3.14 + i386: ghcr.io/home-assistant/i386-base-python:3.9-alpine3.14 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + CERTBOT_DNS_DIRECTADMIN_VERSION: 0.0.24 + CERTBOT_DNS_TRANSIP_VERSION: 0.4.3 + CERTBOT_GANDI_VERSION: 1.3.2 + CERTBOT_NETCUP_VERSION: 1.1.1 + CERTBOT_NJALLA_VERSION: 1.0.0 + CERTBOT_VERSION: 1.21.0 diff --git a/letsencrypt/config.json b/letsencrypt/config.json deleted file mode 100644 index ac0ec939c3f..00000000000 --- a/letsencrypt/config.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "name": "Let's Encrypt", - "version": "4.11.0", - "slug": "letsencrypt", - "description": "Manage certificate from Let's Encrypt", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/letsencrypt", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "startup": "once", - "init": false, - "boot": "manual", - "ports": { - "80/tcp": 80 - }, - "ports_description": { - "80/tcp": "Only needed for http challenge" - }, - "map": ["ssl:rw", "share"], - "options": { - "email": null, - "domains": [null], - "certfile": "fullchain.pem", - "keyfile": "privkey.pem", - "challenge": "http", - "dns": {} - }, - "schema": { - "email": "email", - "domains": ["str"], - "certfile": "str", - "keyfile": "str", - "challenge": "list(dns|http)", - "acme_server": "url?", - "acme_root_ca_cert": "str?", - "dns": { - "provider": "list(dns-cloudflare|dns-cloudxns|dns-digitalocean|dns-directadmin|dns-dnsimple|dns-dnsmadeeasy|dns-gehirn|dns-google|dns-linode|dns-luadns|dns-njalla|dns-nsone|dns-ovh|dns-rfc2136|dns-route53|dns-sakuracloud|dns-netcup|dns-gandi|dns-transip)?", - "propagation_seconds": "int(60,3600)?", - "cloudflare_email": "email?", - "cloudflare_api_key": "str?", - "cloudflare_api_token": "str?", - "cloudxns_api_key": "str?", - "cloudxns_secret_key": "str?", - "digitalocean_token": "str?", - "directadmin_url": "str?", - "directadmin_username": "str?", - "directadmin_password": "str?", - "dnsimple_token": "str?", - "dnsmadeeasy_api_key": "str?", - "dnsmadeeasy_secret_key": "str?", - "gehirn_api_token": "str?", - "gehirn_api_secret": "str?", - "google_creds": "str?", - "linode_key": "str?", - "linode_version": "str?", - "luadns_email": "email?", - "luadns_token": "str?", - "njalla_token": "str?", - "nsone_api_key": "str?", - "ovh_endpoint": "str?", - "ovh_application_key": "str?", - "ovh_application_secret": "str?", - "ovh_consumer_key": "str?", - "rfc2136_server": "str?", - "rfc2136_port": "str?", - "rfc2136_name": "str?", - "rfc2136_secret": "str?", - "rfc2136_algorithm": "str?", - "aws_access_key_id": "str?", - "aws_secret_access_key": "str?", - "sakuracloud_api_token": "str?", - "sakuracloud_api_secret": "str?", - "netcup_customer_id": "str?", - "netcup_api_key": "str?", - "netcup_api_password": "str?", - "gandi_api_key": "str?", - "gandi_sharing_id": "str?", - "transip_username": "str?", - "transip_api_key": "str?" - } - }, - "image": "homeassistant/{arch}-addon-letsencrypt" -} diff --git a/letsencrypt/config.yaml b/letsencrypt/config.yaml new file mode 100644 index 00000000000..5aaf1a18d6b --- /dev/null +++ b/letsencrypt/config.yaml @@ -0,0 +1,83 @@ +version: 4.12.0 +slug: letsencrypt +name: Let's Encrypt +description: Manage certificate from Let's Encrypt +url: https://github.com/home-assistant/hassio-addons/tree/master/letsencrypt +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +boot: manual +image: homeassistant/{arch}-addon-letsencrypt +init: false +map: + - ssl:rw + - share +options: + certfile: fullchain.pem + challenge: http + dns: {} + domains: + - null + email: null + keyfile: privkey.pem +ports: + 80/tcp: 80 +ports_description: + 80/tcp: Only needed for http challenge +schema: + acme_root_ca_cert: str? + acme_server: url? + certfile: str + challenge: list(dns|http) + dns: + aws_access_key_id: str? + aws_secret_access_key: str? + cloudflare_api_key: str? + cloudflare_api_token: str? + cloudflare_email: email? + cloudxns_api_key: str? + cloudxns_secret_key: str? + digitalocean_token: str? + directadmin_password: str? + directadmin_url: str? + directadmin_username: str? + dnsimple_token: str? + dnsmadeeasy_api_key: str? + dnsmadeeasy_secret_key: str? + gandi_api_key: str? + gandi_sharing_id: str? + gehirn_api_secret: str? + gehirn_api_token: str? + google_creds: str? + linode_key: str? + linode_version: str? + luadns_email: email? + luadns_token: str? + netcup_api_key: str? + netcup_api_password: str? + netcup_customer_id: str? + njalla_token: str? + nsone_api_key: str? + ovh_application_key: str? + ovh_application_secret: str? + ovh_consumer_key: str? + ovh_endpoint: str? + propagation_seconds: int(60,3600)? + provider: list(dns-cloudflare|dns-cloudxns|dns-digitalocean|dns-directadmin|dns-dnsimple|dns-dnsmadeeasy|dns-gehirn|dns-google|dns-linode|dns-luadns|dns-njalla|dns-nsone|dns-ovh|dns-rfc2136|dns-route53|dns-sakuracloud|dns-netcup|dns-gandi|dns-transip)? + rfc2136_algorithm: str? + rfc2136_name: str? + rfc2136_port: str? + rfc2136_secret: str? + rfc2136_server: str? + sakuracloud_api_secret: str? + sakuracloud_api_token: str? + transip_api_key: str? + transip_username: str? + domains: + - str + email: email + keyfile: str +startup: once diff --git a/mariadb/build.json b/mariadb/build.json deleted file mode 100644 index 8b1f9c0b01a..00000000000 --- a/mariadb/build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "build_from": { - "aarch64": "homeassistant/aarch64-base:3.12", - "amd64": "homeassistant/amd64-base:3.12", - "armhf": "homeassistant/armhf-base:3.12", - "armv7": "homeassistant/armv7-base:3.12", - "i386": "homeassistant/i386-base:3.12" - } -} diff --git a/mariadb/build.yaml b/mariadb/build.yaml new file mode 100644 index 00000000000..2938e7d5488 --- /dev/null +++ b/mariadb/build.yaml @@ -0,0 +1,9 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.12 + amd64: ghcr.io/home-assistant/amd64-base:3.12 + armhf: ghcr.io/home-assistant/armhf-base:3.12 + armv7: ghcr.io/home-assistant/armv7-base:3.12 + i386: ghcr.io/home-assistant/i386-base:3.12 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io diff --git a/mariadb/config.json b/mariadb/config.json deleted file mode 100644 index f35ff1f8a9b..00000000000 --- a/mariadb/config.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "MariaDB", - "version": "2.4.0", - "slug": "mariadb", - "description": "A SQL database server", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/mariadb", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "startup": "system", - "init": false, - "timeout": 20, - "backup_pre": "/bin/s6-svc -wU -u /run/s6/services/mariadb-lock/", - "backup_post": "/bin/s6-svc -wd -d /run/s6/services/mariadb-lock/", - "services": ["mysql:provide"], - "ports": { - "3306/tcp": null - }, - "options": { - "databases": ["homeassistant"], - "logins": [{ "username": "homeassistant", "password": null }], - "rights": [ - { - "username": "homeassistant", - "database": "homeassistant" - } - ] - }, - "schema": { - "databases": ["str"], - "logins": [{ "username": "str", "password": "password" }], - "rights": [ - { - "username": "str", - "database": "str", - "privileges": [ - "list(ALTER|CREATE|CREATE ROUTINE|CREATE TEMPORARY TABLES|CREATE VIEW|DELETE|DELETE HISTORY|DROP|EVENT|GRANT OPTION|INDEX|INSERT|LOCK TABLES|SELECT|SHOW VIEW|TRIGGER|UPDATE)?" - ] - } - ] - }, - "image": "homeassistant/{arch}-addon-mariadb" -} diff --git a/mariadb/config.yaml b/mariadb/config.yaml new file mode 100644 index 00000000000..d9bef826e6c --- /dev/null +++ b/mariadb/config.yaml @@ -0,0 +1,42 @@ +version: 2.4.0 +slug: mariadb +name: MariaDB +description: A SQL database server +url: https://github.com/home-assistant/hassio-addons/tree/master/mariadb +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +backup_post: /bin/s6-svc -wd -d /run/s6/services/mariadb-lock/ +backup_pre: /bin/s6-svc -wU -u /run/s6/services/mariadb-lock/ +image: homeassistant/{arch}-addon-mariadb +init: false +options: + databases: + - homeassistant + logins: + - password: null + username: homeassistant + rights: + - database: homeassistant + username: homeassistant +ports: + 3306/tcp: null +schema: + databases: + - str + logins: + - password: password + username: str + rights: + - database: str + privileges: + - list(ALTER|CREATE|CREATE ROUTINE|CREATE TEMPORARY TABLES|CREATE VIEW|DELETE|DELETE + HISTORY|DROP|EVENT|GRANT OPTION|INDEX|INSERT|LOCK TABLES|SELECT|SHOW VIEW|TRIGGER|UPDATE)? + username: str +services: + - mysql:provide +startup: system +timeout: 20 diff --git a/mosquitto/build.json b/mosquitto/build.json deleted file mode 100644 index 2447a413e7c..00000000000 --- a/mosquitto/build.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "build_from": { - "aarch64": "ghcr.io/home-assistant/aarch64-base:3.13", - "amd64": "ghcr.io/home-assistant/amd64-base:3.13", - "armhf": "ghcr.io/home-assistant/armhf-base:3.13", - "armv7": "ghcr.io/home-assistant/armv7-base:3.13", - "i386": "ghcr.io/home-assistant/i386-base:3.13" - }, - "args": { - "MOSQUITTO_AUTH_VERSION": "0.1.5" - } -} diff --git a/mosquitto/build.yaml b/mosquitto/build.yaml new file mode 100644 index 00000000000..b2ba4e83fd8 --- /dev/null +++ b/mosquitto/build.yaml @@ -0,0 +1,11 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.13 + amd64: ghcr.io/home-assistant/amd64-base:3.13 + armhf: ghcr.io/home-assistant/armhf-base:3.13 + armv7: ghcr.io/home-assistant/armv7-base:3.13 + i386: ghcr.io/home-assistant/i386-base:3.13 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + MOSQUITTO_AUTH_VERSION: 0.1.5 diff --git a/mosquitto/config.json b/mosquitto/config.json deleted file mode 100644 index 648eb7b5bfb..00000000000 --- a/mosquitto/config.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "Mosquitto broker", - "version": "6.0.1", - "slug": "mosquitto", - "description": "An Open Source MQTT broker", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/mosquitto", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "startup": "system", - "map": ["ssl", "share"], - "discovery": ["mqtt"], - "services": ["mqtt:provide"], - "watchdog": "tcp://[HOST]:1883", - "auth_api": true, - "ports": { - "1883/tcp": 1883, - "1884/tcp": 1884, - "8883/tcp": 8883, - "8884/tcp": 8884 - }, - "ports_description": { - "1883/tcp": "Normal MQTT", - "1884/tcp": "MQTT over WebSocket", - "8883/tcp": "Normal MQTT with SSL", - "8884/tcp": "MQTT over WebSocket with SSL" - }, - "options": { - "logins": [], - "customize": { - "active": false, - "folder": "mosquitto" - }, - "certfile": "fullchain.pem", - "keyfile": "privkey.pem", - "require_certificate": false - }, - "schema": { - "logins": [ - { - "username": "str", - "password": "password" - } - ], - "customize": { - "active": "bool", - "folder": "str" - }, - "cafile": "str?", - "certfile": "str", - "keyfile": "str", - "require_certificate": "bool" - }, - "image": "homeassistant/{arch}-addon-mosquitto" -} diff --git a/mosquitto/config.yaml b/mosquitto/config.yaml new file mode 100644 index 00000000000..01b1f03d6a2 --- /dev/null +++ b/mosquitto/config.yaml @@ -0,0 +1,51 @@ +version: 6.0.1 +slug: mosquitto +name: Mosquitto broker +description: An Open Source MQTT broker +url: https://github.com/home-assistant/hassio-addons/tree/master/mosquitto +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +auth_api: true +discovery: + - mqtt +image: homeassistant/{arch}-addon-mosquitto +map: + - ssl + - share +options: + certfile: fullchain.pem + customize: + active: false + folder: mosquitto + keyfile: privkey.pem + logins: [] + require_certificate: false +ports: + 1883/tcp: 1883 + 1884/tcp: 1884 + 8883/tcp: 8883 + 8884/tcp: 8884 +ports_description: + 1883/tcp: Normal MQTT + 1884/tcp: MQTT over WebSocket + 8883/tcp: Normal MQTT with SSL + 8884/tcp: MQTT over WebSocket with SSL +schema: + cafile: str? + certfile: str + customize: + active: bool + folder: str + keyfile: str + logins: + - password: password + username: str + require_certificate: bool +services: + - mqtt:provide +startup: system +watchdog: tcp://[HOST]:1883 diff --git a/nginx_proxy/build.json b/nginx_proxy/build.json deleted file mode 100644 index 5a03630f139..00000000000 --- a/nginx_proxy/build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "build_from": { - "aarch64": "ghcr.io/home-assistant/aarch64-base:3.14", - "amd64": "ghcr.io/home-assistant/amd64-base:3.14", - "armhf": "ghcr.io/home-assistant/armhf-base:3.14", - "armv7": "ghcr.io/home-assistant/armv7-base:3.14", - "i386": "ghcr.io/home-assistant/i386-base:3.14" - } -} diff --git a/nginx_proxy/build.yaml b/nginx_proxy/build.yaml new file mode 100644 index 00000000000..2a972cebeb3 --- /dev/null +++ b/nginx_proxy/build.yaml @@ -0,0 +1,9 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.14 + amd64: ghcr.io/home-assistant/amd64-base:3.14 + armhf: ghcr.io/home-assistant/armhf-base:3.14 + armv7: ghcr.io/home-assistant/armv7-base:3.14 + i386: ghcr.io/home-assistant/i386-base:3.14 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io diff --git a/nginx_proxy/config.json b/nginx_proxy/config.json deleted file mode 100644 index 82758bb8b6e..00000000000 --- a/nginx_proxy/config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "NGINX Home Assistant SSL proxy", - "version": "3.0.2", - "slug": "nginx_proxy", - "description": "An SSL/TLS proxy", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/nginx_proxy", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "ports": { - "80/tcp": null, - "443/tcp": 443 - }, - "map": ["ssl", "share"], - "options": { - "domain": null, - "certfile": "fullchain.pem", - "keyfile": "privkey.pem", - "hsts": "max-age=31536000; includeSubDomains", - "cloudflare": false, - "customize": { - "active": false, - "default": "nginx_proxy_default*.conf", - "servers": "nginx_proxy/*.conf" - } - }, - "schema": { - "domain": "str", - "certfile": "str", - "keyfile": "str", - "hsts": "str", - "cloudflare": "bool", - "customize": { - "active": "bool", - "default": "str", - "servers": "str" - } - }, - "image": "homeassistant/{arch}-addon-nginx_proxy" -} diff --git a/nginx_proxy/config.yaml b/nginx_proxy/config.yaml new file mode 100644 index 00000000000..58375f92ba6 --- /dev/null +++ b/nginx_proxy/config.yaml @@ -0,0 +1,38 @@ +version: 3.0.2 +slug: nginx_proxy +name: NGINX Home Assistant SSL proxy +description: An SSL/TLS proxy +url: https://github.com/home-assistant/hassio-addons/tree/master/nginx_proxy +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +image: homeassistant/{arch}-addon-nginx_proxy +map: + - ssl + - share +options: + certfile: fullchain.pem + cloudflare: false + customize: + active: false + default: nginx_proxy_default*.conf + servers: nginx_proxy/*.conf + domain: null + hsts: max-age=31536000; includeSubDomains + keyfile: privkey.pem +ports: + 443/tcp: 443 + 80/tcp: null +schema: + certfile: str + cloudflare: bool + customize: + active: bool + default: str + servers: str + domain: str + hsts: str + keyfile: str diff --git a/rpc_shutdown/build.yaml b/rpc_shutdown/build.yaml new file mode 100644 index 00000000000..2a972cebeb3 --- /dev/null +++ b/rpc_shutdown/build.yaml @@ -0,0 +1,9 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.14 + amd64: ghcr.io/home-assistant/amd64-base:3.14 + armhf: ghcr.io/home-assistant/armhf-base:3.14 + armv7: ghcr.io/home-assistant/armv7-base:3.14 + i386: ghcr.io/home-assistant/i386-base:3.14 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io diff --git a/rpc_shutdown/config.json b/rpc_shutdown/config.json deleted file mode 100644 index 623f72c2187..00000000000 --- a/rpc_shutdown/config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "RPC Shutdown", - "version": "2.2", - "slug": "rpc_shutdown", - "description": "Shutdown Windows machines remotely", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/rpc_shutdown", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "startup": "services", - "stdin": true, - "host_network": true, - "options": { - "computers": [ - { - "alias": "test-pc", - "address": "192.168.0.1", - "credentials": "user%password", - "delay": 0, - "message": "Home Assistant is shutting down this PC. This cannot be canceled. Please save your work!" - } - ] - }, - "schema": { - "computers": [ - { - "alias": "match(^[\\w-]*$)", - "address": "str", - "credentials": "match(^[^%]*(?:%[^%]*)?$)", - "delay": "int(0,600)?", - "message": "str?" - } - ] - }, - "image": "homeassistant/{arch}-addon-rpc_shutdown" -} diff --git a/rpc_shutdown/config.yaml b/rpc_shutdown/config.yaml new file mode 100644 index 00000000000..f0af2c12176 --- /dev/null +++ b/rpc_shutdown/config.yaml @@ -0,0 +1,31 @@ +version: "2.2" +slug: rpc_shutdown +name: RPC Shutdown +description: Shutdown Windows machines remotely +url: https://github.com/home-assistant/hassio-addons/tree/master/rpc_shutdown +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +host_network: true +image: homeassistant/{arch}-addon-rpc_shutdown +options: + computers: + - address: 192.168.0.1 + alias: test-pc + credentials: user%password + delay: 0 + message: + Home Assistant is shutting down this PC. This cannot be canceled. Please + save your work! +schema: + computers: + - address: str + alias: match(^[\w-]*$) + credentials: match(^[^%]*(?:%[^%]*)?$) + delay: int(0,600)? + message: str? +startup: services +stdin: true diff --git a/samba/build.json b/samba/build.json deleted file mode 100644 index 9376c79edca..00000000000 --- a/samba/build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "build_from": { - "aarch64": "ghcr.io/home-assistant/aarch64-base:3.13", - "amd64": "ghcr.io/home-assistant/amd64-base:3.13", - "armhf": "ghcr.io/home-assistant/armhf-base:3.13", - "armv7": "ghcr.io/home-assistant/armv7-base:3.13", - "i386": "ghcr.io/home-assistant/i386-base:3.13" - } -} diff --git a/samba/build.yaml b/samba/build.yaml new file mode 100644 index 00000000000..b6f33fd215e --- /dev/null +++ b/samba/build.yaml @@ -0,0 +1,9 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.13 + amd64: ghcr.io/home-assistant/amd64-base:3.13 + armhf: ghcr.io/home-assistant/armhf-base:3.13 + armv7: ghcr.io/home-assistant/armv7-base:3.13 + i386: ghcr.io/home-assistant/i386-base:3.13 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io diff --git a/samba/config.json b/samba/config.json deleted file mode 100644 index ece2b92077f..00000000000 --- a/samba/config.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "Samba share", - "version": "9.5.1", - "slug": "samba", - "description": "Expose Home Assistant folders with SMB/CIFS", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/samba", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "startup": "services", - "init": false, - "hassio_api": true, - "host_network": true, - "map": [ - "config:rw", - "ssl:rw", - "addons:rw", - "share:rw", - "backup:rw", - "media:rw" - ], - "options": { - "workgroup": "WORKGROUP", - "username": "homeassistant", - "password": null, - "allow_hosts": [ - "10.0.0.0/8", - "172.16.0.0/12", - "192.168.0.0/16", - "fe80::/10" - ], - "veto_files": ["._*", ".DS_Store", "Thumbs.db", "icon?", ".Trashes"], - "compatibility_mode": false - }, - "schema": { - "workgroup": "str", - "username": "str", - "password": "password", - "allow_hosts": ["str"], - "veto_files": ["str"], - "compatibility_mode": "bool" - }, - "image": "homeassistant/{arch}-addon-samba" -} diff --git a/samba/config.yaml b/samba/config.yaml new file mode 100644 index 00000000000..5b84e2b88d9 --- /dev/null +++ b/samba/config.yaml @@ -0,0 +1,48 @@ +version: 9.5.1 +slug: samba +name: Samba share +description: Expose Home Assistant folders with SMB/CIFS +url: https://github.com/home-assistant/hassio-addons/tree/master/samba +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +hassio_api: true +host_network: true +image: homeassistant/{arch}-addon-samba +init: false +map: + - config:rw + - ssl:rw + - addons:rw + - share:rw + - backup:rw + - media:rw +options: + allow_hosts: + - 10.0.0.0/8 + - 172.16.0.0/12 + - 192.168.0.0/16 + - fe80::/10 + compatibility_mode: false + password: null + username: homeassistant + veto_files: + - ._* + - .DS_Store + - Thumbs.db + - icon? + - .Trashes + workgroup: WORKGROUP +schema: + allow_hosts: + - str + compatibility_mode: bool + password: password + username: str + veto_files: + - str + workgroup: str +startup: services diff --git a/ssh/build.json b/ssh/build.json deleted file mode 100644 index 3779ec2fad6..00000000000 --- a/ssh/build.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "build_from": { - "aarch64": "ghcr.io/home-assistant/aarch64-base:3.14", - "amd64": "ghcr.io/home-assistant/amd64-base:3.14", - "armhf": "ghcr.io/home-assistant/armhf-base:3.14", - "armv7": "ghcr.io/home-assistant/armv7-base:3.14", - "i386": "ghcr.io/home-assistant/i386-base:3.14" - }, - "args": { - "CLI_VERSION": "4.14.0", - "LIBWEBSOCKETS_VERSION": "4.1.4", - "TTYD_VERSION": "1.6.3" - } -} diff --git a/ssh/build.yaml b/ssh/build.yaml new file mode 100644 index 00000000000..0764f892309 --- /dev/null +++ b/ssh/build.yaml @@ -0,0 +1,13 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.14 + amd64: ghcr.io/home-assistant/amd64-base:3.14 + armhf: ghcr.io/home-assistant/armhf-base:3.14 + armv7: ghcr.io/home-assistant/armv7-base:3.14 + i386: ghcr.io/home-assistant/i386-base:3.14 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + CLI_VERSION: 4.14.0 + LIBWEBSOCKETS_VERSION: 4.1.4 + TTYD_VERSION: 1.6.3 diff --git a/ssh/config.json b/ssh/config.json deleted file mode 100644 index df0c8e26f08..00000000000 --- a/ssh/config.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "Terminal & SSH", - "version": "9.2.1", - "slug": "ssh", - "description": "Allow logging in remotely to Home Assistant using SSH", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/ssh", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "init": false, - "advanced": true, - "startup": "services", - "host_dbus": true, - "ingress": true, - "panel_icon": "mdi:console", - "panel_title": "Terminal", - "hassio_api": true, - "hassio_role": "manager", - "audio": true, - "uart": true, - "ports": { - "22/tcp": null - }, - "map": [ - "config:rw", - "ssl:rw", - "addons:rw", - "share:rw", - "backup:rw", - "media:rw" - ], - "options": { - "authorized_keys": [], - "apks": [], - "password": "", - "server": { - "tcp_forwarding": false - } - }, - "schema": { - "authorized_keys": ["str"], - "password": "password", - "server": { - "tcp_forwarding": "bool" - }, - "apks": ["str"] - }, - "image": "homeassistant/{arch}-addon-ssh" -} diff --git a/ssh/config.yaml b/ssh/config.yaml new file mode 100644 index 00000000000..847c045518e --- /dev/null +++ b/ssh/config.yaml @@ -0,0 +1,46 @@ +version: 9.2.1 +slug: ssh +name: Terminal & SSH +description: Allow logging in remotely to Home Assistant using SSH +url: https://github.com/home-assistant/hassio-addons/tree/master/ssh +advanced: true +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +audio: true +hassio_api: true +hassio_role: manager +host_dbus: true +image: homeassistant/{arch}-addon-ssh +ingress: true +init: false +map: + - config:rw + - ssl:rw + - addons:rw + - share:rw + - backup:rw + - media:rw +options: + apks: [] + authorized_keys: [] + password: "" + server: + tcp_forwarding: false +panel_icon: mdi:console +panel_title: Terminal +ports: + 22/tcp: null +schema: + apks: + - str + authorized_keys: + - str + password: password + server: + tcp_forwarding: bool +startup: services +uart: true diff --git a/tellstick/build.json b/tellstick/build.json deleted file mode 100644 index 5d49c247c55..00000000000 --- a/tellstick/build.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "build_from": { - "aarch64": "homeassistant/aarch64-base:3.13", - "amd64": "homeassistant/amd64-base:3.13", - "armhf": "homeassistant/armhf-base:3.13", - "armv7": "homeassistant/armv7-base:3.13", - "i386": "homeassistant/i386-base:3.13" - }, - "args": { - "TELLDUS_COMMIT": "2598bbed16ffd701f2a07c99582f057a3decbaf3" - } -} diff --git a/tellstick/build.yaml b/tellstick/build.yaml new file mode 100644 index 00000000000..899803f4030 --- /dev/null +++ b/tellstick/build.yaml @@ -0,0 +1,11 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.13 + amd64: ghcr.io/home-assistant/amd64-base:3.13 + armhf: ghcr.io/home-assistant/armhf-base:3.13 + armv7: ghcr.io/home-assistant/armv7-base:3.13 + i386: ghcr.io/home-assistant/i386-base:3.13 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + TELLDUS_COMMIT: 2598bbed16ffd701f2a07c99582f057a3decbaf3 diff --git a/tellstick/config.json b/tellstick/config.json deleted file mode 100644 index 1cdb7362476..00000000000 --- a/tellstick/config.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "TellStick", - "version": "2.1.0", - "slug": "tellstick", - "description": "TellStick and TellStick Duo service", - "url": "https://github.com/home-assistant/hassio-addons/tree/master/tellstick", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "startup": "system", - "stdin": true, - "usb": true, - "options": { - "devices": [ - { - "id": 1, - "name": "Example device", - "protocol": "everflourish", - "model": "selflearning-switch", - "house": "A", - "unit": "1" - }, - { - "id": 2, - "name": "Example device two", - "protocol": "everflourish", - "model": "selflearning-switch", - "house": "A", - "unit": "2" - } - ] - }, - "schema": { - "devices": [ - { - "id": "int(1,)", - "name": "str", - "protocol": "match(arctech|brateck|comen|everflourish|fineoffset|fuhaote|hasta|ikea|kangtai|mandolyn|oregon|risingsun|sartano|silvanchip|upm|waveman|x10|yidong)", - "model": "match(codeswitch|bell|selflearning-switch|selflearning-dimmer|selflearning|ecosavers|kp100|temperaturehumidity|temperature)?", - "house": "str?", - "code": "str?", - "unit": "str?", - "fade": "str?" - } - ] - }, - "image": "homeassistant/{arch}-addon-tellstick" -} diff --git a/tellstick/config.yaml b/tellstick/config.yaml new file mode 100644 index 00000000000..29f5ad465f0 --- /dev/null +++ b/tellstick/config.yaml @@ -0,0 +1,39 @@ +version: 2.1.0 +slug: tellstick +name: TellStick +description: TellStick and TellStick Duo service +url: https://github.com/home-assistant/hassio-addons/tree/master/tellstick +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +image: homeassistant/{arch}-addon-tellstick +options: + devices: + - house: A + id: 1 + model: selflearning-switch + name: Example device + protocol: everflourish + unit: "1" + - house: A + id: 2 + model: selflearning-switch + name: Example device two + protocol: everflourish + unit: "2" +schema: + devices: + - code: str? + fade: str? + house: str? + id: int(1,) + model: match(codeswitch|bell|selflearning-switch|selflearning-dimmer|selflearning|ecosavers|kp100|temperaturehumidity|temperature)? + name: str + protocol: match(arctech|brateck|comen|everflourish|fineoffset|fuhaote|hasta|ikea|kangtai|mandolyn|oregon|risingsun|sartano|silvanchip|upm|waveman|x10|yidong) + unit: str? +startup: system +stdin: true +usb: true diff --git a/vlc/build.json b/vlc/build.json deleted file mode 100644 index 61333837332..00000000000 --- a/vlc/build.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "build_from": { - "amd64": "homeassistant/amd64-base:3.13", - "i386": "homeassistant/i386-base:3.13", - "armv7": "homeassistant/armv7-base:3.13", - "aarch64": "homeassistant/aarch64-base:3.13" - } -} diff --git a/vlc/build.yaml b/vlc/build.yaml new file mode 100644 index 00000000000..20d55b15b05 --- /dev/null +++ b/vlc/build.yaml @@ -0,0 +1,8 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.13 + amd64: ghcr.io/home-assistant/amd64-base:3.13 + armv7: ghcr.io/home-assistant/armv7-base:3.13 + i386: ghcr.io/home-assistant/i386-base:3.13 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io diff --git a/vlc/config.json b/vlc/config.json deleted file mode 100644 index 5d8c7a42e8a..00000000000 --- a/vlc/config.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "VLC", - "version": "0.1.3", - "slug": "vlc", - "description": "Turn your device into a Media Player with VLC", - "arch": ["amd64", "i386", "armv7", "aarch64"], - "url": "https://github.com/home-assistant/hassio-addons/tree/master/vlc", - "startup": "services", - "init": false, - "stage": "experimental", - "map": ["share:ro", "media:ro"], - "homeassistant": "2021.3.0.dev20210216", - "ingress": true, - "panel_icon": "mdi:vlc", - "discovery": ["vlc_telnet"], - "audio": true, - "options": {}, - "schema": false, - "image": "homeassistant/{arch}-addon-vlc" -} diff --git a/vlc/config.yaml b/vlc/config.yaml new file mode 100644 index 00000000000..13e2523191f --- /dev/null +++ b/vlc/config.yaml @@ -0,0 +1,25 @@ +version: 0.1.3 +slug: vlc +name: VLC +description: Turn your device into a Media Player with VLC +url: https://github.com/home-assistant/hassio-addons/tree/master/vlc +arch: + - amd64 + - i386 + - armv7 + - aarch64 +audio: true +discovery: + - vlc_telnet +homeassistant: 2021.3.0.dev20210216 +image: homeassistant/{arch}-addon-vlc +ingress: true +init: false +map: + - share:ro + - media:ro +options: {} +panel_icon: mdi:vlc +schema: false +stage: experimental +startup: services diff --git a/zwave/build.json b/zwave/build.json deleted file mode 100644 index f6e880813a3..00000000000 --- a/zwave/build.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "build_from": { - "amd64": "homeassistant/amd64-base:3.11", - "i386": "homeassistant/i386-base:3.11", - "armhf": "homeassistant/armhf-base:3.11", - "armv7": "homeassistant/armv7-base:3.11", - "aarch64": "homeassistant/aarch64-base:3.11" - }, - "args": { - "OZW_VERSION": "ee90c896c137b3a473232565c45a51d70c41c431", - "QTOZW_VERSION": "7ebd43e246e97851ad20f2b1bb9c62bfd6a4a6ef", - "QTOZWADMIN_VERSION": "f68b43ec162f6eb59173710e00b1f1aa192ce373", - "QTMQTT_VERSION": "5.12.8", - "QTWEBSOCKETS_VERSION": "5.12.8", - "NOVNC_VERSION": "1.2.0", - "WEBSOCKIFY_VERSION": "0.9.0" - } -} diff --git a/zwave/build.yaml b/zwave/build.yaml new file mode 100644 index 00000000000..c89ef8b01b1 --- /dev/null +++ b/zwave/build.yaml @@ -0,0 +1,17 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.11 + amd64: ghcr.io/home-assistant/amd64-base:3.11 + armhf: ghcr.io/home-assistant/armhf-base:3.11 + armv7: ghcr.io/home-assistant/armv7-base:3.11 + i386: ghcr.io/home-assistant/i386-base:3.11 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + NOVNC_VERSION: 1.2.0 + OZW_VERSION: ee90c896c137b3a473232565c45a51d70c41c431 + QTMQTT_VERSION: 5.12.8 + QTOZWADMIN_VERSION: f68b43ec162f6eb59173710e00b1f1aa192ce373 + QTOZW_VERSION: 7ebd43e246e97851ad20f2b1bb9c62bfd6a4a6ef + QTWEBSOCKETS_VERSION: 5.12.8 + WEBSOCKIFY_VERSION: 0.9.0 diff --git a/zwave/config.json b/zwave/config.json deleted file mode 100644 index 1a0b9fba604..00000000000 --- a/zwave/config.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "OpenZWave", - "version": "0.9.1", - "slug": "zwave", - "description": "Control a ZWave network with Home Assistant", - "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], - "url": "https://github.com/home-assistant/hassio-addons/tree/master/zwave", - "ingress": true, - "ingress_entry": "vnc_lite.html", - "panel_icon": "mdi:z-wave", - "panel_title": "OpenZWave", - "startup": "services", - "init": false, - "stage": "experimental", - "homeassistant": "0.110.0.dev", - "ports": { - "1983/tcp": null, - "5900/tcp": null - }, - "ports_description": { - "1983/tcp": "ozw-admin port", - "5900/tcp": "VNC port" - }, - "services": ["mqtt:want"], - "discovery": ["ozw"], - "options": { - "device": null, - "network_key": "" - }, - "schema": { - "device": "device(subsystem=tty)", - "network_key": "password", - "instance": "int(1,)?" - }, - "image": "homeassistant/{arch}-addon-zwave" -} diff --git a/zwave/config.yaml b/zwave/config.yaml new file mode 100644 index 00000000000..69234f6a1ec --- /dev/null +++ b/zwave/config.yaml @@ -0,0 +1,37 @@ +version: 0.9.1 +slug: zwave +name: OpenZWave +description: Control a ZWave network with Home Assistant +url: https://github.com/home-assistant/hassio-addons/tree/master/zwave +arch: + - amd64 + - i386 + - armhf + - armv7 + - aarch64 +discovery: + - ozw +homeassistant: 0.110.0.dev +image: homeassistant/{arch}-addon-zwave +ingress: true +ingress_entry: vnc_lite.html +init: false +options: + device: null + network_key: "" +panel_icon: mdi:z-wave +panel_title: OpenZWave +ports: + 1983/tcp: null + 5900/tcp: null +ports_description: + 1983/tcp: ozw-admin port + 5900/tcp: VNC port +schema: + device: device(subsystem=tty) + instance: int(1,)? + network_key: password +services: + - mqtt:want +stage: experimental +startup: services diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 487ffba96fa..18fecf405fe 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,9 +1,5 @@ # Changelog -## 0.1.48 - -- Roll back add-on to 0.1.48 as a temporary fix for build issues with 0.1.49. - ## 0.1.49 - Bump Z-Wave JS to 8.7.7 diff --git a/zwave_js/build.json b/zwave_js/build.json deleted file mode 100644 index 73035c10fdf..00000000000 --- a/zwave_js/build.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "build_from": { - "amd64": "homeassistant/amd64-base:3.13", - "i386": "homeassistant/i386-base:3.13", - "armhf": "homeassistant/armhf-base:3.13", - "armv7": "homeassistant/armv7-base:3.13", - "aarch64": "homeassistant/aarch64-base:3.13" - }, - "args": { - "ZWAVEJS_SERVER_VERSION": "1.12.0", - "ZWAVEJS_VERSION": "8.7.7" - } -} diff --git a/zwave_js/build.yaml b/zwave_js/build.yaml new file mode 100644 index 00000000000..718080f73f9 --- /dev/null +++ b/zwave_js/build.yaml @@ -0,0 +1,12 @@ +build_from: + aarch64: ghcr.io/home-assistant/aarch64-base:3.13 + amd64: ghcr.io/home-assistant/amd64-base:3.13 + armhf: ghcr.io/home-assistant/armhf-base:3.13 + armv7: ghcr.io/home-assistant/armv7-base:3.13 + i386: ghcr.io/home-assistant/i386-base:3.13 +codenotary: + signer: notary@home-assistant.io + base_image: notary@home-assistant.io +args: + ZWAVEJS_SERVER_VERSION: 1.12.0 + ZWAVEJS_VERSION: 8.7.7 diff --git a/zwave_js/config.json b/zwave_js/config.json deleted file mode 100644 index d01c82fa36b..00000000000 --- a/zwave_js/config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "Z-Wave JS", - "version": "0.1.48", - "slug": "zwave_js", - "description": "Control a ZWave network with Home Assistant Z-Wave JS", - "arch": ["amd64", "i386", "armhf", "armv7", "aarch64"], - "url": "https://github.com/home-assistant/hassio-addons/tree/master/zwave_js", - "startup": "services", - "init": false, - "stage": "stable", - "hassio_api": true, - "homeassistant": "2021.2.0b0", - "ports": { - "3000/tcp": null - }, - "ports_description": { - "3000/tcp": "Z-Wave JS communication" - }, - "discovery": ["zwave_js"], - "options": { - "device": null, - "s0_legacy_key": "", - "s2_access_control_key": "", - "s2_authenticated_key": "", - "s2_unauthenticated_key": "", - "log_level": "info" - }, - "schema": { - "device": "device(subsystem=tty)", - "s0_legacy_key": "match(|[0-9a-fA-F]{32,32})?", - "s2_access_control_key": "match(|[0-9a-fA-F]{32,32})?", - "s2_authenticated_key": "match(|[0-9a-fA-F]{32,32})?", - "s2_unauthenticated_key": "match(|[0-9a-fA-F]{32,32})?", - "log_level": "list(silly|debug|verbose|http|info|warn|error)?", - "emulate_hardware": "bool?", - "network_key": "match(|[0-9a-fA-F]{32,32})?" - }, - "image": "homeassistant/{arch}-addon-zwave_js" -} diff --git a/zwave_js/config.yaml b/zwave_js/config.yaml new file mode 100644 index 00000000000..a2646218368 --- /dev/null +++ b/zwave_js/config.yaml @@ -0,0 +1,39 @@ +version: 0.1.49 +slug: zwave_js +name: Z-Wave JS +description: Control a ZWave network with Home Assistant Z-Wave JS +url: https://github.com/home-assistant/hassio-addons/tree/master/zwave_js +arch: + - amd64 + - i386 + - armhf + - armv7 + - aarch64 +discovery: + - zwave_js +hassio_api: true +homeassistant: 2021.2.0b0 +image: homeassistant/{arch}-addon-zwave_js +init: false +options: + device: null + log_level: info + s0_legacy_key: "" + s2_access_control_key: "" + s2_authenticated_key: "" + s2_unauthenticated_key: "" +ports: + 3000/tcp: null +ports_description: + 3000/tcp: Z-Wave JS communication +schema: + device: device(subsystem=tty) + emulate_hardware: bool? + log_level: list(silly|debug|verbose|http|info|warn|error)? + network_key: match(|[0-9a-fA-F]{32,32})? + s0_legacy_key: match(|[0-9a-fA-F]{32,32})? + s2_access_control_key: match(|[0-9a-fA-F]{32,32})? + s2_authenticated_key: match(|[0-9a-fA-F]{32,32})? + s2_unauthenticated_key: match(|[0-9a-fA-F]{32,32})? +stage: stable +startup: services From 11fdc19abc0fd46065642cbf975a7a3e6c8f3b07 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Dec 2021 12:03:08 +0100 Subject: [PATCH 044/668] Bump home-assistant/builder from 2021.11.3 to 2021.11.4 (#2288) Bumps [home-assistant/builder](https://github.com/home-assistant/builder) from 2021.11.3 to 2021.11.4. - [Release notes](https://github.com/home-assistant/builder/releases) - [Commits](https://github.com/home-assistant/builder/compare/2021.11.3...2021.11.4) --- updated-dependencies: - dependency-name: home-assistant/builder dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index 15135f2130e..d5f855a3d38 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -113,7 +113,7 @@ jobs: - name: Build ${{ matrix.addon }} add-on if: steps.check.outputs.build_arch == 'true' - uses: home-assistant/builder@2021.11.3 + uses: home-assistant/builder@2021.11.4 with: args: | ${{ env.BUILD_ARGS }} \ From bb22dd2609ce7460ef36f6c03893190106ab0874 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Mon, 6 Dec 2021 22:30:51 -0500 Subject: [PATCH 045/668] Bump zwave-js to 8.8.3 (#2297) --- zwave_js/CHANGELOG.md | 4 ++++ zwave_js/build.yaml | 2 +- zwave_js/config.yaml | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 18fecf405fe..a15760036ca 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.1.50 + +- Bump Z-Wave JS to 8.8.3 + ## 0.1.49 - Bump Z-Wave JS to 8.7.7 diff --git a/zwave_js/build.yaml b/zwave_js/build.yaml index 718080f73f9..e3b05984506 100644 --- a/zwave_js/build.yaml +++ b/zwave_js/build.yaml @@ -9,4 +9,4 @@ codenotary: base_image: notary@home-assistant.io args: ZWAVEJS_SERVER_VERSION: 1.12.0 - ZWAVEJS_VERSION: 8.7.7 + ZWAVEJS_VERSION: 8.8.3 diff --git a/zwave_js/config.yaml b/zwave_js/config.yaml index a2646218368..fa027648ce4 100644 --- a/zwave_js/config.yaml +++ b/zwave_js/config.yaml @@ -1,4 +1,4 @@ -version: 0.1.49 +version: 0.1.50 slug: zwave_js name: Z-Wave JS description: Control a ZWave network with Home Assistant Z-Wave JS From e528789bedd5d69712e926e0ce13a9a198bc0c7e Mon Sep 17 00:00:00 2001 From: fi-sch <59969726+fi-sch@users.noreply.github.com> Date: Mon, 20 Dec 2021 12:57:32 +0100 Subject: [PATCH 046/668] deCONZ 2.13.4 (stable) (#2312) Co-authored-by: Pascal Vizeli --- deconz/CHANGELOG.md | 4 ++++ deconz/Dockerfile | 2 +- deconz/build.yaml | 2 +- deconz/config.yaml | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/deconz/CHANGELOG.md b/deconz/CHANGELOG.md index c7147e75f44..9193d0220d8 100644 --- a/deconz/CHANGELOG.md +++ b/deconz/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 6.11.0 + +- Bump deCONZ to 2.13.4 + ## 6.10.0 - Bump deCONZ to 2.12.6 diff --git a/deconz/Dockerfile b/deconz/Dockerfile index 4fc686721d1..73a6dc38daa 100644 --- a/deconz/Dockerfile +++ b/deconz/Dockerfile @@ -68,7 +68,7 @@ RUN \ curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/raspbian/stable/deconz-${DECONZ_VERSION}-qt5.deb; \ elif [ "${BUILD_ARCH}" = "aarch64" ]; \ then \ - curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/debian/stable/deconz_${DECONZ_VERSION}-debian-stretch-stable_arm64.deb; \ + curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/debian/stable/deconz_${DECONZ_VERSION}-debian-buster-stable_arm64.deb; \ else \ curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/ubuntu/stable/deconz-${DECONZ_VERSION}-qt5.deb; \ fi \ diff --git a/deconz/build.yaml b/deconz/build.yaml index db98a94ca42..3ba4ca1347e 100644 --- a/deconz/build.yaml +++ b/deconz/build.yaml @@ -6,4 +6,4 @@ codenotary: signer: notary@home-assistant.io base_image: notary@home-assistant.io args: - DECONZ_VERSION: 2.12.06 + DECONZ_VERSION: 2.13.04 diff --git a/deconz/config.yaml b/deconz/config.yaml index dd056e68305..e46fb9d658d 100644 --- a/deconz/config.yaml +++ b/deconz/config.yaml @@ -1,4 +1,4 @@ -version: 6.10.0 +version: 6.11.0 slug: deconz name: deCONZ description: Control a Zigbee network with ConBee or RaspBee by Dresden Elektronik From bd9ef417dc07b7cb60351bfb2ab5236e855548bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Dec 2021 15:52:36 +0100 Subject: [PATCH 047/668] Bump home-assistant/builder from 2021.11.4 to 2021.12.0 (#2306) Bumps [home-assistant/builder](https://github.com/home-assistant/builder) from 2021.11.4 to 2021.12.0. - [Release notes](https://github.com/home-assistant/builder/releases) - [Commits](https://github.com/home-assistant/builder/compare/2021.11.4...2021.12.0) --- updated-dependencies: - dependency-name: home-assistant/builder dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index d5f855a3d38..4a4fcbc01df 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -113,7 +113,7 @@ jobs: - name: Build ${{ matrix.addon }} add-on if: steps.check.outputs.build_arch == 'true' - uses: home-assistant/builder@2021.11.4 + uses: home-assistant/builder@2021.12.0 with: args: | ${{ env.BUILD_ARGS }} \ From a264e28752c78546c8b4b7b74ef380b261bd01af Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 20 Dec 2021 15:54:43 +0100 Subject: [PATCH 048/668] Revert "deCONZ 2.13.4 (stable) (#2312)" (#2318) This reverts commit e528789bedd5d69712e926e0ce13a9a198bc0c7e. --- deconz/CHANGELOG.md | 4 ---- deconz/Dockerfile | 2 +- deconz/build.yaml | 2 +- deconz/config.yaml | 2 +- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/deconz/CHANGELOG.md b/deconz/CHANGELOG.md index 9193d0220d8..c7147e75f44 100644 --- a/deconz/CHANGELOG.md +++ b/deconz/CHANGELOG.md @@ -1,9 +1,5 @@ # Changelog -## 6.11.0 - -- Bump deCONZ to 2.13.4 - ## 6.10.0 - Bump deCONZ to 2.12.6 diff --git a/deconz/Dockerfile b/deconz/Dockerfile index 73a6dc38daa..4fc686721d1 100644 --- a/deconz/Dockerfile +++ b/deconz/Dockerfile @@ -68,7 +68,7 @@ RUN \ curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/raspbian/stable/deconz-${DECONZ_VERSION}-qt5.deb; \ elif [ "${BUILD_ARCH}" = "aarch64" ]; \ then \ - curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/debian/stable/deconz_${DECONZ_VERSION}-debian-buster-stable_arm64.deb; \ + curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/debian/stable/deconz_${DECONZ_VERSION}-debian-stretch-stable_arm64.deb; \ else \ curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/ubuntu/stable/deconz-${DECONZ_VERSION}-qt5.deb; \ fi \ diff --git a/deconz/build.yaml b/deconz/build.yaml index 3ba4ca1347e..db98a94ca42 100644 --- a/deconz/build.yaml +++ b/deconz/build.yaml @@ -6,4 +6,4 @@ codenotary: signer: notary@home-assistant.io base_image: notary@home-assistant.io args: - DECONZ_VERSION: 2.13.04 + DECONZ_VERSION: 2.12.06 diff --git a/deconz/config.yaml b/deconz/config.yaml index e46fb9d658d..dd056e68305 100644 --- a/deconz/config.yaml +++ b/deconz/config.yaml @@ -1,4 +1,4 @@ -version: 6.11.0 +version: 6.10.0 slug: deconz name: deCONZ description: Control a Zigbee network with ConBee or RaspBee by Dresden Elektronik From e7de969655c4a3bc617527be09751268991932a0 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 20 Dec 2021 17:17:38 +0100 Subject: [PATCH 049/668] deCONZ 2.13.04, add-on version 6.11.1 (#2319) --- deconz/CHANGELOG.md | 9 +++++++++ deconz/Dockerfile | 5 +++-- deconz/build.yaml | 2 +- deconz/config.yaml | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/deconz/CHANGELOG.md b/deconz/CHANGELOG.md index c7147e75f44..f26705cc11a 100644 --- a/deconz/CHANGELOG.md +++ b/deconz/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 6.11.1 + +- Add missing libqt5qml5 dependency +- Do not force install of deCONZ packages + +## 6.11.0 + +- Bump deCONZ to 2.13.4 + ## 6.10.0 - Bump deCONZ to 2.12.6 diff --git a/deconz/Dockerfile b/deconz/Dockerfile index 4fc686721d1..77be1453cce 100644 --- a/deconz/Dockerfile +++ b/deconz/Dockerfile @@ -22,6 +22,7 @@ RUN \ libqt5sql5 \ libqt5websockets5 \ libqt5widgets5 \ + libqt5qml5 \ lsof \ netcat \ nginx \ @@ -68,11 +69,11 @@ RUN \ curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/raspbian/stable/deconz-${DECONZ_VERSION}-qt5.deb; \ elif [ "${BUILD_ARCH}" = "aarch64" ]; \ then \ - curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/debian/stable/deconz_${DECONZ_VERSION}-debian-stretch-stable_arm64.deb; \ + curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/debian/stable/deconz_${DECONZ_VERSION}-debian-buster-stable_arm64.deb; \ else \ curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/ubuntu/stable/deconz-${DECONZ_VERSION}-qt5.deb; \ fi \ - && dpkg --force-all -i /deconz.deb \ + && dpkg -i /deconz.deb \ && rm -f /deconz.deb \ && chown root:root /usr/bin/deCONZ* \ && sed -i 's/\/root/\/data/' /etc/passwd diff --git a/deconz/build.yaml b/deconz/build.yaml index db98a94ca42..3ba4ca1347e 100644 --- a/deconz/build.yaml +++ b/deconz/build.yaml @@ -6,4 +6,4 @@ codenotary: signer: notary@home-assistant.io base_image: notary@home-assistant.io args: - DECONZ_VERSION: 2.12.06 + DECONZ_VERSION: 2.13.04 diff --git a/deconz/config.yaml b/deconz/config.yaml index dd056e68305..d177f3d9267 100644 --- a/deconz/config.yaml +++ b/deconz/config.yaml @@ -1,4 +1,4 @@ -version: 6.10.0 +version: 6.11.1 slug: deconz name: deCONZ description: Control a Zigbee network with ConBee or RaspBee by Dresden Elektronik From 455a9928057c4e438c6bd1fd042f06c6372a6004 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Dec 2021 10:39:30 +0100 Subject: [PATCH 050/668] Bump docker/login-action from 1.10.0 to 1.12.0 (#2322) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/builder.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index 4a4fcbc01df..9b15aa45c37 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -98,14 +98,14 @@ jobs: - name: Login to DockerHub if: env.BUILD_ARGS == '--docker-hub-check' - uses: docker/login-action@v1.10.0 + uses: docker/login-action@v1.12.0 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Login to GitHub Container Registry if: env.BUILD_ARGS == '--docker-hub-check' - uses: docker/login-action@v1.10.0 + uses: docker/login-action@v1.12.0 with: registry: ghcr.io username: ${{ secrets.GIT_USER }} From 21215aa9d0cdd1c2e322a6c8faf93ae727e3ce96 Mon Sep 17 00:00:00 2001 From: Felipe Santos Date: Wed, 22 Dec 2021 13:51:10 -0300 Subject: [PATCH 051/668] Allow use of ports other than 8123 in HA (#2307) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Joakim Sørensen --- nginx_proxy/CHANGELOG.md | 4 ++++ nginx_proxy/config.yaml | 3 ++- nginx_proxy/data/nginx.conf | 2 +- nginx_proxy/data/run.sh | 3 +++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/nginx_proxy/CHANGELOG.md b/nginx_proxy/CHANGELOG.md index 5c6c4b9be73..158b8fdbd63 100644 --- a/nginx_proxy/CHANGELOG.md +++ b/nginx_proxy/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 3.1.0 + +- Allow use of ports other than 8123 in Home Assistant Core + ## 3.0.2 - Update Alpine to 3.14 diff --git a/nginx_proxy/config.yaml b/nginx_proxy/config.yaml index 58375f92ba6..8affef9586c 100644 --- a/nginx_proxy/config.yaml +++ b/nginx_proxy/config.yaml @@ -1,4 +1,5 @@ -version: 3.0.2 +version: 3.1.0 +hassio_api: true slug: nginx_proxy name: NGINX Home Assistant SSL proxy description: An SSL/TLS proxy diff --git a/nginx_proxy/data/nginx.conf b/nginx_proxy/data/nginx.conf index fdc091f2621..ebd7815a6db 100644 --- a/nginx_proxy/data/nginx.conf +++ b/nginx_proxy/data/nginx.conf @@ -58,7 +58,7 @@ http { #include /share/nginx_proxy_default*.conf; location / { - proxy_pass http://homeassistant.local.hass.io:8123; + proxy_pass http://homeassistant.local.hass.io:%%HA_PORT%%; proxy_set_header Host $host; proxy_redirect http:// https://; proxy_http_version 1.1; diff --git a/nginx_proxy/data/run.sh b/nginx_proxy/data/run.sh index 6e26713ce71..55fc1ccb9f2 100755 --- a/nginx_proxy/data/run.sh +++ b/nginx_proxy/data/run.sh @@ -13,6 +13,8 @@ KEYFILE=$(bashio::config 'keyfile') CERTFILE=$(bashio::config 'certfile') HSTS=$(bashio::config 'hsts') +HA_PORT=$(bashio::core.port) + # Generate dhparams if ! bashio::fs.file_exists "${DHPARAMS_PATH}"; then bashio::log.info "Generating dhparams (this will take some time)..." @@ -52,6 +54,7 @@ fi sed -i "s#%%FULLCHAIN%%#$CERTFILE#g" /etc/nginx.conf sed -i "s#%%PRIVKEY%%#$KEYFILE#g" /etc/nginx.conf sed -i "s/%%DOMAIN%%/$DOMAIN/g" /etc/nginx.conf +sed -i "s/%%HA_PORT%%/$HA_PORT/g" /etc/nginx.conf [ -n "$HSTS" ] && HSTS="add_header Strict-Transport-Security \"$HSTS\" always;" sed -i "s/%%HSTS%%/$HSTS/g" /etc/nginx.conf From 132ca099e90e9450566772c3ab4b75fed411e1ad Mon Sep 17 00:00:00 2001 From: Steve Easley Date: Thu, 23 Dec 2021 05:27:42 -0500 Subject: [PATCH 052/668] Fixed bash PS1 escaping (#2310) --- ssh/CHANGELOG.md | 4 ++++ ssh/config.yaml | 2 +- ssh/rootfs/usr/share/tempio/homeassistant.profile | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ssh/CHANGELOG.md b/ssh/CHANGELOG.md index 04d0b7c4a3f..954b218d2bf 100644 --- a/ssh/CHANGELOG.md +++ b/ssh/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 9.2.2 + +- Fix escape codes in color bash prompt + ## 9.2.1 - Upgrade Home Assistant CLI to 4.14.0 diff --git a/ssh/config.yaml b/ssh/config.yaml index 847c045518e..166dc2acd66 100644 --- a/ssh/config.yaml +++ b/ssh/config.yaml @@ -1,4 +1,4 @@ -version: 9.2.1 +version: 9.2.2 slug: ssh name: Terminal & SSH description: Allow logging in remotely to Home Assistant using SSH diff --git a/ssh/rootfs/usr/share/tempio/homeassistant.profile b/ssh/rootfs/usr/share/tempio/homeassistant.profile index 0485fc25dc5..793f4b5626b 100644 --- a/ssh/rootfs/usr/share/tempio/homeassistant.profile +++ b/ssh/rootfs/usr/share/tempio/homeassistant.profile @@ -1,5 +1,5 @@ #!/usr/bin/env bash -export PS1="\e[0;32m[\h \W]\$ \e[m" +export PS1="\[\e[0;32m\][\h \W]\$ \[\e[m\]" export SUPERVISOR_TOKEN={{ .supervisor_token }} ha banner From 47ee96dad5c9781ff092ad580d994825123a19b6 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Wed, 29 Dec 2021 04:29:45 -0500 Subject: [PATCH 053/668] Bump zwave-js to 8.9.2 and zwave-js-server to 1.14.0 (#2327) * Bump zwave-js to 8.9.2 and zwave-js-server to 1.14.0 * bump addon version --- zwave_js/CHANGELOG.md | 5 +++++ zwave_js/build.yaml | 4 ++-- zwave_js/config.yaml | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index a15760036ca..15227517f2c 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.1.51 + +- Bump Z-Wave JS to 8.9.2 +- Bump Z-Wave JS Server to 1.14.0 + ## 0.1.50 - Bump Z-Wave JS to 8.8.3 diff --git a/zwave_js/build.yaml b/zwave_js/build.yaml index e3b05984506..ec36b42f38c 100644 --- a/zwave_js/build.yaml +++ b/zwave_js/build.yaml @@ -8,5 +8,5 @@ codenotary: signer: notary@home-assistant.io base_image: notary@home-assistant.io args: - ZWAVEJS_SERVER_VERSION: 1.12.0 - ZWAVEJS_VERSION: 8.8.3 + ZWAVEJS_SERVER_VERSION: 1.14.0 + ZWAVEJS_VERSION: 8.9.2 diff --git a/zwave_js/config.yaml b/zwave_js/config.yaml index fa027648ce4..cecf9c1446a 100644 --- a/zwave_js/config.yaml +++ b/zwave_js/config.yaml @@ -1,4 +1,4 @@ -version: 0.1.50 +version: 0.1.51 slug: zwave_js name: Z-Wave JS description: Control a ZWave network with Home Assistant Z-Wave JS From d2dfa45e187b8790375646a1b82f12bbbd9e7230 Mon Sep 17 00:00:00 2001 From: Laszlo Magyar Date: Sun, 2 Jan 2022 21:20:35 +0100 Subject: [PATCH 054/668] Fix documentation for lets_encrypt.algo (#2335) --- duckdns/DOCS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/duckdns/DOCS.md b/duckdns/DOCS.md index e2ae5923c54..42189181228 100644 --- a/duckdns/DOCS.md +++ b/duckdns/DOCS.md @@ -62,7 +62,7 @@ The name of the private key file generated by Let's Encrypt. The private key fil **Note**: _The file is stored in `/ssl/`, which is the default for Home Assistant_ -#### Option `lets_encrypt.algo` (optional) +#### Option `lets_encrypt.algo` Public key algorithm that will be used. From cbf54bf51a40f52da15536d643cf1c3ced7fd7e8 Mon Sep 17 00:00:00 2001 From: Brandon Valentine Date: Thu, 6 Jan 2022 04:31:22 -0500 Subject: [PATCH 055/668] Update ttyd and libwebsockets deps for ssh addon (#2324) --- ssh/CHANGELOG.md | 5 +++++ ssh/build.yaml | 4 ++-- ssh/config.yaml | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ssh/CHANGELOG.md b/ssh/CHANGELOG.md index 954b218d2bf..075408f2d35 100644 --- a/ssh/CHANGELOG.md +++ b/ssh/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 9.3.0 + +- Update libwebsockets to 4.2.1 +- Update ttyd to `3e37e33b1cd927ae8f25cfbcf0da268723b6d230` + ## 9.2.2 - Fix escape codes in color bash prompt diff --git a/ssh/build.yaml b/ssh/build.yaml index 0764f892309..2e4711ba25e 100644 --- a/ssh/build.yaml +++ b/ssh/build.yaml @@ -9,5 +9,5 @@ codenotary: base_image: notary@home-assistant.io args: CLI_VERSION: 4.14.0 - LIBWEBSOCKETS_VERSION: 4.1.4 - TTYD_VERSION: 1.6.3 + LIBWEBSOCKETS_VERSION: 4.2.1 + TTYD_VERSION: 3e37e33b1cd927ae8f25cfbcf0da268723b6d230 diff --git a/ssh/config.yaml b/ssh/config.yaml index 166dc2acd66..fb4ce89c620 100644 --- a/ssh/config.yaml +++ b/ssh/config.yaml @@ -1,4 +1,4 @@ -version: 9.2.2 +version: 9.3.0 slug: ssh name: Terminal & SSH description: Allow logging in remotely to Home Assistant using SSH From ec0411cc573291e66b1b6e21199baaade876d4cf Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Tue, 11 Jan 2022 01:10:14 -0500 Subject: [PATCH 056/668] Bump zwave-js to 8.10.2 and zwave-js-server to 1.14.1 (#2343) --- zwave_js/CHANGELOG.md | 5 +++++ zwave_js/build.yaml | 4 ++-- zwave_js/config.yaml | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/zwave_js/CHANGELOG.md b/zwave_js/CHANGELOG.md index 15227517f2c..b4bcdcb5dac 100644 --- a/zwave_js/CHANGELOG.md +++ b/zwave_js/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.1.52 + +- Bump Z-Wave JS to 8.10.2 +- Bump Z-Wave JS Server to 1.14.1 + ## 0.1.51 - Bump Z-Wave JS to 8.9.2 diff --git a/zwave_js/build.yaml b/zwave_js/build.yaml index ec36b42f38c..76c43ff3cf1 100644 --- a/zwave_js/build.yaml +++ b/zwave_js/build.yaml @@ -8,5 +8,5 @@ codenotary: signer: notary@home-assistant.io base_image: notary@home-assistant.io args: - ZWAVEJS_SERVER_VERSION: 1.14.0 - ZWAVEJS_VERSION: 8.9.2 + ZWAVEJS_SERVER_VERSION: 1.14.1 + ZWAVEJS_VERSION: 8.10.2 diff --git a/zwave_js/config.yaml b/zwave_js/config.yaml index cecf9c1446a..76be3deacba 100644 --- a/zwave_js/config.yaml +++ b/zwave_js/config.yaml @@ -1,4 +1,4 @@ -version: 0.1.51 +version: 0.1.52 slug: zwave_js name: Z-Wave JS description: Control a ZWave network with Home Assistant Z-Wave JS From 5dc039373ac85eced80fd33282300e561e853186 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Conde=20G=C3=B3mez?= Date: Fri, 21 Jan 2022 10:56:31 +0100 Subject: [PATCH 057/668] Hide server version banner from nginx_proxy (#2354) --- nginx_proxy/CHANGELOG.md | 4 ++++ nginx_proxy/config.yaml | 2 +- nginx_proxy/data/nginx.conf | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/nginx_proxy/CHANGELOG.md b/nginx_proxy/CHANGELOG.md index 158b8fdbd63..2f6cf1e709c 100644 --- a/nginx_proxy/CHANGELOG.md +++ b/nginx_proxy/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 3.1.1 + +- Hide server version banner + ## 3.1.0 - Allow use of ports other than 8123 in Home Assistant Core diff --git a/nginx_proxy/config.yaml b/nginx_proxy/config.yaml index 8affef9586c..721aae69f14 100644 --- a/nginx_proxy/config.yaml +++ b/nginx_proxy/config.yaml @@ -1,4 +1,4 @@ -version: 3.1.0 +version: 3.1.1 hassio_api: true slug: nginx_proxy name: NGINX Home Assistant SSL proxy diff --git a/nginx_proxy/data/nginx.conf b/nginx_proxy/data/nginx.conf index ebd7815a6db..49af45d8ff1 100644 --- a/nginx_proxy/data/nginx.conf +++ b/nginx_proxy/data/nginx.conf @@ -11,7 +11,9 @@ http { default upgrade; '' close; } - + + server_tokens off; + server_names_hash_bucket_size 64; #include /data/cloudflare.conf; From ab8ca6b4cfc1b99e74954d572af4fac00cf613aa Mon Sep 17 00:00:00 2001 From: Jens Maus Date: Tue, 25 Jan 2022 14:42:02 +0100 Subject: [PATCH 058/668] HomeMatic CCU add-on retirement/migration path (#2352) * added first version of createBackup.sh for homematic addon * move bin directory to opt/hm * debug * debug * minor cleanup change. * added a patched version of cp_security.cgi to support direct WebUI based backup creation+download. * minor fix * minor fix * version bump and removal of subsystem=tty filter for device spec * added changed to CHANGELOG.md * Added retirement notification * Update README.md * Update DOCS.md * Update CHANGELOG.md * fixed shellcheck errors. * Update homematic/CHANGELOG.md * Update homematic/config.yaml Co-authored-by: Pascal Vizeli --- homematic/CHANGELOG.md | 16 + homematic/DOCS.md | 2 + homematic/README.md | 2 + homematic/config.yaml | 6 +- homematic/rootfs/opt/hm/bin/createBackup.sh | 107 ++ .../rootfs/opt/hm/www/config/cp_security.cgi | 1620 +++++++++++++++++ 6 files changed, 1750 insertions(+), 3 deletions(-) create mode 100755 homematic/rootfs/opt/hm/bin/createBackup.sh create mode 100755 homematic/rootfs/opt/hm/www/config/cp_security.cgi diff --git a/homematic/CHANGELOG.md b/homematic/CHANGELOG.md index a68d6b1b267..cb4145f9429 100644 --- a/homematic/CHANGELOG.md +++ b/homematic/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +#### :warning: This add-on is considered to be obsolete/retired in favor of the much more advanced third-party [RaspberryMatic CCU](https://github.com/jens-maus/RaspberryMatic/tree/master/home-assistant-addon) add-on for running a HomeMatic/homematicIP smart home central within HomeAssistant. If you want to migrate to the new add-on, please make sure to update to the latest version of this old "HomeMatic CCU" add-on first and then use the WebUI-based backup routines to export a `*.sbk` config backup file which you can then restore in the new "RaspberryMatic CCU" add-on afterwards (cf. [RaspberryMatic Documentation](https://github.com/jens-maus/RaspberryMatic/wiki/Installation-HomeAssistant)) :warning: + +## 99.0.0 + +- added a notification to the main add-on README that this add-on + is now considered obsolete/retired in favor of using the + "RaspberryMatic CCU" HomeAssistant add-on instead. +- implemented a config backup routine which will allow to export + the current HomeMatic configuration in a somewhat compatible + file format (.sbk) to be able to directly import it into a + real CCU or the successor "RaspberryMatic" add-on. +- modified config.yaml to allow to specify arbitrary devices and + not just tty devices. This should allow to specify the new + raw-uart device which will be required with upcoming HAos updates + supporting dualcopro mode for HmIP-RFUSB. + ## 11.3.0 - Update OCCU to 3.59.6 diff --git a/homematic/DOCS.md b/homematic/DOCS.md index 14a2b797848..525c130825f 100644 --- a/homematic/DOCS.md +++ b/homematic/DOCS.md @@ -1,5 +1,7 @@ # Home Assistant Add-on: HomeMatic +#### :warning: This add-on is considered to be obsolete/retired in favor of the much more advanced third-party [RaspberryMatic CCU](https://github.com/jens-maus/RaspberryMatic/tree/master/home-assistant-addon) add-on for running a HomeMatic/homematicIP smart home central within HomeAssistant. If you want to migrate to the new add-on, please make sure to update to the latest version of this old "HomeMatic CCU" add-on first and then use the WebUI-based backup routines to export a `*.sbk` config backup file which you can then restore in the new "RaspberryMatic CCU" add-on afterwards (cf. [RaspberryMatic Documentation](https://github.com/jens-maus/RaspberryMatic/wiki/Installation-HomeAssistant)) :warning: + ## Installation Follow these steps to get the add-on installed on your system: diff --git a/homematic/README.md b/homematic/README.md index 7a2a49185fd..698af821436 100644 --- a/homematic/README.md +++ b/homematic/README.md @@ -1,5 +1,7 @@ # Home Assistant Add-on: HomeMatic +#### :warning: This add-on is considered to be obsolete/retired in favor of the much more advanced third-party [RaspberryMatic CCU](https://github.com/jens-maus/RaspberryMatic/tree/master/home-assistant-addon) add-on for running a HomeMatic/homematicIP smart home central within HomeAssistant. If you want to migrate to the new add-on, please make sure to update to the latest version of this old "HomeMatic CCU" add-on first and then use the WebUI-based backup routines to export a `*.sbk` config backup file which you can then restore in the new "RaspberryMatic CCU" add-on afterwards (cf. [RaspberryMatic Documentation](https://github.com/jens-maus/RaspberryMatic/wiki/Installation-HomeAssistant)) :warning: + HomeMatic central based on OCCU. ![Supports aarch64 Architecture][aarch64-shield] ![Supports amd64 Architecture][amd64-shield] ![Supports armhf Architecture][armhf-shield] ![Supports armv7 Architecture][armv7-shield] ![Supports i386 Architecture][i386-shield] diff --git a/homematic/config.yaml b/homematic/config.yaml index a6c19c47921..5e7f3a304d2 100644 --- a/homematic/config.yaml +++ b/homematic/config.yaml @@ -1,4 +1,4 @@ -version: 11.3.0 +version: 99.0.0 slug: homematic name: HomeMatic CCU description: HomeMatic central based on OCCU @@ -33,12 +33,12 @@ ports_description: 80/tcp: ReGaHss Webinterface (Not required for Ingress) schema: hmip: - - device: device(subsystem=tty) + - device: device type: match(HMIP_CCU2) hmip_enable: bool regahss_reset: bool? rf: - - device: device(subsystem=tty) + - device: device reset: bool? type: match(CCU2) rf_enable: bool diff --git a/homematic/rootfs/opt/hm/bin/createBackup.sh b/homematic/rootfs/opt/hm/bin/createBackup.sh new file mode 100755 index 00000000000..df385138935 --- /dev/null +++ b/homematic/rootfs/opt/hm/bin/createBackup.sh @@ -0,0 +1,107 @@ +#!/bin/bash +# shellcheck source=/dev/null +# +# simple backup script to create a CCU compatible .sbk type +# backup out of the core-homematic HomeAssistant add-on +# +# Copyright (c) 2022 Jens Maus +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Usage: +# createBackup.sh +# + +# Stop on error +set -e + +# default backup destination directory +BACKUPDIR=/tmp + +# let caller overwrite the backup path +if [[ -n "${1}" ]]; then + BACKUPPATH="${1}" +else + echo "ERROR: no backup path specified" +fi + +# get running firmware version +. /VERSION 2>/dev/null + +# check if specified path is a directory or file +if [[ -d "${BACKUPPATH}" ]]; then + # a directory path was specified, lets construct the complete filepath + BACKUPDIR="$(realpath "${BACKUPPATH}")" + BACKUPFILE="$(hostname)-${VERSION}-$(date +%Y-%m-%d-%H%M).sbk" +else + # a file was specified with a directory path + BACKUPDIR="$(realpath "$(dirname "${BACKUPPATH}")")" + BACKUPFILE="$(basename "${BACKUPPATH}")" +fi + +# use the backupdir as base directory for creating +# a temporary directory to create the backup stuff in there. +TMPDIR=$(mktemp -d -p "${BACKUPDIR}") +if [[ -d "${TMPDIR}" ]]; then + # make sure TMPDIR is removed under all circumstances + # shellcheck disable=SC2064 + + # make sure ReGaHSS saves its current settings + echo 'load tclrega.so; rega system.Save()' | /opt/hm/bin/tclsh >/dev/null 2>&1 + + # create a CCU conform copy of /usr/local + mkdir -p "${TMPDIR}/usr/local" + mkdir -p "${TMPDIR}/usr/local/etc/config" + cp -a /opt/hm/etc/config/* "${TMPDIR}/usr/local/etc/config/" + rm -f "${TMPDIR}/usr/local/etc/config/groups.gson" "${TMPDIR}/usr/local/etc/config/userprofiles" + cp -a /data/* "${TMPDIR}/usr/local/etc/config/" + + # cleanup + rm -f "${TMPDIR}/usr/local/etc/config/options.json" + rm -f "${TMPDIR}/usr/local/etc/config/groups.json" + rm -f "${TMPDIR}/usr/local/etc/config/HMServer.conf" + rm -f "${TMPDIR}/usr/local/etc/config/hmip_user.conf" + rm -f "${TMPDIR}/usr/local/etc/config/log4j.xml" + rm -f "${TMPDIR}/usr/local/etc/config/rega.conf" + rm -f "${TMPDIR}/usr/local/etc/config/rega_user.conf" + + # create a gzipped tar of /usr/local + set +e # disable abort on error + /bin/tar -C "${TMPDIR}" --owner=root --group=root --exclude=usr/local/tmp --exclude=usr/local/lost+found --exclude="${BACKUPDIR}" --exclude-tag=.nobackup --ignore-failed-read --warning=no-file-changed -czf "${TMPDIR}/usr_local.tar.gz" usr/local 2>/dev/null + if [[ $? -eq 2 ]]; then + exit 2 + fi + set -e # re-enable abort on error + + # remove the temp usr dir again + rm -rf "${TMPDIR:?}/usr" + + # sign the configuration with the current key + /opt/hm/bin/crypttool -s -t 1 <"${TMPDIR}/usr_local.tar.gz" >"${TMPDIR}/signature" + + # store the current key index + /opt/hm/bin/crypttool -g -t 1 >"${TMPDIR}/key_index" + + # store the firmware VERSION + echo "VERSION=${VERSION}" >"${TMPDIR}/firmware_version" + + # create sha256 checksum of all files + (cd "${TMPDIR}" && /usr/bin/sha256sum ./* >signature.sha256) + + # create sbk file + /bin/tar -C "${TMPDIR}" --owner=root --group=root -cf "${BACKUPDIR}/${BACKUPFILE}" usr_local.tar.gz signature signature.sha256 key_index firmware_version 2>/dev/null + + exit 0 +else + exit 1 +fi diff --git a/homematic/rootfs/opt/hm/www/config/cp_security.cgi b/homematic/rootfs/opt/hm/www/config/cp_security.cgi new file mode 100755 index 00000000000..62559f182df --- /dev/null +++ b/homematic/rootfs/opt/hm/www/config/cp_security.cgi @@ -0,0 +1,1620 @@ +#!/bin/tclsh +source once.tcl +sourceOnce common.tcl +sourceOnce session.tcl +sourceOnce file_io.tcl +load tclrpc.so +load tclrega.so + +set PFMD_URL "bin://127.0.0.1:2002" + +set portnumber 2001 +catch { source "/etc/eq3services.ports.tcl" } +if { [info exists EQ3_SERVICE_RFD_PORT] } { + set portnumber $EQ3_SERVICE_RFD_PORT +} +set RFD_URL "bin://127.0.0.1:$portnumber" + +proc array_getValue { pArray name } { + upvar $pArray arr + + set value {} + catch { set value $arr($name) } + + return $value +} + +proc get_current_key_index {} { + set KEY_FILE "/etc/config/keys" + set CURRENT_INDEX "Current user key" + set PREVIOUS_INDEX "Previous user key" + + # Schl�ssel-Index ermitteln + set fd [open "|crypttool -g" r] + set content [read $fd] + close $fd + + array set keys {} + foreach line [split $content "\n"] { + if { [regexp {([^=]*)=(.*)} $line dummy key value] } then { + set key [string trim $key] + set value [string trim $value] + set keys($key) $value + } + } + + set currentIndex 0 + if { [info exists keys($CURRENT_INDEX)] } then { + set currentIndex $keys($CURRENT_INDEX) + } + + return $currentIndex +} + +proc set_key { key } { + global RFD_URL + + xmlrpc $RFD_URL changeKey $key + + # set always new key with crypttool + set index [get_current_key_index] + incr index 1 + + set fd [open "|crypttool -S -k $key -i $index" r] + close $fd +} + +proc getSGTIN_CCU {} { + + set fp [open "/var/hmip_board_sgtin" r] + set file_data [read $fp] + close $fp + set sgtinCCU [lindex [split $file_data "\n"] 0] + + return $sgtinCCU +} + +proc getSGTIN_Backup {migrationMode} { + + switch $migrationMode { + "CCU2_CCU2" {set path_crRFD "/tmp/backup/usr/local/etc/config/crRFD/data"} + "CCU2_CCU3" {set path_crRFD "/tmp/backup/usr/local/etc/config/crRFD/data"} + "CCU3_CCU3" {set path_crRFD "/usr/local/eQ-3-Backup/restore/etc/config/crRFD/data"} + } + + cd $path_crRFD + set sgtinBackup [lindex [split [glob *.apkx] "."] 0] + + return "$sgtinBackup" +} + +proc getBackupErrorMessage {errorCode migration_mode} { + set errorCode [expr $errorCode * 1] + # ERROR CODES: + # 9 = Check the script /bin/checkUsrBackup.sh - the java call is wrong + # 10 = OK + # 11 = Backup fehlerhaft / unvollst�ndig (z.B. *.apkx Datei fehlt) + # 12 = Internet fehlt / KeyServer Timeout + # 13 = KeyServer NAK (eine oder beide sind nicht im KeyServer) + # 14 = Fehler bei Ger�tepersistenz (einlesen fehlgeschlagen oder Versionen / Typen nicht kompatibel) + # 15 = Migration Fehlgeschlagen (nicht f�r die Backup Validierungs Main) + # 16 = Adapter (Coprozessor) nicht verf�gbar (basierend auf den Konfigurationen aus dem Backup + Default aus /etc) + # 17 = Adapter konnte nicht initialisiert werden (besch�digte Application / Fehlerr�ckmeldungen) + # 18 = Adapter Version nicht unterst�tzt + # 99 = Unknown error + + if {$errorCode == 13} { + # TODO This is currently deactivated because we cannot determine for sure if a SGTIN belongs to a CCU or to a DRAP (see TWIST-1928) + # set sgtinCCU [getSGTIN_CCU] + # set sgtinBackup [getSGTIN_Backup $migration_mode] + } + + set code(9) "
\$\{backupWrongJavaCall\}" + set code(10) "
\$\{backupOK\}" + set code(11) "
\$\{backupBackupImperfectMissingFile\}" + set code(12) "
\$\{backupNoInternet_KeyserverTimeout\}" + # TODO Activate the next line and delete the line after that when we can extract the SGTIN (see TWIST-1928) + # set code(13) "
\$\{backupKeyServer_NAK\}

SGTIN CCU: $sgtinCCU
SGTIN Backup: $sgtinBackup
 " + set code(13) "
\$\{backupKeyServer_NAK\}" + set code(14) "
\$\{backupErrorDevicePersistence_TypesNotCompatibel\}" + set code(15) "
\$\{backupMigrationFailed\}" + set code(16) "
\$\{backupCoProcessor_not_availabel\}" + set code(17) "
\$\{backupCoProcessor_NotInitialized\}" + set code(18) "
\$\{backupCoProcessor_VersionNotSupported\}" + set code(99) "
\$\{backupUnknownError\}" + return $code($errorCode) +} + +proc readBackupStatus {} { + set fp [open "/tmp/backupStatus.log" r] + set data [read $fp] + close $fp + return $data +} + +proc checkUserBackupValidility {migrationMode} { + + switch $migrationMode { + "CCU2_CCU2" {set pathBackup "/tmp/backup/usr/local/"} + "CCU2_CCU3" {set pathBackup "/tmp/backup/usr/local/"} + "CCU3_CCU3" {set pathBackup "/usr/local/eQ-3-Backup/restore/"} + } + + catch {exec killall java} + set tmp [catch {exec checkUsrBackup.sh $pathBackup}] + return [readBackupStatus] +} + +proc action_change_key {} { + global env RFD_URL + + http_head + import key1 + import key2 + + if { "$key1" != "$key2" } { + #put_message "\${dialogSettingsSecurityMessageErrorSecKeyTitle}" "Die beiden eingegebenen Schlüssel stimmen nicht überein." {\${dialogBack} "showSecurityCP();"} + put_message "\${dialogSettingsSecurityMessageErrorSecKeyTitle}" "\${dialogSettingsSecurityMessageErrorSecKeyContentKeysNotIdentical}" {\${dialogBack} "showSecurityCP();"} + return + } + if { [string length "$key1"] < 5 } { + #put_message "Sicherheitsschlüssel setzen - Fehler" "Der eingegebene Schlüssel ist zu kurz. Geben Sie einen Schlüssel ein, der mindestens 5 Zeichen lang ist." {"Zurück" "showSecurityCP();"} + put_message "\${dialogSettingsSecurityMessageErrorSecKeyTitle}" \${dialogSettingsSecurityMessageErrorSecKeyContentKeyShort} {\${dialogBack} "showSecurityCP();"} + return + } + + if { 0 == [regexp {^[0-9a-zA-Z_]+$} $key1 dummy] } { + #put_message "Sicherheitsschlüssel setzen - Fehler" "Der eingegebene Schlüssel darf keine Sonderzeichen enthalten. Erlaubt sind lediglich die Buchstaben A bis Z, die Ziffern 0 bis 9 sowie der Unterstrich." {"Zurück" "showSecurityCP();"} + put_message "\${dialogSettingsSecurityMessageErrorSecKeyTitle}" \${dialogSettingsSecurityMessageErrorSecKeyContentIllegalChar} {\${dialogBack} "showSecurityCP();"} + return + } + + # check the entered key against our current system key + if { ![catch {exec crypttool -v -t 3 -k "$key1"}]} { + + # "Der eingegebene Schl�ssel entspricht dem aktuellen Schl�ssel der Zentrale. " + # "Der Schl�ssel wird nicht ge�ndert." + put_message "\${dialogSettingsSecurityMessageHintSecKeyTitle}" \${dialogSettingsSecurityMessageErrorSecKeyContentKeysIsIdentical} {\${dialogBack} "showSecurityCP();"} + return + } + + if { [catch {set_key $key1}] } { + # "Der Schl�ssel konnte nicht gesetzt werden. Das liegt vermutlich daran, da� " + # "der aktuelle Schl�;ssel noch nicht an alle Komponenten �bertragen wurde. " + # "Hinweise darauf finden Sie in den Servicemeldungen." + put_message "\${dialogSettingsSecurityMessageErrorSecKeyTitle}" \${dialogSettingsSecurityMessageErrorSecKeyContentKeyNotAllDevices} {\${dialogBack} "showSecurityCP();"} + return + } + put_message "\${dialogSettingsSecurityMessageOKSecKeyTitle}" \${dialogSettingsSecurityMessageErrorSecKeyContentSetKeySucceed} {\${dialogBack} "showSecurityCP();"} +} + +proc action_factory_reset_check {} { + global env + + http_head + division {class="popupTitle"} { + puts "\${dialogSettingsSecurityMessagePerformSystemResetTitle}" + } + division {class="CLASS20800"} { + table {class="popupTable"} {border="1"} { + table_row { + table_data { + table {class="CLASS20810"} {width="100%"} { + set system_has_user_key [catch {exec crypttool -v -t 0}] + if { $system_has_user_key } { + table_row { + table_data {colspan="3"} {align="left"} { + puts "\${dialogSetSecKeyRebootHead}" + } + } + table_row { + td {width="20"} {} + table_data {align="left"} { + puts "\${dialogSetSecKeyRebootLbl}" + } + table_data {align="right"} { + cgi_text key= {size="16"} {id="text_key"} {type="password"} + } + } + } else { + table_row { + table_data {colspan="3"} { + puts "\${dialogSettingsSecurityMessagePerformSystemResetContent}" + cgi_put "" + } + } + } + table_row { + table_data {align="right"} {class="CLASS20812"} {colspan="3"} { + division {class="popupControls CLASS20811"} { + division {class="CLASS20813"} {onClick="OnNextStep()"} { + puts "\${dialogSettingsSecurityMessagePerformBtnSystemReset}" + } + } + } + } + } + } + } + } + } + division {class="popupControls"} { + table { + table_row { + table_data {class="CLASS20803"} { + division {class="CLASS20804"} {onClick="showSecurityCP();"} { + puts "\${btnCancel}" + } + } + } + } + } + puts "" + cgi_javascript { + puts "var url = \"$env(SCRIPT_NAME)?sid=\" + SessionId;" + puts { + OnNextStep = function() { + dlgPopup.hide(); + dlgPopup.setWidth(400); + dlgPopup.LoadFromFile(url, "action=factory_reset_go&key="+document.getElementById("text_key").value); + } + } + puts "translatePage('#messagebox');" + } +} + +proc action_factory_reset_go {} { + global env + + http_head + set system_has_user_key [catch {exec crypttool -v -t 0}] + if { $system_has_user_key } { + import key + # check the entered key against our current system key + if { [catch {exec crypttool -v -t 3 -k "$key"}]} { + put_message "\${dialogSetSecKeyRebootFalseTitle}" { + ${dialogSetSecKeyRebootFalseContent} + } {"\${dialogBack}" "showSecurityCP();"} + return + } + } + catch { + exec run-parts -a stop /etc/config/rc.d + } + if { [catch { + exec crypttool -r + # exec umount /usr/local + # exec /usr/sbin/ubidetach -p /dev/mtd6 + # exec /usr/sbin/ubiformat /dev/mtd6 -y + # exec /usr/sbin/ubiattach -p /dev/mtd6 + # exec /usr/sbin/ubimkvol /dev/ubi1 -N user -m + # exec mount /usr/local + + if {[getProduct] < 3 } { + # CCU2 + exec touch /var/doFactoryReset + } else { + exec touch /usr/local/.doFactoryReset + } + exec kill -SIGQUIT 1 + }]} { + + # TWIST-22 + set comment { + division {class="popupTitle"} { + puts "Systemreset: Fehler" + } + division {class="CLASS20800"} { + table {class="popupTable CLASS20801"} {border="1"} { + table_row {class="CLASS20802"} { + table_data { + puts { + Das System konnte nicht auf Werkseinstellungen zurückgesetzt werden. Die Zentrale wird jetzt neu gestartet. + Versuchen Sie es danach bitte erneut.
+ Falls diese Meldung danach wieder erscheint, deinstallieren Sie bitte jegliche Zusatzsoftware, starten die Zentrale neu und versuchen es nocheinmal. + } + } + } + } + } + } + } + + put_message "\${dialogPerformRebootTitle}" { + ${dialogPerformRebootContent} + } {"\${btnNewLogin}" "window.location.href='/';"} + + # Nicht mehr n�tig, siehe TWIST-22 + set comment { + else { + division {class="popupTitle"} { + puts "Systemreset: Neustart des Systems" + } + division {class="CLASS20800"} { + table {class="popupTable CLASS20801"} {border="1"} { + table_row {class="CLASS20802"} { + table_data { + puts { + Das System wurde auf Werkseinstellungen zurückgesetzt. Die Zentrale wird jetzt neu gestartet. + Bitte melden Sie sich nach dem Starten der Zentrale neu an. + } + } + } + } + } + } + division {class="popupControls"} { + table { + table_row { + table_data {class="CLASS20803" align="center"} { + division {class="CLASS20804"} {onClick="window.location.href='/';"} { + puts "Neu anmelden" + } + } + } + } + } + } + puts "" + cgi_javascript { + puts "var url = \"$env(SCRIPT_NAME)?sid=\" + SessionId;" + puts { + var pb = "action=reboot"; + var opts = { + postBody: pb, + sendXML: false + }; + new Ajax.Request(url, opts); + } + } +} + +proc action_backup_restore_check {} { + global env + cd /tmp/ + + http_head + set i 0 + if { [catch { + exec tar xf new_config.tar + file delete -force /tmp/new_config.tar + + set config_version [read_version "firmware_version"] + set ccu1_backup false + if { [version_compare $config_version 2.0.0] < 0 } { + set ccu1_backup true + } + + set system_has_user_key [catch {exec crypttool -v -t 0}] + set stored_signature [exec cat signature] + set calculated_signature [exec crypttool -s -t 0