20af720cb2
* feat(matter): add matter server app * fix(matter-server): ci container name
49 lines
2.4 KiB
Markdown
49 lines
2.4 KiB
Markdown
# 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. |