[BETA] Matter Advanced Outlet w/ healthStatus [MATTER]


Thanks to Hubitat for publishing the first sample Matter driver on GitHub !

The work on this driver is still in progress, hence the [ALPHA] tag. It adds some additional custom capabilities and attributes not present in the stock Generic Matter Outlet driver :

  • healthCheck - fires 'offline' event when there is no communication to the device.
  • ping() - custom action that measures the RTT (round-trip time) between sending a simple command to the Matter device and receiving the answer.
  • toggle() - custom action to toggle the outlet on/off
  • refresh() - forces reading of the actual switch status from the device
  • getInfo() - detailed information about the device (more of an interest for the developer, rather than of any practical use for now)

The word 'Advanced' in the driver name is more a promise for adding new advanced features in the future, rather than something extraordinary now (the healthStatus is nothing new).

The driver also distinguishes between digital and physical switch events.



This custom driver for Hubitat can be manually installed from GitHub :

https://raw.githubusercontent.com/kkossev/Hubitat/development/Drivers/Matter%20Advanced%20Outlet/Matter_Advanced_Outlet.groovy

3 Likes

reserved.

The Thread over Matter plug that I am happy with is this one :

image

Amazon. de (link)

image
Amazon. co.uk (link)

image
Amazon. com (link)


I am using Apple HomePod Mini as a Thread Border Router (TBR)

2 Likes

@kkossev,
Great work, thanks for the new matter driver.
All working apart from ping.

Summary

Logs

Meross Matter smart plug

Meross Matter Smart Plug Mini with Energy Monitoring, Works with Apple HomeKit, Alexa, Google Home, SmartThings, WiFi Plug with Voice Remote Control, 13A, 2 Packs : Amazon.co.uk: DIY & Tools


1 Like

Thank you for the feedback!
The ping() command not working may mean that this model does not support the 'GlobalSceneControl' property of the on/off Matter cluster - I will experiment using something else that should always be available for all Matter devices (probably the FeatureMap).

I see also duplicated events in your screenshot. Can you do the following : pull off the plug from the mains socket for 30 seconds, put it in the socket again and wait 20-30 seconds. Will the on/off commands work from the first try? Will there be duplicated on/off events again?

1 Like

Tried that...
The on/off took a couple of tries to show up on software (did not check the physical plug).
And, yes still duplicate events.

Logs

1 Like

Can you post a screenshot of the debug logs that follow a refresh() command?

See below:

Summary

1 Like

Merry Christmas! :christmas_tree:

Please update to ver 1.0.2 2023/12/26 1:57 PM
There are a lot of changes in the code, including the use of the Basic cluster attr. 0 for the ping() command - I expect this method to work for all different Matter devices now.

I have also added 'Get Info' command. Click on it and observe the live logs page (it is better to run it with the Debug logging turned off). I am curious what will be the results with your device. Here are the results using the Onvis plug :

Get Info

1 Like

Happy holidays!
Great work, thanks for the quick update.

ping() is working

still getting duplicated events?

Get Info


1 Like

I am close to a solution ...

What other Matter devices you have? : )

1 Like

That's great news.
I only have these smart plugs at the moment, if you confirm what other matter devices you are likely to support then I can look into purchasing if not too expensive.
I've purchased the Zemismart matter hub from Aliexpress which I should receive soon.

I have one Matter bulb, one LED strip, and one Aqara P2 contact sensor. Probably I will stop here, for now, these are enough to satisfy my curiosity ... : )

It will be more interesting when handling Matter Bridges functionality is added to HE (this is where the Zemismart/Tuya Zigbee to Matter Bridges will come into play).

1 Like

I have published an update - ver. 1.0.3 2023-12-28 - (dev. branch) added initializeCtr and duplicatedCtr in stats; added reSubscribe() method.

I couldn't make the automatic unsubscribe->subscribe sequence to work reliably with the different Matter devices that I have.. : ( So as a temporary solution - there is now a new button "Re-subscribe".

Clicking on it will first unsubscribe the driver from all the previous subscriptions (probably multiple subscriptions), that result in duplicated events received on every on/off operation.

Do not click on the Initialize button - it will result in creating multiple subscriptions and duplicated events, as it is currently in all stock drivers with all Matter devices that I have tested.


2 Likes

Excellent work, no more duplicate messages for on/off operation.

1 Like

Thanks @kkossev for the work on this driver!

I am using Kasa KP125M Outlets I have one on your driver now, it was sending 4 messages per event. I used the resubscribe and back to single events now.

Cheers!

1 Like

I have just added a meross matter plug https://amzn.eu/d/2LKqaTw and everything appears to be working except no power monitoring which the plug apparently supports. Is this feature not supported in Hubitat?

1 Like

Matter standard does not currently support power monitoring. Hopefully, this will be implemented in a future version.

1 Like

@kkossev,
Just wondering why one of the matter Meross plugs has an high number of Hub actions?
The dehumifier plug seems to be okay.

The Meross plug may be sending periodically its on/off status as a heartbeat, or similar ...
Enable the debug logs to see.

1 Like