With the arrival of matter and thread I want to turn the house into a smart house. For this purpose I purchased for now one GL-S200 in order to test matter and thread together with home assistant. I also have an Eve Energy smart plug, which uses matter and thread.
I successfully set everything up, but the device commissioning step is so far failing. Commissioning via home assistant seems to fail quite late, but fails after a couple of steps which are outlined here:
- I use the “add matter device” function in home assistant and scan the QR code on my phone (which runs the home assistant companion app)
- I get the “Searching for device…” screen
- I get the “Connecting to device…” screen
- I get the “Generating Matter credentials…” screen
- I get the “Checking network connectivity…” screen
- and then it fails after 2 or 3 minutes with the error “Can’t reach device”
I guess this can be a home assistant issue or maybe a timeout issue of the eve plug, but it could also be related to the GL-S200 thread border router, so I tried to do the thread commissioning using the GL-S200, which unfortunately also fails. This is the main reason for me to write here.
The attempt I made to commission the eve plug is to do the following:
- go to “Thread Commissioning”
- click “Add”
* for the Joiner EUI-64 (since I don’t know the eve plug’s EUI-64)
- add the 11-digit code I read under the matter QR-code of the eve plug for the Joiner Credential
- click “Apply”
After this unfortunately nothing happens and the eve plug is not added to the thread network.
So, the question is, how would I manage to achieve to add this device?
I would greatly appreciate any help.
PS: I found this, where people seem to have the same issue, just with other devices, on home assistant. Still, I believe it should still be possible to do the commissioning with the GL-S200 web interface.
I have verified that HA(v2023.8.4) currently only supports Apple homepod/homepodmini as Border Router. We are contacting HA developers to see how to solve this problem.
The root cause is the lack of a configurable APP to set the Thread credentials obtained from the S200 to the iOS system. Then the Thread credentials can be shared with other apps/vendors via the iOS API.
The Thread commissioning feature on S200 is only available for pure Thread applications, not Matter.
Thank you for your quick reply and clarifications. Apparently, I did not read about the topic well enough before diving in.
But just to be clear, I neither have or want an Apple homepod (or Amazon echo, or Google nesthub), and I would like to use matter/thread devices using home assistant exclusively . I guess I am a bit early for this to happen smoothly and hassle free, but I also do not mind to get things to work on a lower level, eg. using cli-based methods, instead of a polish UI.
In any case, I just bought those two devices to get my feet wet on the topic, so that at a later stage, when I replace all light switches, blind switches, heating thermostats, etc. in the whole house with matter/thread devices, things already run (more or less) smoothly.
So, if I can be of help to beta-test any efforts in this direction, I am very willing to help.
Do you think I should additionally write something in the HA forum? I am honestly not sure how to address this, and if there even is a solution that can be implemented on either side alone (NA or S200).
Hi @t1nux ,
There is currently a demo for Android systems. You need to configure Thread network information manually. You can try it. Release v2.2.0 · nrfconnect/sdk-connectedhomeip · GitHub
Hi @t1nux ,
HA team said that the iOS companion app doesn’t support Thread credentials synchronization yet. That feature is already in the plan, but it’s a couple of weeks out still.
The Android App can synchronize Thread credentials already. There is also an explicit synchronization in Settings → Companion app → Troubleshooting → Sync Thread credentials.
I will try the sync thread credentials in the companion app later today. Thanks.
I also tried the android app you posted earlier, but it did not work, or at least I did not manage to get it to work.
I will try a bit more tonight and report back.
Just a quick update.
chip tool on android
I tried the tool, but it did not allow to add the eve smart plug.
scan qr code in the app
Interestingly, the scan qr code feature gives me another “setup PIN code” when I scan the matter qr code. I used that different pin code in the GL-S200 commissioning web interface, hoping that this code might work to register the device in the GL-S200 thread network. Unfortunately, it did not work.
provision chip device with thread
Using this option, I can enter the thread network information (PAN ID, ext. PAN ID, channel and network key). I hoped that entering these pieces of information from the GL-S200 thread network would join the device, but it did not. The app tells me that it is connecting to the correct device, and recognizes it, but pairing fails.
syncing thread credentials on the HA companion app
Thanks for this suggestion. Unfortunately, it did not change anything. The procedure is exactly like initially described.
The situation has so far not changed. I regularly keep updating home assistant (currently on 2023.10.5) but as of now without success.
@lancer, do you have an idea what the actual problem is?
The iOS companion App needs to store the Thread credentials in the system. We are consulting on the development progress of the HA companion App and will notify you when there is any news.
Thanks for your quick answer.
I am in fact using the android app, not the iOS app of HA. So, the Eve Thread device is actually not part of any Thread network.
My aim is to either have the Eve device join the Thread network via the S200 interface, or via the HA companion app. As outlined above, both approaches do not seem to work, so at the moment I am stuck.
I am still facing the same issue as I have since last August, and I would really appreciate help with this.
I have raised the issue also on home assistant, and the consensus was that the thread network cannot be reached.
Here a short summary of what the state is:
- I am trying to add a matter-over-thread device to home assistant.
- I have successfully created a thread network on the S200, and imported the TLV data into home assistant and the mobile app.
- I set the backbone interface of the backbone router to
eth0, and the S200 is connected to the backbone router with the WAN port.
- I start the commissioning using the QR code.
- I get “Searching for device…”
- I get “Connecting to device…”
- I get “Generating Matter credentials…”
- I get “Checking network connectivity…”, where it finally fails with “Can’t reach device”.
According to some very nice people on the Home Assistant discord server, this seems to be a connection issue to the thread network.
I looked into this, and according to this I should be able to ping the OMR address of the S200, which I can’t. My network and the hosts fulfill all the conditions mentioned in that article though.
If you need more information, please let me know. I have ssh access to the S200 and can give you details.
Thanks in advance, tinux
Hi @t1nux ,
I am glad that in the latest version of the HA Companion APP on the Android system, has an integrated ability to add the device of Matter over Thread.
The S200 TBR and mobile phone need to be connected to the same main router as follows.
In the testing, although I could ping the OMR address of the S200 and the Matter device from the mobile phone, the HA Companion App could not add the Matter device in the end. I tried using a Raspberry Pi as a TBR and had the same problem. It seems that HA does not fully support the third-party Thread Border Router.
Thank you for your quick answer.
In all my testing, I tried so many things, and I must have gotten some things confused. In fact, I can ping the OMR address of the S200 from within the network. Sorry for the false information. My network is as shown in the image you posted.
I am too getting the feeling that the issue lies on the HA side. I will try to investigate more on that side.
Thanks again for your help!
PS: Which app is it that you are using for pinging (your screenshot)?
The name of the APP is as shown below. It can support IPv6 connectivity testing.