I have the Monoprice Shock Sensor, and I’ve been writing a device handler for it that’s more complete and tailored to the device than a repurposed Z-wave Door/Window sensor handler that relies on the Basic command class.
I was wrestling with this some, because it’s kind of like a motion sensor (not in the PIR sense), or kind of like an accelerationSensor (in it measures the effect on the device), but it’s really neither of those. Especially when the device starts showing up in smart app device pickers where it’s not really appropriate. It’s lot in life is to detect abrupt motion, like a door being kicked in, or loud noise such as glass shattering, and that’s different enough to warrant its own capability.
It’s detection is binary at heart, so I’d imagine just a single attr:
shock ['detected', 'clear']
My thought exercise was in considering the Monoprice garage door sensor. It operates by tilt, but it’s not a tilt sensor in that it’s report is also binary. But classifying it as a contact sensor works because the GD sensor’s purpose is ultimately identical to the contact sensor, though it goes about it differently: It tells me if something is open or closed. Because of this, it doesn’t seem to “want” its own capability.