Motion Light with Timer

A join node can join incoming messages in many ways, the way i have shown in the example is a key value object, which will output an object. The key can be any property and the value another property. In the join node the key is set msg.topic , the join node is also set to join any incoming msg.payload property (these can be set to any property you wish).

Your incoming IObroker nodes send their data in in msg.payload, but the topic is a string which is not really good, as the string is long and hard to remember and type and would make a messy object. So you need to set the msg.topic to an easy memorable string (e.g. robo, sensor or switch).

So the incoming payload from the IObroker node is passed to the change node and the topic is reset to robo, sensor or switch. The join node then takes the topic and creates a object with the properties robo, sensor and switch, as these are the incoming topics set in the individual change nodes. The join node then adds/references the payloads to those properties, whether they are string, array, booleans, etc. The join node then waits till it has received the set count of payload topics (set in join node), and then outputs them as a joined object. As and every subsequent message is checked in the join node it will then output an updated object when any new topic payload is received.

I don't know how else i can explain this to you, there is an example in the cookbook that may help your understanding to

See this article in the cookbook for an example of how to join messages into one object.

Ok Thanks I think I understand what you mean ore told me.
I read the Cookbook
Thanks