Matter Support Released

Not really, I would say it is more about the settings and possibly different revisions of the z-wave command classes.

My Zooz outlet/plugs driver is universal other than the device settings. You can (and people do) use it on any Z-wave plug that follows the current standards. It works for metering or regular plugs. It has pre-programmed settings for Zooz devices, unknown devices are presented with no settings.

Also just found out this week someone has been using my Dimmer driver for an Aeotec dimmer and it has been working good.

So really other than the device specific settings you could cover the majority of Z-Wave devices with generic drivers. Typically each driver I create is for a separate "class" of device that has different capabilities. At this point I have code that covers most of the messages that devices send in. Its just a matter of piecing the right chunks together to make a driver for the specific capabilities of the device.

non-standard standards, unsystematic systems...

2 Likes

Surprised?

Nope. :wink:

1 Like

When I wrote that, I was thinking about the several scene controllers that I've worked on drivers for. Their usage of "generic z-wave messages" has been... creative and individual. :smiley:

1 Like

I assume this is what HomeKit or Alexa are doing internally when they pair to a Matter device. They don't have ability to switch out a driver. (In some cases, you can choose the representation of the device in the UI. ex: switch vs plug vs light)

LOL, I assume all the competing parties will turn this protocol into spaghetti, just like previous ones.

This is where I think a dynamic driver could be useful. We can't do it as a user driver, because we can't dynamically define capabilities, commands, and attributes. (Though folks have asked before: Dynamic Capabilities, Commands, and Attributes for Drivers) So it would have to be internal to the hub.

1 Like

I found a comment from @mike.maxwell that gives a potential architecture that a "Matter-Everything Driver" could use:

Though having a child device for every capability would get messy in the UI. I like the "purity" of auto-discovering Matter abilities and making them available. But usability triumphs over purity.

Not my favorite approach to turn lots of things into child devices...I really like having access to Swap Apps Device when I want to move things around when doing testing/troubleshooting, replace devices. Child devices aren't supported by Swap Apps.

3 Likes

I was having the same thought today. why can't HE create standard background library's that can be called in a custom driver?

something like @matter to tell it it's a matter driver. Then @switch and/or @dimmer or @motion and or @battery

then you just list these in the driver and that's it. You don't see the "code" if they want to protect that but standard drivers can be built easily. If there are issues then when they fix the library everyone gets the bump

Funny you mentioned this. Its basically what I've written here: GitHub - jvmahon/Hubitat-matterTools: Tools for creating Matter drivers for Hubitat in the file matterTools.MatterUniverrsalDriver.groovy

I haven't uploaded the latest updates, but notice this file here: Hubitat-matterTools/matterTools.endpointAndChildDeviceTools.groovy at main ยท jvmahon/Hubitat-matterTools ยท GitHub. In that file, the function getComponentDriverByEndpointType looks at the Matter endpoint type ID and assigns child components based on the Matter type. So, for example, an Eve Motion device gets both a Motion child and an illumination child. I actually like the use of a different child device for each type - it makes it cleaner when you are controlling a given endpoint.

I expect a "publicly usable" version will follow Hubitat's next firmware release (there are some Hubitat Matter bugs to be worked out, so I'm waiting for the next Hubitat firmware release to do a final update / code fix). I am pretty happy with the progress so far and have it working so that the same driver works with switches, dimmers, RGB bulbs, multi-endpoint switches, Eve Motion, Eve Energy (including energy usage reporting), and a few others.

6 Likes

Bravo! I will be curious to watch how this experiment works out. (And I'll try your driver on my one Matter device.)

Priorities, priorities based on actual customer base, and custom drivers are not one... Just being real about where something like this stands.

3 Likes

yes understandable but i was thinking of it more for your sake and time sake, surly this is a good all around better approach? ie rather than you having to reinvent the wheel each time you do a driver / going back and having to fix each one when there is a issue. Surly a standard set of functions that can be called would help you and everyone else out just as a bonus.

1 Like

Agreed, do the bulk of the work up front, save a ton of duplication and effort down the road.

1 Like

I'll be sure to pass your suggestions on to the engineers, I'm sure they will find them inspirational and enlightening.

4 Likes

Ah Bruce, I do enjoy your sarcasm, you'd make a good Aussie ... now repeat after me "yeah, nah". :rofl:

9 Likes

Did you succeed in getting a Tasmota Matter device added to Hubitat?

I just landed a couple of Athom ESP32-C3 plugs that have matter support. After commissioning it with Tuya Smart and putting it into sharing mode, Hubitat was unable to join it to it's fabric.

I can confirm that once the Matter device is commissioned, put into sharing mode and then joined as a Matter device to Hubitat, the old commissioning device is not longer necessary. You can remove it from the original commissioning fabric and the device will continue to function with Hubitat. Keep in mind that if you do leave the device only connected to the Hubitat fabric, you cannot then put the device back into sharing mode, at least as at 2.3.8.138, so if you ever want it to join another fabric, you will have to factory reset the device and go through full commissioning again.

1 Like

I have not tried the Hubitat matter integration yet, I need to get a new hub mine is a C4. I did get the esp32 to join with homekit.

This is true for wifi based devices, but I think if you are using a thread device and disconnect your thread border router it will not work.

1 Like

Correct. If you remove a thread Matter from its Thread Border Router, it is effectively 'off the mesh' and incommunicado.

1 Like