I have started to dig into Matter drivers recently. I have reviewed a few drivers including the sample driver provided by Hubitat. The issue i am having is the sample driver from hubitat seems to use custom HE methods to bridge betwen certain device capabilities and matter control. They seem to relate to all of the standard switch and light functions. As such the examples don't seem to have options to invoke matter commands or write to attributes directly.
Are there any written working code samples that can be used to understand how to submit Commands or write to attributes to trigger decice changes.
So I asked this question to look into something with the Set ColorTemp command I was working on. Simply put It always seems that it took forever to change the color temp because it was stepping it. Looking at the spec it looks like this should be avoidable. Here is the routine i finally just got working with your help above.
That will invoke the Matter command "MoveToColorTemperature" and specify the temp and transition time. There is something weird about transition time though. When it is set to 0 it is pretty much instantaneous. When set to anything else it takes a while. 1 is faster then 20, but it still take a good while on my device. The device i am testing with is a Govee Outdoor Wall light. Thanks for your help guys. Now i need to work on fan controls.
I think this is a problem some users have discovered with the way many manufacturers have implemented transition times (not per spec) on their devices. You can read discussions from users on another platform here, but this is ultimately a problem with those devices and not specific to that platform or Hubitat either. It also seems to affect mostly (entirely?) Wi-Fi devices, or at least I'm not sure I've seen any Thread devices mentioned (and the fact that many of these likely have the same OEM might be a contributing factor...):
The best thing to do would be for manufacturers to fix their devices. Contacting them may (or may not) help.
The next-best thing is probably to just use a 0 transition time in cases where this matters for you.
Ok so this is probably a simple answer, but how have you all handled enumerated types not listed.
Looking through the Matter spec docs I see several instances like the below where attributes use enuamerated types. There are no Enumareted types listed in the list provided above.
Does the value just need to be passed, or is a different data value type used to add the value to the attribute write request.
As a starting point, look at the files that include a cluster number like: "matterTools.ColorClusterMethods0x3000 groovy" or "matterTools.OnOffClusterMethods0x0006.groovy"
Some of the files have been documented in the wiki: Home · jvmahon/Hubitat-matterTools Wiki · GitHub but I haven't been able to document them all due to time constraints (that being said, many of the libraries include detailed internal comments).
Well i got it figured out with both of your help and digging through @kkossev beta driver. I know have a fully functional Fan Matter driver that adjusts the speed Thanks for both of your help.