These are really good questions @625alex! Not all capabilities have attributes or commands, which is why some columns are empty.
Wouldn’t that be using the button capability, which does have a button attribute with one possible value being pushed?
There is no event called actuated.
I need to dig more on this to answer with confidence.
I don’t want to fork this thread, but I do want to get each capability documented fully, with descriptions, command signatures/documentation, code examples, etc. That’s not happening today though, but hopefully that will be useful when we get there.
Until then, I’ll work on finding a specific answer to your questions. Hang tight.
If you use capability.momentary, the only thing you know is that it supports the push() command. The specific device used may also support the button capability, since devices often support more than one capability. There is no inheritance structure for capabilities.
It’s possible that the specific device type sent an event with name “momentary” and value “pushed”. This would allow for subscribing to that event like you have.
There is no specific relationship between these two capabilities, other than a logical similarity in being “button-like”.
And a physical dimmer control is a “switch” from an electrician’s standpoint, but is an “actuator” in a zigbee network.
(Are we having fun yet? )
Anyway, seeing “sensor” and “actuator” as capabilities implies to me that this had to do with the zigbee underlayer. And that “switch” and “momentary switch” came in with Zwave (because those are both “actuators” in a zigbee sensornet.)