Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenThread Component #4306

Draft
wants to merge 33 commits into
base: next
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
ec11c03
OpenThread Component
lboue Oct 5, 2024
72798e0
Update index.rst
lboue Oct 5, 2024
c19935e
Update index.rst
lboue Oct 5, 2024
0eb7935
Update index.rst
lboue Oct 5, 2024
a0a6318
Update index.rst
lboue Oct 5, 2024
a5082e8
Update index.rst
lboue Oct 5, 2024
9b7df06
Update index.rst
lboue Oct 5, 2024
4adfce6
Update index.rst
lboue Oct 5, 2024
9a9a1ea
Update index.rst
lboue Oct 5, 2024
eef3b09
Update index.rst
lboue Oct 5, 2024
5b85115
Update index.rst
lboue Oct 5, 2024
bd95fb8
Add files via upload
lboue Oct 6, 2024
451a3bd
Update index.rst
lboue Oct 6, 2024
0dcdb06
Add files via upload
lboue Oct 6, 2024
5d9e01e
Add files via upload
lboue Oct 6, 2024
4b071ed
Add files via upload
lboue Oct 6, 2024
f14f20a
Rename components/openthread/index.rst to components/openthread.rst
lboue Oct 6, 2024
cd47f45
Update openthread.rst
lboue Oct 6, 2024
ba619c8
Update openthread.rst
lboue Oct 6, 2024
621c1ee
Update openthread.rst
lboue Oct 6, 2024
26cabb9
Update openthread.rst
lboue Oct 6, 2024
3cb3fbe
Update openthread.rst
lboue Oct 6, 2024
cc8b321
Update openthread.rst
lboue Oct 6, 2024
0f2efeb
Update openthread.rst
lboue Oct 6, 2024
4a7b23c
Update openthread.rst
lboue Oct 6, 2024
859a297
Update openthread.rst
lboue Oct 6, 2024
7dd89b4
Update openthread.rst
lboue Oct 6, 2024
f95b6de
Update openthread.rst
lboue Oct 6, 2024
c8c455b
Update openthread.rst
lboue Oct 6, 2024
5e122df
Update openthread.rst
lboue Oct 6, 2024
0cdc3c8
Update openthread.rst
lboue Oct 6, 2024
8e31db0
Update openthread.rst
lboue Oct 6, 2024
29b53d2
Merge branch 'next' into OpenThread
lboue Dec 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added components/images/openthread.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
65 changes: 65 additions & 0 deletions components/openthread.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
OpenThread Component
=====================

.. seo::
:description: Instructions for setting up OpenThread component.
:image: openthread.png

`Thread <https://www.threadgroup.org>`__ is a low-power mesh networking standard for IoT devices. The low-power aspect is important for battery-powered smart home devices. However, it’s also low-bandwidth, making it ideal for applications that don’t send a lot of data, like switches or motion sensors.

Thread uses the same RF technology as Zigbee (IEEE 802.15.4) but provides IP connectivity similar to Wi-Fi. Unlike Zigbee, Thread by itself does not allow controlling devices: It is just a communication protocol. To control the Thread devices, a higher-level protocol is required: Matter or Apple HomeKit or `ESPHome API </components/api.html>`__ .

The purpose of this component is to allow ESPHome nodes to communicate over a Thread network. It permits the state of sensors and binary sensors to be send to Home Assistant via 6LoWPAN packets. This OpenThread component relies on `OpenThread <https://openthread.io>`__ which is an open-source implementation of Thread.

.. note::

You will need a `Thread border router <https://www.home-assistant.io/integrations/thread#about-thread-border-routers>`__ to connect your node to a Thread network.


Usage
-----
This component requires an ESP32 (ESP32-C6 or ESP32-H2 because they have Thread radio chip) and the use of
ESP-IDF.

.. code-block:: yaml

# Example ESP-IDF configuration for ESP32-C6-DevKitM-1 board
esp32:
board: esp32-c6-devkitm-1
variant: esp32c6
framework:
type: esp-idf
version: "5.3.1"
platform_version: 6.8.1

.. _config-openthread:


Configuration examples
----------------------

This example show how to configure Thread Dataset for a node.

.. code-block:: yaml

# Example OpenThread component configuration
network:
enable_ipv6: true

openthread:
channel: 13
network_name: OpenThread-8f28
network_key: dfd34f0f05cad978ec4e32b0413038ff
panid: 0x8f28
extpanid: d63e8e3e495ebbc3
pskc: c23a76e98f1a6483639b1ac1271e2e27

Configuration variables:

- **channel** (int): Channel number from 11 to 26
- **network_name** (string): A human-readable Network Name
- **network_key** (string): OpenThread network key
- **panid** (string): 2-byte Personal Area Network ID (PAN ID)
- **extpanid** (string): 8-byte Extended Personal Area Network ID (XPAN ID)
- **pskc** (string): PSKc is used to authenticate an external Thread Commissioner to a Thread network

Binary file added images/openthread.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@ Network Protocols
WireGuard, components/wireguard, wireguard_custom_logo.svg, dark-invert
StatsD, components/statsd, connection.svg, dark-invert
UDP, components/udp, udp.svg
OpenThread, components/openthread, openthread.png

Bluetooth/BLE
-------------
Expand Down
Loading