A good model for this is the HID protocol for "human interface devices". This supports keyboards, mice, joysticks, game controllers, etc. over USB. It's simple enough to be used by very basic devices, and descriptive enough to extend to most control-like devices.
Most home automation stuff doesn't have that big a command vocabulary.
Most home automation stuff doesn't have that big a command vocabulary.