Introduction
The GRGDOv3 was specifically designed to support a thread based network or a standard WiFI6 setup. Thread and ESPHome are well suited for Home IoT based automation and especially for the DIY space. ESPHome can augment Thread based systems by extending the scope of devices while supporting standard products such as Matter Classification based services. This setup guide provisions two possible paths for implementation within Home Assistant . You can run your own completely local YAML for full control of the device path or use the default Dashboard import and modification path. The Import path will copy remote YAML and store them locally for fully offline use so either method has no cloud operational dependency during any internet disruption. It simply makes it easier to get up and running. You can also use the GRGDOv3 to explore and learn Thread behaviors and maintain the WiFi6 option should you decide to keep WiFi.
We offer a low cost RCP (Radio Control Processor) ready to use USB Serial RCP dongle to explore Thread with.
It’s important to note that GRGDOv3 and it’s ESP32-C6 will not run RATGDO or Homekit firmware’s, if those capabilities are desired then the GRGDOv2 is the right solution. Currently an ESP32-C6 will only run SecplusGDO firmware as it needs ESP-IDF framework for OpenThread code.
Prerequisites
Expectantly, you will need a pre existing Thread Network and its TLV key.
(Type-Length-Value) is a data serialization format used in the Thread networking protocol to encode information exchanged between devices. The network TLV contains sensitive data and needs to be placed in ESPHome’s secrets YAML file where it can be retrieved more securely.
In general you need keep any keys, userID’s, SSID’s or passwords that are used for ESPhome devices in the secrets file. It’s a best practice. The Dashboard import method requires for the TLV and will fail to work without it.
The TLV variable needs to be defined as shown in this secrets YAML file clipping:
# Your Wi-Fi SSID and password
wifi_ssid: "MySSID"
wifi_password: "MyPassword"
api_encryption_key: "3dvlaffPPY+v71eE7uSW9oAFNN8EU0Mr5AztmG+t2lo="
tlv: "0e080000000000020000000300000e4a0300000f35060004001fffe002083e3fa35c1828bf6d0708fd1782faf76db1710510610428be61141753a1f101b9f8e94713030e68612d7468726561642d3764646301027ddc04102ca263dacef7bf57fd7a562d74b7dc610c0402a0f7f8"Setting up the GRGDOv3 with Thread in this embodiment initially uses WiFi capability to add it to the Thread network. This approach simplifies attaching an unmanaged ESPHome device into any Home Assistant based Thread network. The process uses the secrets YAML file and variables in remote device YAML github repos to facilitate the Thread configuration. Here is a brief summary of the steps:
- A captive portal is used to add the device to local WIfi on the same layer 2 network. (Improv serial can also be used)
- The GRGDOv3 ESPHome device is discovered and Specific Thread based YAML is imported on ESPHome’s dashboard.
- Your device naming is set in the import process.
- The device install process is invoked and the preset Thread network TLV secret variables are retrieved from the ESPHome secrets file.
- ESPHome builder uses the current active connection to OTA flash its new Thread based configurate and on reset will connect to the Thread network using TLV based configuration parameters.
- From this point forward the device will be running a local IPv6 connection.
This guide is a WIP more content will follow when time permits.