matterTools Library

For those interested, I have created a series of libraries that you can use to build Matter drivers.

These libraries expand on the existing hubitat matter.XXX methods by allowing designation of endpoints and by supporting child devices.

Please see the following github repository (and its Wiki) for more details.

A brief summary of the tools (as of March 4, 2024) is below (but see the github site for updates)

1. Matter Development Tools (not cluster specific)

1.1 matterTools ‐ parseDescriptionAsDecodedMap

  • A set of methods that provide for a more complete parsing and decoding of matter attribute reports. If you hate figuring out how to convert a hex string to the correct Matter data types, these methods are for you!

2. Matter Cluster Controls

2.1 matterTools ‐ Identify Cluster 0x0003 Command Support

  • A set of methods that provide for control of the Identify cluster.

2.2 matterTools ‐ On Off Cluster 0x0006 Command Support

  • A set of methods that provide for enhanced control of the On/Off cluster.

2.3 matterTools ‐ Level Cluster 0x0008 Command Support

  • A set of methods that provide for enhanced control of the Level cluster.

2.4 matterTools - Color Cluster 0x300 Command Support

  • A set of methods that provide for enhanced control of the Color Control cluster.

3. Miscellaneous

3.1 getExpandedColorNames

  • Methods to provide for a broader range of color names from hue / saturation / level values.
11 Likes

Very good work, @jvm33 !

Do you plan to pack the drivers and the libraries in a Bundle or in an HPM package?

1 Like

I could. A bundle is an easy ask. I'm less familiar with HPM. In both cases, I'm prioritize documenting first and you'll see a number of post documenting.

1 Like

Yep,; the documentation is a very important part!

:smiley:
I had to quarantine your HPM Repository today due to errors:

app:897 2024-02-09 12:23:22.876 PM info Retrieving list of installed apps
app:897 2024-02-09 12:23:01.817 PM warn Unable to Refresh JVM (@jvm33)
app:897 2024-02-09 12:23:01.799 PM info Downloading package manifests

You removed your intermediate JSON and it's not functional anymore.

  {
  	"name": "JVM (@jvm33)",
  	"location": "https://raw.githubusercontent.com/jvmahon/HubitatCustom/main/repository.json"
  },

The original (repository.json) no longer exists. In fact "HubitatCustom" is gone as well..

I found HPM quite complicated to install and use compared to bundles :smiley:

Thanks for the reminder. I've updated github with a v1.9.2 Bundle, replacing the v1.9.0 that's been there for so long. :slight_smile:

HubitatPackageManager_Bundle.zip

OR, use this Import URL:
https://bit.ly/3VfykH9

4 Likes

Actually, it was a good thing that the Bundle had 1.9.0 because that gave a new user the opportunity to learn about the Update feature of HPM. On the downside, Update sometimes could be problematic when HPM tried to update itself, not a pleasant experience for a first-time HPM user.

HPM is such a very important utility for Hubitat, almost on a par with Rule Machine. Dominick Meglio made a great contribution to the platform by developing HPM, and you are making a great contribution by carrying it forward. Thanks, @csteele.

3 Likes

I encountered that as I was building the v1.9.2 Bundle. I feel I know how to fix it in a VERY UGLY WAY, but to honor Dominic's superb work, I am hunting for the pretty way :smiley: :smiley:

4 Likes