Help me piece together how the HA Thread implementation works

I am struggling a bit to piece together the Thread implementation in HA.
I have a couple of devices setup and they kind of work but I am finding trying to get any useful debugging info (and there seems to be a lot of debugging to do) or visibility of how things work.

I have a pretty good understanding of Zigbee and from the specs Matter over Thread isn’t too far away (we still have clusters and attributes).

There is seemingly no way to put in custom mappings (ZHA quirks and Z2M converters) but I believe that Matter allows manufacturer specific clusters and attributes just like Zigbee. Take my Aqara FP300 as an example I can see a BooleanStateConfiguration cluster which is showing up in the Matter server but doesn’t map to any controls in HA


and I am fairly sure this would be the equivalent of

So I guess I am looking at how and where the clusters are being parsed and what decides what makes it through to HA. Is it even possible top map this across or is this problematic because it is so generic and there is no mechanism to handle that?

I know this doesn’t help you, but I wouldn’t recommend going on a wild goose chase to implement custom mappings on Thread for the FP300. If Aqara themselves couldn’t implement them via their own app/ matter hub, I doubt you’ll be any luckier.

Source (I swear there used to be a version of this table on their official product page, but it seems to be gone now):

For a full list of what’s missing in matter, see here. Might as well switch it to zigbee mode and call it a day.

This is about understanding how this works at a lower level rather than any specific device or functionality. I am not looking to implement it just understand how it works