An instance of a physical piece of hardware is called a device. For example, a car, an Arduino/ESP8266 or a coffee machine.
A device can expose multiple nodes.
Nodes are independent or logically separable parts of a device.
For example, a car might expose a
wheels node, an
engine node and a
A node can have multiple properties.
Properties represent basic characteristics of the node/device, often given as numbers or finite states.
For example the
wheels node might expose an
engine node might expose a
lights node might expose an
intensity and a
Devices, nodes and properties have specific attributes characterizing them.
Attributes are represented by topic identifier starting with
The precise definition of attributes is important for the automatic discovery of devices following the MMRC convention.
Examples: A device might have an
IP attribute, a node will have a
name attribute, and a property will have a
The root topic for this convention is
MMRC defines a broadcast channel, so a controller is able to broadcast a message to all MMRC devices:
levelis an arbitrary broadcast identifier. It must adhere to the ID format.
For example, you might want to broadcast an
alert event with the alert reason as the payload.
Devices are then free to react or not.
In our case, every buzzer of your home automation system would start buzzing.
Any other topic is not part of the MMRC convention.