How data are coded to Controllers

  • Hi,

    probably my question can be easily answered going in detail with documentation and examples, but I would like to collect information and share ideas with the goal of a comparison between MySensors and Souliss (an open source project where I'm involved in). The scope is understand how and if we can build mixed structure with MySensor and Souliss, just because both are great project and together can shine more.

    Let go to the question. How data are coded to a Controller? I saw that MySensor has support for a lot of controllers, that's very nice, but how a Controller known what is behind a node and how it control the node it self?

    An example makes easy to explain, consider a network with a Gateway and a Node with a simple ON/OFF light. Is the Controller able to fetch from the Node that he owns a light, once he know, is it able to control that light?
    Once coding the controller are you manually defining whatever is in your network, or is there a standard? Let say that I want to switch ON my light, all MySensor implementation use the same way to get the result?

    Hope that my question were clear enough, but I wasn't able to find an answer by self looking at the wiki.


  • Admin

    The serial protocol is documented here:

    MQTT topics is coded similar.

  • Looks more clear now.

    Does the user need to list the devices (light, door, ...) in the Controller, or the Controller can get those directly form the nodes?

    From the protocol, I don't see support for multiple architecture or routing, is it?


  • Admin


    The nodes send one or more presentation messages (usually at startup) . It is up to the controller to use these as a hint on how to present the sensor/actuator information at a later stage.

    The serial protocol doesn't specify how the messages should get delivered to the final destination. It is possible to ask for an ack message though.