From 30419d482adeb52eb7b7717508018ea54e0b743e Mon Sep 17 00:00:00 2001 From: xifeng Date: Sat, 8 Nov 2025 12:28:24 +0000 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 353 +++++++++++++++++++++++++++++++++++++++++++++++++++ DOCS.md | 58 +++++++++ Dockerfile | 76 +++++++++++ build.yaml | 8 ++ config.yaml | 44 +++++++ 5 files changed, 539 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 DOCS.md create mode 100644 Dockerfile create mode 100644 build.yaml create mode 100644 config.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..0ffcb4c --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,353 @@ +# Changelog + +## 8.1.1 + +- Bump Python Matter Server to [8.1.1](https://github.com/matter-js/python-matter-server/releases/tag/8.1.1) + +## 8.1.0 + +- Bump Python Matter Server to [8.1.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/8.1.0) +- Update bashio to 0.17.1 + +## 8.0.0 + +- Bump Python Matter Server to [8.0.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/8.0.0) + +## 7.0.0 + +- Bump Python Matter Server to [7.0.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/7.0.1) + - This updates Matter to 1.4 +- Update base image components to what is being used in Home Assistant Debian + base images: + - Update tempio to 2024.11.2 + - Update s6-overlay to 3.1.6.2 + - Update bashio to 0.16.2 + +## 6.6.1 + +- Bump Python Matter Server to [6.6.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/6.6.1) + +## 6.6.0 + +- Bump Python Matter Server to [6.6.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/6.6.0) + +## 6.5.1 + +- Bump Python Matter Server to [6.5.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/6.5.1) + +## 6.5.0 + +- Bump Python Matter Server to [6.5.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/6.5.0) + +## 6.4.2 + +- Add support for custom Matter Server arguments +- Add support to install custom Matter Server and Matter SDK (CHIP) versions + +## 6.4.1 + +- Bump Python Matter Server to [6.4.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/6.4.0) + +## 6.4.0 + +- Use add-on config directory as update directory + +## 6.3.1 + +- Fix Matter SDK log level when using beta flag + +## 6.3.0 + +- Bump Python Matter Server to [6.3.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/6.3.0) + +## 6.2.1 + +- Bump Python Matter Server to [6.2.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/6.2.1) + +## 6.1.2 + +- Bump Python Matter Server to [6.1.2](https://github.com/home-assistant-libs/python-matter-server/releases/tag/6.1.2) + +## 6.1.1 + +- Bump Python Matter Server to [6.1.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/6.1.1) + +## 6.1.0 + +- Bump Python Matter Server to [6.1.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/6.1.0) + - This update is required for Home Assistant Core 2024.6.0 + +## 6.0.0 + +- Bump Python Matter Server to [6.0.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/6.0.0) + - This updates Matter to 1.3 + +## 5.6.0 + +- Bump Python Matter Server to [5.10.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.10.0) + +## 5.5.1 + +- Fix logging in case fallback method for determining the primary network interface is used + +## 5.5.0 + +- Bump Python Matter Server to [5.9.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.9.0) +- Enable Ingress for the Python Matter Server built-in web interface +- Store PAA root certificates in /data to avoid download on every startup (downloads once a day) + +## 5.4.1 + +- Bump Python Matter Server to [5.8.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.8.1) + +## 5.4.0 + +- Bump Python Matter Server to [5.8.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.8.0) + +## 5.3.0 + +- Bump Python Matter Server to [5.7.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.7.0) +- Add Matter SDK log options + +## 5.2.0 + +- Bump Python Matter Server to [5.6.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.6.0) + +## 5.1.2 + +- Bump Python Matter Server to [5.5.3](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.5.3) + +## 5.1.1 + +- Bump Python Matter Server to [5.5.2](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.5.2) + +## 5.1.0 + +- Bump Python Matter Server to [5.5.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.5.1) +- Bind Python WebSocket on internal interface only by default + +## 5.0.4 + +- Correctly bump Python Matter Server to [5.2.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.2.1) + +## 5.0.3 + +- Bump Python Matter Server to [5.2.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.2.1) +- Pass primary interface to Python Matter server + +## 5.0.2 + +- Bump Python Matter Server to [5.1.4](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.1.4) + +## 5.0.1 + +- Bump Python Matter Server to [5.0.3](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.0.3) +- Fix matter-server finish script to report exit code +- Attach gdb debugger in beta mode to print stack traces on crash + +## 5.0.0 + +- Bump Python Matter Server to [5.0.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/5.0.1) +- Bump minimum required Home Assistant core version to 2023.12 due to breaking changes in the schema + +## 4.10.2 + +- Bump Python Matter Server to [4.0.2](https://github.com/home-assistant-libs/python-matter-server/releases/tag/4.0.2) + +## 4.10.1 + +- Bump Python Matter Server to [4.0.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/4.0.1) + +## 4.10.0 + +- Add beta flag to the add-on which installs Python Matter Server pre-releases at startup. + +## 4.9.0 + +- Bump Python Matter Server to [3.7.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.7.0) + +## 4.8.3 + +- Bump Python Matter Server to [3.6.4](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.6.4) + +## 4.8.2 + +- Bump Python Matter Server to [3.6.3](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.6.3) + +## 4.8.1 + +- Bump Python Matter Server to [3.6.2](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.6.2) + +## 4.8.0 + +- Bump Python Matter Server to [3.6.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.6.1) + +## 4.7.0 + +- Use the Python Matter Server container as base +- Bump Python Matter Server to [3.5.2](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.5.2) + +## 4.6.1 + +- Bump Python Matter Server to [3.5.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.5.1) + - Various small bug/stability fixes + +## 4.6.0 + +- Bump Python Matter Server to [3.5.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.5.0) + - Uses libnl based address selection to avoid using deprecated/temporary IP addresses + - libnl avoids "Endpoint pool full" errors as well +- Add dependency to support libnl based IP address selection + +## 4.5.1 + +- Bump Python Matter Server to [3.4.2](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.4.2) + +## 4.5.0 + +- Bump Python Matter Server to [3.4.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.4.1) +- Bump to Python 3.11 + +## 4.4.0 + +- Bump Python Matter Server to [3.4.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.4.0) + - This updates Matter to 1.1 +- Update S6 Overlay to v3.1.5.0 + +## 4.3.1 + +- Bump Python Matter Server to [3.3.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.3.1) + +## 4.3.0 + +- Bump Matter Server to [3.3.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.3.0) + +## 4.2.0 + +- Bump Matter Server to [3.2.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.2.0) +- Significantly reduced add-on size + +## 4.1.0 + +- Bump Matter Server to [3.1.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.1.0) + +## 4.0.0 + +- Bump Matter Server to [3.0.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/3.0.0) + +## 3.1.0 + +- Use Python 3.10 + +## 3.0.4 + +- Bump Matter Server to [2.1.1](https://github.com/home-assistant-libs/python-matter-server/releases/tag/2.1.1) +- Drop unnecessary Python dependencies from image + +## 3.0.3 + +- Bump Matter Server to [2.1.0](https://github.com/home-assistant-libs/python-matter-server/releases/tag/2.1.0) + +## 3.0.2 + +- Bump Matter Server to [2.0.2](https://github.com/home-assistant-libs/python-matter-server/releases/tag/2.0.2) + +## 3.0.1 + +- Bump Matter Server fabric ID after changing vendor ID + +## 3.0.0 + +- Bump Matter Server to 2.0.1 +- Use Nabu Casa Vendor ID by default + +### Breaking + +- All commissioned devices need to be recommissioned. + +## 2.1.0 + +- Bump Matter Server to 1.1.0 + +## 2.0.0 + +- Require Home Assistant Core 2023.1.0b1 to install the add-on. The chip SDK was bumped in [Matter Server 1.0.8](https://github.com/home-assistant-libs/python-matter-server/releases/tag/1.0.8). + +## 1.2.0 + +- Bump Matter Server to 1.0.8 +- Bump pre-built Matter SDK wheels to 2022.12.0 +- Make sure production PAA certificates work too + +## 1.1.2 + +- Get most recent certificates from master branch + +## 1.1.1 + +- Fix startup when Matter Server WebSocket port is not exposed + +## 1.1.0 + +- Allow to set Matter Server logging level +- Set storage path correctly +- Fix support for custom port + +## 1.0.7 + +- Bump Matter Server to 1.0.7 + +## 1.0.6 + +- Bump Matter Server to 1.0.6 + +## 1.0.5 + +- Bump Matter Server to 1.0.5 + +## 1.0.4 + +- Bump Matter Server to 1.0.4 + +## 1.0.1 + +- Bump Matter Server to 1.0.1 +- Use pre-built Matter SDK (CHIP) wheels + +## 0.4.0 + +- Add add-on discovery + +## 0.3.0 + +- Bump to CHIP version 989ad8e (2022-09-16 16:52 -0500) (start of the v1 branch!) +- Bump Matter Server to 0.3.0 + +## 0.2.2 + +- Bump to CHIP version 5b603f3874 (2022-07-05 21:21:19 -0700) +- Bump Matter Server to 0.2.3 +- Avoid cloning not required git repositories during build speedup build process + +## 0.2.1 + +- Bump Matter Server to 0.2.2 + +## 0.2.0 + +- Bump to CHIP version 5d8599d195 (2022-06-09 12:57:45 -0400) +- Bump Matter Server to 0.2.1 + +## 0.1.2 + +- Bump Matter Server to first official release 0.1.0 + +## 0.1.1 + +- Fix Matter Server start location so it can find device certificates +- Bump Matter Server to git version ac5545b (2022-06-11 00:04:34 +0200) + +## 0.1.0 + +- initial version +- CHIP version 55ab764bea (2022-06-06 23:10:48 -0400) diff --git a/DOCS.md b/DOCS.md new file mode 100644 index 0000000..7c96639 --- /dev/null +++ b/DOCS.md @@ -0,0 +1,58 @@ +# Home Assistant Add-on: Matter Server + +## Installation + +Use the following steps to install this add-on. + +1. Click the Home Assistant My button below to open the add-on page on your + Home Assistant instance. + + [![Open this add-on in your Home Assistant instance.][addon-badge]][addon] + +1. Click the "Install" button to install the add-on. + +## How to use + +Start the Matter Server add-on to make the WebSocket available to Home +Assistant Core. Install the [Matter integration][matter_integration] +in Home Assistant Core. + +### Access WebSocket interface externally (advanced) + +By default, the Python Matter Server's WebSocket interface is only exposed +internally. It is still possible to enable access through the host interface +To do so, click on "Show disabled ports" and enter a port (e.g. 5580) in the +Matter Server WebSocket server port field. + +## Configuration + +Add-on configuration: + +| Configuration | Description | +|---------------------|-------------------------------------------------------------| +| log_level | Logging level of the Matter Server component. | +| log_level_sdk | Logging level for Matter SDK logs. | +| beta | Whether to install the latest beta version on startup | +| enable_test_net_dcl | Enable test-net DCL for PAA root certificates and other device information. | +| bluetooth_adapter_id | Set BlueZ Bluetooth Controller ID (for local commissioning) | + +## Support + +Got questions? + +You have several options to get them answered: + +- The [Home Assistant Discord Chat Server][discord]. +- The Home Assistant [Community Forum][forum]. +- Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] + +In case you've found a bug, please [open an issue on our GitHub][issue]. + +[addon]: https://my.home-assistant.io/redirect/supervisor_addon/?addon=core_matter_server +[addon-badge]: https://my.home-assistant.io/badges/supervisor_addon.svg +[discord]: https://discord.gg/c5DvZ4e +[forum]: https://community.home-assistant.io +[reddit]: https://reddit.com/r/homeassistant +[issue]: https://github.com/home-assistant/addons/issues +[matter_server_repo]: https://github.com/home-assistant-libs/python-matter-server +[matter_integration]: https://www.home-assistant.io/integrations/matter/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..135f97e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,76 @@ +ARG BUILD_FROM +FROM ${BUILD_FROM} + +# Default ENV +ENV \ + LANG="C.UTF-8" \ + DEBIAN_FRONTEND="noninteractive" \ + CURL_CA_BUNDLE="/etc/ssl/certs/ca-certificates.crt" \ + S6_BEHAVIOUR_IF_STAGE2_FAILS=2 \ + S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \ + S6_CMD_WAIT_FOR_SERVICES=1 \ + S6_SERVICES_READYTIME=50 + +# Set shell +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +# Build Args +ARG \ + BASHIO_VERSION \ + TEMPIO_VERSION \ + S6_OVERLAY_VERSION + +# Base system +WORKDIR /usr/src +ARG BUILD_ARCH + +RUN \ + set -x \ + && apt-get update && apt-get install -y --no-install-recommends \ + bash \ + jq \ + tzdata \ + curl \ + ca-certificates \ + xz-utils \ + && mkdir -p /usr/share/man/man1 \ + \ + && if [ "${BUILD_ARCH}" = "armv7" ]; then \ + export S6_ARCH="arm"; \ + elif [ "${BUILD_ARCH}" = "i386" ]; then \ + export S6_ARCH="i686"; \ + elif [ "${BUILD_ARCH}" = "amd64" ]; then \ + export S6_ARCH="x86_64"; \ + else \ + export S6_ARCH="${BUILD_ARCH}"; \ + fi \ + \ + && curl -L -f -s "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz" \ + | tar Jxvf - -C / \ + && curl -L -f -s "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz" \ + | tar Jxvf - -C / \ + && curl -L -f -s "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz" \ + | tar Jxvf - -C / \ + && curl -L -f -s "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz" \ + | tar Jxvf - -C / \ + && mkdir -p /etc/fix-attrs.d \ + && mkdir -p /etc/services.d \ + \ + && curl -L -f -s -o /usr/bin/tempio \ + "https://github.com/home-assistant/tempio/releases/download/${TEMPIO_VERSION}/tempio_${BUILD_ARCH}" \ + && chmod a+x /usr/bin/tempio \ + \ + && mkdir -p /usr/src/bashio \ + && curl -L -f -s "https://github.com/hassio-addons/bashio/archive/v${BASHIO_VERSION}.tar.gz" \ + | tar -xzf - --strip 1 -C /usr/src/bashio \ + && mv /usr/src/bashio/lib /usr/lib/bashio \ + && ln -s /usr/lib/bashio/bashio /usr/bin/bashio \ + \ + && rm -rf /var/lib/apt/lists/* \ + && rm -rf /usr/src/* + +# S6-Overlay +WORKDIR /root +ENTRYPOINT ["/init"] + +COPY rootfs / diff --git a/build.yaml b/build.yaml new file mode 100644 index 0000000..b9d8156 --- /dev/null +++ b/build.yaml @@ -0,0 +1,8 @@ +--- +build_from: + aarch64: ghcr.io/matter-js/python-matter-server:8.1.1 + amd64: ghcr.io/matter-js/python-matter-server:8.1.1 +args: + BASHIO_VERSION: 0.17.1 + TEMPIO_VERSION: 2024.11.2 + S6_OVERLAY_VERSION: 3.1.6.2 diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..1f2c082 --- /dev/null +++ b/config.yaml @@ -0,0 +1,44 @@ +--- +version: 8.1.1 +slug: matter_server +name: Matter Server +description: Matter WebSocket Server for Home Assistant Matter support. +url: >- + https://github.com/home-assistant/addons/tree/master/matter_server +arch: + - aarch64 + - amd64 +discovery: + - matter +hassio_api: true +homeassistant: 2024.6.0 +# IPC is only used within the Add-on +host_ipc: false +host_network: true +host_dbus: true +image: homeassistant/{arch}-addon-matter-server +ingress: true +ingress_port: 5580 +init: false +map: + - type: addon_config + read_only: false +options: + log_level: info + log_level_sdk: error + beta: false + enable_test_net_dcl: false +schema: + log_level: list(verbose|debug|info|warning|error|critical) + log_level_sdk: list(automation|detail|progress|error|none)? + beta: bool? + enable_test_net_dcl: bool? + bluetooth_adapter_id: int? + matter_server_args: + - str? + matter_server_version: str? + matter_sdk_wheels_version: str? +ports: + 5580/tcp: null +stage: stable +startup: services