Matter, the promised home automation wiz kid, is here and some devices are now shipping with native Matter support. But what if you want Home Assistant and Apple Homekit to control the same matter device? What if you don’t have a Thread radio on your Home Assistant server? No problem!
This post will show you exactly how to provision the Eve Energy (smart plug) to Apple Homekit, then pair it to Home Assistant. The Apple hubs (Apple TV 4K) will provide the Thread radios, so we don’t need them on Home Assistant.
Since Matter is VERY new and it has some big teething problems, I first want to quickly cover what is Matter, Thread, and the logic behind how I’ll get a new Eve Energy plug into Home Assistant. So please bear with me to give context around the ‘why’ of the pairing process so that it makes more sense than just giving you screenshots.
What is Matter?
There’s a lot of confusion on exactly what Matter is. The public Matter spec was released in November 2022, and just now are devices shipping with Matter firmware. Eve is one of the first to market manufacturers to sell devices that ship in the box with Matter firmware.
People get Matter confused with Thread, or think Matter requires Thread (spoiler, it doesn’t). Matter is a TCP/IP based control plane (application layer) standard that (in theory) allows multiple controllers like Apple Homekit, Google Home, Amazon Alexa, SmartThings, etc.to all talk to a Matter device and get real time status updates and control the device.
Matter is entirely software, and has absolutely nothing to do with physical data transmission protocols like Thread, WiFi or Zigbee. It is an application layer protocol. However, Matter can leverage select physical transmission protocols: ethernet, WiFi, Thread, and Bluetooth. Notice the lack of Zigbee and Z-wave.
Matter lets a device talk to Apple, Google, Amazon and other smart hubs without needing to be specifically certified for each ecosystem, and multiple ecosystems can simultaneously control a matter device. So a manufacturer like Eve can just certify a device to the Matter spec, and skip the Apple, Google, and Amazon certifications or software stacks. It should just work with all of them out of the box.
Pro Tip: I would NOT firmware upgrade any devices from Homekit to Matter. Why? When the Matter firmware installs and reboots, it renders the physical HomeKit QR code useless. You can ONLY add the device to Apple Home or another ecosystem using the Matter QR code. You can’t use the HomeKit code anymore, even to add it back to Homekit. If you lose the Matter QR code, you now have a paper weight smart device. Keep your Homekit devices Homekit and only buy factory provisioned Matter devices.
What is Thread?
Thread is a new-ish wireless protocol that compliments Matter. However, Thread can be used without Matter. For example, Eve has shipped Thread enabled devices for Apple Homekit long before Matter was a reality. Eero routers have long had Thread radios in them. Thread is a very low power and low bandwidth mesh protocol, based on Zigbee 3.0. It is designed for sensors, not high bandwidth devices like cameras.
There are multiple versions of Thread, and as May 2023, very little interop between various ecosystems that have Thread radios. For example, Apple’s Homekit Thread network doesn’t interoperate with Eero Thread, or Amazon Thread. So in theory your house could have multiple isolated Thread networks. Maybe someday vendors will push towards full interop like you get with WiFi. That day can’t come soon enough.
What's the matter with Matter?
While in theory Matter should help streamline the Smart Home, it has some early cross-vendor problems. Matter isn’t a feature that all of the major vendors (Apple, Google, Amazon) supported in the same way or with the same feature set across Android and iOS. So the staged roll out that Google and Amazon is using has created many, many headaches for users. Not to mention buggy firmware complicates matter. And, the Matter 1.0 spec is far from complete so some devices, like smart outlets don’t have power monitoring. Needless to say, Matter is in the early days. I’d think by late 2023 or 2024 many of these headaches will be history.
As an example of a current (May 2023) headache, until recently Amazon devices only supported Matter over WiFi, not Thread, even though many Echo devices have Thread radios. And the Google Home app supported Matter on Android, but only added iOS support on May 10, 2023. Likewise, the Alexa app on iOS didn’t support Matter until early May 2023. Once Google and Amazon fully roll out Matter across all supported networking protocols (WiFi, Thread, Ethernet) we will be in a better position and the promise of Matter can be realized.
As of tvOS 16.4 and HomePod OS 16.4, Apple only supports Thread 1.2. This is problematic. Thread 1.3.0 will enable Thread devices to work with any Thread border router, removing the current manufacturer-specific hurdles.
May 11, 2023 Update: For the Home Assistant Skyconnect Thread/Zigbee dongle to join an Apple Home hub Thread network, or for Apple hubs to join the Skyconnect Thread network, Thread secrets need to be exchanged. This is up to Apple, and is not related to Thread 1.3 being supported. Time will tell if/when there is an official Apple process to do this.
June 5, 2023 Update: Apple has given Home Assistant the needed Thread secrets entitlement. However, the HA iOS developers are quite tied up and the HA iOS Companion App needs an update to use the entitlement. So in theory when the HA iOS companion app is updated, the Skyconnect USB radio can join the Apple thread network. The devs already have this working with the Google ecosystem and a Nest hub. But they say bugs are to be expected, so after the iOS app is updated expect it to take a couple of months to kill all the bugs. On a separate note, tvOS 16.5 and the latest HomePod updates did include Thread 1.3.
Multi-Controller Matter Pairing
When pairing a Matter device to multiple controllers, it requires a special process. You can NOT simply scan the physical Matter QR code on the device into each ecosystem’s Home app and expect things to work. It most certainly will NOT.
In order to pair a Matter device to two or more controllers, the high level process is:
- Provision the Matter device using the physical QR code to your primary ecosystem (e.g. Apple Homekit). This ecosystem should be your main (and hopefully only) Thread network with active devices.
- Within the primary ecosystem’s Home app, get a unique pairing code for each accessory and use that unique pairing code in the second ecosystem app to add it.
If all goes well, the secondary ecosystem will discover the new device and pair it. And you can now control state in both ecosystems and get real time status updates.
Pro Tip: If your home has multiple Thread enabled ecosystems, ALWAYS pair your new Matter devices to the SAME ecosystem. Then share the unique pairing code to your other ecosystem. This will ensure all devices are on the same Thread network. Thread networks are mesh based, so you want all devices on one strong high quality mesh.
Home Assistant: Pairing Eve Energy via Matter
My home has two Apple TV 4K hubs that both support Thread. So for this procedure we will be onboarding the Eve Energy via the Apple Home app to the Apple Thread network. After the Eve Energy is in Homekit, we will do a second pairing to Home Assistant. This will enable dual control via Home Assistant and Homekit. Status will update in each app in real time no matter how it is controlled.
Before you start, if you haven’t already, go into Home Assistant Settings -> Devices & Services -> Add Integration. Add the Matter integration. Remember, NO Thread radio is required on your Home Assistant. Matter is an application layer protocol, and after the pairing, HA can talk directly to the Matter device. No internet or cloud connection is needed.
- Unbox the Eve Energy and plug it into a wall outlet. Wait half a minute for it to boot.
- On your iPhone open the Apple Home app, add accessory, and scan the Matter QR code on the Eve Energy. Within a few seconds it should detect the outlet.
3. Select the room to place the accessory.
4. Give the outlet a name.
5. I’m using the outlet with a light, so I picked Light.
6. The Home app detected a firmware update was available, so that took about 10 minutes to download and install. Wait for that to complete.
7. Once the Eve Energy is back online after the firmware update, locate the accessory in Apple Home and open the Accessory Details.
8. Tap the cog icon in the lower right.
9. At the bottom of the screen tap on Turn On Pairing Mode.
10. Copy the setup code to the clipboard.
11. On your iPhone open the Home Assistant app. Go to Settings -> Devices & Services -> Devices -> Add Device.
12. Tap on Add Matter device.
13. Do NOT scan the Matter QR code on the Eve Energy. Tap More options.
14. Tap My Accessory isn’t Shown Here (even if it looks like it is, do NOT tap on any icons).
15. Tap on Enter code.
16. Paste in the code you got from the Apple Home app and tap Continue.
17. Tap Add to “Home Assistant”.
18. Name the Accessory.
19. Tap Done.
20. You should now see the Eve Energy as a device in Home Assistant. Two are shown on my list, as this was the second Eve Energy that I added. Note that you won’t see any energy monitoring stats at this time because Matter 1.0 doesn’t support that feature. Energy monitoring and stats ARE in the Eve app. When the Matter spec is updated to support energy monitoring, I strongly suspect Eve will release a firmware update. But Home Assistant will need the updated Matter spec as well.
Once you understand the pairing process for a dual ecosystem controller environment, it’s pretty straight forward. However, the initial instinct of using the physical QR code in both ecosystems will not work, by design. After the Eve Energy is paired to both controllers, both HomeKit and Home Assistant can control the smart outlet.