diff --git a/apps/__tests__/apps.test.ts b/apps/__tests__/apps.test.ts index 7788ae13..b7da28a9 100644 --- a/apps/__tests__/apps.test.ts +++ b/apps/__tests__/apps.test.ts @@ -27,6 +27,7 @@ interface AppConfig { } const networkExceptions = [ + "matter-server", "mdns-repeater", "pihole", "tailscale", diff --git a/apps/homeassistant-1/metadata/description.md b/apps/homeassistant-1/metadata/description.md index f12abd90..2a52acc0 100644 --- a/apps/homeassistant-1/metadata/description.md +++ b/apps/homeassistant-1/metadata/description.md @@ -5,6 +5,7 @@ Open source home automation that puts local control and privacy first. Powered b Check out [home-assistant.io](https://home-assistant.io) for a [demo](https://home-assistant.io/demo/), installation [instructions](https://home-assistant.io/getting-started/), [tutorials](https://home-assistant.io/getting-started/automation/) and [documentation](https://home-assistant.io/docs/) **HomeKit Support in Docker:** Use MDNS app ! (And follow https://community.home-assistant.io/t/using-homekit-component-inside-docker/45409/41) +**Matter Support in Docker:** Use Matter Server app ! ## Migration diff --git a/apps/matter-server/config.json b/apps/matter-server/config.json new file mode 100644 index 00000000..591321cf --- /dev/null +++ b/apps/matter-server/config.json @@ -0,0 +1,24 @@ +{ + "$schema": "../schema.json", + "name": "Matter Server", + "available": true, + "exposable": false, + "no_gui": true, + "port": 9997, + "id": "matter-server", + "tipi_version": 1, + "version": "6.1.2", + "categories": [ + "utilities", + "automation" + ], + "author": "OpenHomeFoundation", + "description": "This project implements a Matter Controller Server over WebSockets using the official Matter (formerly CHIP) SDK as a base and provides both a server and client implementation.", + "short_desc": "Interact with Matter. Works with HA !", + "source": "https://github.com/home-assistant-libs/python-matter-server", + "form_fields": [], + "supported_architectures": [ + "arm64", + "amd64" + ] +} \ No newline at end of file diff --git a/apps/matter-server/docker-compose.yml b/apps/matter-server/docker-compose.yml new file mode 100644 index 00000000..6ba06f4e --- /dev/null +++ b/apps/matter-server/docker-compose.yml @@ -0,0 +1,14 @@ +services: + matter-server: + image: ghcr.io/home-assistant-libs/python-matter-server:6.1.2 + container_name: matter-server + restart: unless-stopped + network_mode: host + security_opt: + - "apparmor=unconfined" + volumes: + - /run/dbus:/run/dbus:ro + - ${APP_DATA_DIR}/data:/data + labels: + # Main + traefik.enable: false \ No newline at end of file diff --git a/apps/matter-server/metadata/description.md b/apps/matter-server/metadata/description.md new file mode 100644 index 00000000..4b8d95a4 --- /dev/null +++ b/apps/matter-server/metadata/description.md @@ -0,0 +1,49 @@ +# Python Matter Server + +This project implements a Matter Controller Server over WebSockets using the +[official Matter (formerly CHIP) SDK](https://github.com/project-chip/connectedhomeip) +as a base and provides both a server and client implementation. + +The goal of this project is primarily to have Matter support in Home Assistant +but its universal approach makes it suitable to be used in other projects too. + +## Support + +Got questions? + +You have several options to get them answered: + + * The Home Assistant [Community Forum](https://community.home-assistant.io/). + * The Home Assistant [Discord Chat Server](https://discord.gg/c5DvZ4e). + * Join [the Reddit subreddit in /r/homeassistant](https://reddit.com/r/homeassistant). + +If you experience issues using Matter with Home Assistant, please open an issue +report in the [Home Assistant Core repository](https://github.com/home-assistant/core/issues/new/choose). + +You may also open issues in this repository if you are absolutely sure that your +issue is related to the Matter Server component. + +### Requirements to communicate with Wi-Fi/Ethernet based Matter devices + +Make sure you run the container on the host network. The host network +interface needs to be in the same network as the Android/iPhone device +you are using for commissioning. Matter uses link-local multicast protocols +which do not work across different LANs or VLANs. + +The host network interface needs IPv6 support enabled. + +### Requirements to communicate with Thread devices through Thread border routers + +For communication through Thread border routers which are not running on the same +host as the Matter Controller server to work, IPv6 routing needs to be properly +working. IPv6 routing is largely setup automatically through the IPv6 Neighbor +Discovery Protocol, specifically the Route Information Options (RIO). However, +if IPv6 Neighbor Discovery RIO's are processed, and processed correctly depends on the network +management software your system is using. There may be bugs and caveats in +processing this Route Information Options. + +In general, make sure the kernel option `CONFIG_IPV6_ROUTER_PREF` is enabled and +that IPv6 forwarding is disabled (sysctl variable `net.ipv6.conf.all.forwarding`). +If IPv6 forwarding is enabled, the Linux kernel doesn't employ reachability +probing (RFC 4191), which can lead to longer outages (up to 30min) until +network changes are detected. \ No newline at end of file diff --git a/apps/matter-server/metadata/logo.jpg b/apps/matter-server/metadata/logo.jpg new file mode 100644 index 00000000..35376e2f Binary files /dev/null and b/apps/matter-server/metadata/logo.jpg differ