# How to publish each element of an array

**URL:** https://discourse.nodered.org/t/how-to-publish-each-element-of-an-array/95498
**Category:** General
**Created:** [18 February 2025 21:58 UTC](https://discourse.nodered.org/t/how-to-publish-each-element-of-an-array/95498 "2025-02-18T21:58:47Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![fraser](https://avatars.discourse-cdn.com/v4/letter/f/6de8d8/32.png) [@fraser](https://discourse.nodered.org/u/fraser)
#### Post date: [18 February 2025 21:58 UTC](https://discourse.nodered.org/t/how-to-publish-each-element-of-an-array/95498/1 "2025-02-18T21:58:47Z")

</div>

I've got a heating system that I'd like to publish all the information from on MQTT. The output from the system is an array of objects for each device currently included into the system.

What I'd like to do is iterate through the key/value pairs and publish them to my MQTT Broker, such that they look something like this:

MQTT Topic: devices/[n]/varOrSetting  
MQTT Value: value

Where n is the device number, varOrSetting is each config/variable/setting for the device and value the value currently assigned to it.

Note: I know there's a few gotchas like names with "/" in them, I'm happy to deal with that later. I'm just at a loss to work out how to actually get this information published in MQTT.

Here is an example output message from the system:

{"devices":[{"AWAY":false,"COOLING":false,"COOLING\_ENABLED":false,"COOLING\_TEMPERATURE\_IN\_WHOLE\_DEGREES":24,"COOL\_INP":false,"COUNT\_DOWN\_TIME":"0:00","CRADLE\_PAIRED\_TO\_REMOTE\_SENSOR":false,"CRADLE\_PAIRED\_TO\_STAT":false,"CURRENT\_FLOOR\_TEMPERATURE":30,"CURRENT\_SET\_TEMPERATURE":"16.0","CURRENT\_TEMPERATURE":"19.3","DEMAND":false,"DEVICE\_TYPE":12,"ENABLE\_BOILER":false,"ENABLE\_COOLING":false,"ENABLE\_PUMP":false,"ENABLE\_VALVE":false,"ENABLE\_ZONE":false,"FAILSAFE\_STATE":false,"FAIL\_SAFE\_ENABLED":false,"FLOOR\_LIMIT":true,"FULL/PARTIAL\_LOCK\_AVAILABLE":false,"HEAT/COOL\_MODE":false,"HEATING":false,"HOLD\_TEMPERATURE":5,"HOLD\_TIME":"0:00","HOLIDAY":false,"HOLIDAY\_DAYS":0,"HUMIDITY":0,"LOCK":false,"LOCK\_PIN\_NUMBER":"0000","LOW\_BATTERY":false,"MAX\_TEMPERATURE":"16.0","MIN\_TEMPERATURE":"15.0","MODULATION\_LEVEL":0,"NEXT\_ON\_TIME":"2 days 22:05","OFFLINE":false,"OUPUT\_DELAY":false,"OUTPUT\_DELAY":0,"PREHEAT":false,"PREHEAT\_TIME":"21:18","PROGRAM\_MODE":"5DAY/2DAY","PUMP\_DELAY":false,"RADIATORS\_OR\_UNDERFLOOR":false,"SENSOR\_SELECTION":"BUILT\_IN\_AND\_FLOOR","SET\_COUNTDOWN\_TIME":0,"STANDBY":false,"STAT\_MODE":{"6\_HEAT\_LEVELS":true,"MANUAL\_OFF":true,"THERMOSTAT":true},"TEMPERATURE\_FORMAT":false,"TEMP\_HOLD":false,"TIMECLOCK\_MODE":false,"TIMER":false,"TIME\_CLOCK\_OVERIDE\_BIT":false,"ULTRA\_VERSION":0,"VERSION\_NUMBER":35,"WRITE\_COUNT":41,"ZONE\_1PAIRED\_TO\_MULTILINK":true,"ZONE\_1\_OR\_2":false,"ZONE\_2\_PAIRED\_TO\_MULTILINK":false,"device":"Bedroom"},{"AWAY":false,"COOLING":false,"COOLING\_ENABLED":false,"COOLING\_TEMPERATURE\_IN\_WHOLE\_DEGREES":127,"COOL\_INP":false,"COUNT\_DOWN\_TIME":"0:00","CRADLE\_PAIRED\_TO\_REMOTE\_SENSOR":false,"CRADLE\_PAIRED\_TO\_STAT":false,"CURRENT\_FLOOR\_TEMPERATURE":20,"CURRENT\_SET\_TEMPERATURE":"10.0","CURRENT\_TEMPERATURE":"20.0","DEMAND":false,"DEVICE\_TYPE":12,"ENABLE\_BOILER":false,"ENABLE\_COOLING":false,"ENABLE\_PUMP":false,"ENABLE\_VALVE":false,"ENABLE\_ZONE":false,"FAILSAFE\_STATE":false,"FAIL\_SAFE\_ENABLED":false,"FLOOR\_LIMIT":false,"FULL/PARTIAL\_LOCK\_AVAILABLE":false,"HEAT/COOL\_MODE":false,"HEATING":false,"HOLD\_TEMPERATURE":5,"HOLD\_TIME":"0:00","HOLIDAY":false,"HOLIDAY\_DAYS":0,"HUMIDITY":0,"LOCK":false,"LOCK\_PIN\_NUMBER":"0000","LOW\_BATTERY":false,"MAX\_TEMPERATURE":"19.0","MIN\_TEMPERATURE":"18.0","MODULATION\_LEVEL":0,"NEXT\_ON\_TIME":"255 days 255:255","OFFLINE":false,"OUPUT\_DELAY":false,"OUTPUT\_DELAY":0,"PREHEAT":false,"PREHEAT\_TIME":"255:255","PROGRAM\_MODE":"5DAY/2DAY","PUMP\_DELAY":false,"RADIATORS\_OR\_UNDERFLOOR":false,"SENSOR\_SELECTION":"BUILT\_IN\_AND\_FLOOR","SET\_COUNTDOWN\_TIME":0,"STANDBY":true,"STAT\_MODE":{"6\_HEAT\_LEVELS":true,"MANUAL\_OFF":true,"THERMOSTAT":true},"TEMPERATURE\_FORMAT":false,"TEMP\_HOLD":false,"TIMECLOCK\_MODE":false,"TIMER":false,"TIME\_CLOCK\_OVERIDE\_BIT":false,"ULTRA\_VERSION":0,"VERSION\_NUMBER":35,"WRITE\_COUNT":7,"ZONE\_1PAIRED\_TO\_MULTILINK":true,"ZONE\_1\_OR\_2":false,"ZONE\_2\_PAIRED\_TO\_MULTILINK":false,"device":"Hallway"},{"AWAY":false,"COOLING":false,"COOLING\_ENABLED":false,"COOLING\_TEMPERATURE\_IN\_WHOLE\_DEGREES":23,"COOL\_INP":false,"COUNT\_DOWN\_TIME":"0:00","CRADLE\_PAIRED\_TO\_REMOTE\_SENSOR":false,"CRADLE\_PAIRED\_TO\_STAT":false,"CURRENT\_FLOOR\_TEMPERATURE":20,"CURRENT\_SET\_TEMPERATURE":"19.0","CURRENT\_TEMPERATURE":"20.8","DEMAND":false,"DEVICE\_TYPE":12,"ENABLE\_BOILER":false,"ENABLE\_COOLING":false,"ENABLE\_PUMP":false,"ENABLE\_VALVE":false,"ENABLE\_ZONE":false,"FAILSAFE\_STATE":false,"FAIL\_SAFE\_ENABLED":false,"FLOOR\_LIMIT":false,"FULL/PARTIAL\_LOCK\_AVAILABLE":false,"HEAT/COOL\_MODE":false,"HEATING":false,"HOLD\_TEMPERATURE":21,"HOLD\_TIME":"0:00","HOLIDAY":false,"HOLIDAY\_DAYS":0,"HUMIDITY":0,"LOCK":false,"LOCK\_PIN\_NUMBER":"0000","LOW\_BATTERY":false,"MAX\_TEMPERATURE":"21.0","MIN\_TEMPERATURE":"18.0","MODULATION\_LEVEL":0,"NEXT\_ON\_TIME":"2 days 22:00","OFFLINE":false,"OUPUT\_DELAY":false,"OUTPUT\_DELAY":0,"PREHEAT":false,"PREHEAT\_TIME":"255:255","PROGRAM\_MODE":"5DAY/2DAY","PUMP\_DELAY":false,"RADIATORS\_OR\_UNDERFLOOR":false,"SENSOR\_SELECTION":"BUILT\_IN\_AND\_FLOOR","SET\_COUNTDOWN\_TIME":0,"STANDBY":false,"STAT\_MODE":{"6\_HEAT\_LEVELS":true,"MANUAL\_OFF":true,"THERMOSTAT":true},"TEMPERATURE\_FORMAT":false,"TEMP\_HOLD":false,"TIMECLOCK\_MODE":false,"TIMER":false,"TIME\_CLOCK\_OVERIDE\_BIT":false,"ULTRA\_VERSION":0,"VERSION\_NUMBER":35,"WRITE\_COUNT":59,"ZONE\_1PAIRED\_TO\_MULTILINK":true,"ZONE\_1\_OR\_2":false,"ZONE\_2\_PAIRED\_TO\_MULTILINK":false,"device":"Front Room"},{"AWAY":false,"COOLING":false,"COOLING\_ENABLED":false,"COOLING\_TEMPERATURE\_IN\_WHOLE\_DEGREES":23,"COOL\_INP":false,"COUNT\_DOWN\_TIME":"0:00","CRADLE\_PAIRED\_TO\_REMOTE\_SENSOR":false,"CRADLE\_PAIRED\_TO\_STAT":false,"CURRENT\_FLOOR\_TEMPERATURE":127,"CURRENT\_SET\_TEMPERATURE":"21.0","CURRENT\_TEMPERATURE":"20.6","DEMAND":false,"DEVICE\_TYPE":12,"ENABLE\_BOILER":false,"ENABLE\_COOLING":false,"ENABLE\_PUMP":false,"ENABLE\_VALVE":false,"ENABLE\_ZONE":false,"FAILSAFE\_STATE":false,"FAIL\_SAFE\_ENABLED":false,"FLOOR\_LIMIT":false,"FULL/PARTIAL\_LOCK\_AVAILABLE":false,"HEAT/COOL\_MODE":false,"HEATING":false,"HOLD\_TEMPERATURE":21,"HOLD\_TIME":"0:00","HOLIDAY":false,"HOLIDAY\_DAYS":0,"HUMIDITY":0,"LOCK":false,"LOCK\_PIN\_NUMBER":"0000","LOW\_BATTERY":false,"MAX\_TEMPERATURE":"21.0","MIN\_TEMPERATURE":"17.0","MODULATION\_LEVEL":0,"NEXT\_ON\_TIME":"2 days 22:00","OFFLINE":false,"OUPUT\_DELAY":false,"OUTPUT\_DELAY":0,"PREHEAT":false,"PREHEAT\_TIME":"255:255","PROGRAM\_MODE":"5DAY/2DAY","PUMP\_DELAY":false,"RADIATORS\_OR\_UNDERFLOOR":false,"SENSOR\_SELECTION":"BUILT\_IN\_AIR\_SENSOR","SET\_COUNTDOWN\_TIME":0,"STANDBY":false,"STAT\_MODE":{"6\_HEAT\_LEVELS":true,"MANUAL\_OFF":true,"THERMOSTAT":true},"TEMPERATURE\_FORMAT":false,"TEMP\_HOLD":false,"TIMECLOCK\_MODE":false,"TIMER":false,"TIME\_CLOCK\_OVERIDE\_BIT":false,"ULTRA\_VERSION":0,"VERSION\_NUMBER":35,"WRITE\_COUNT":51,"ZONE\_1PAIRED\_TO\_MULTILINK":true,"ZONE\_1\_OR\_2":false,"ZONE\_2\_PAIRED\_TO\_MULTILINK":false,"device":"Bathroom"}]}

---

<div class="post-metadata">

### Author: ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)
#### Post date: [18 February 2025 22:48 UTC](https://discourse.nodered.org/t/how-to-publish-each-element-of-an-array/95498/2 "2025-02-18T22:48:46Z")

</div>

> [@fraser](#):
>
> Where n is the device number, varOrSetting is each config/variable/setting for the device and value the value currently assigned to it.

If I understand this correctly, something like this should work

```auto
[{"id":"1cb1b5d545c698fc","type":"inject","z":"d1395164b4eec73e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"devices\":[{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":24,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":30,\"CURRENT_SET_TEMPERATURE\":\"16.0\",\"CURRENT_TEMPERATURE\":\"19.3\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":true,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":5,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"16.0\",\"MIN_TEMPERATURE\":\"15.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"2 days 22:05\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"21:18\",\"PROGRAM_MODE\":\"5DAY/2DAY\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"6_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":35,\"WRITE_COUNT\":41,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Bedroom\"},{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":127,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":20,\"CURRENT_SET_TEMPERATURE\":\"10.0\",\"CURRENT_TEMPERATURE\":\"20.0\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":5,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"19.0\",\"MIN_TEMPERATURE\":\"18.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"5DAY/2DAY\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":true,\"STAT_MODE\":{\"6_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":35,\"WRITE_COUNT\":7,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Hallway\"},{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":20,\"CURRENT_SET_TEMPERATURE\":\"19.0\",\"CURRENT_TEMPERATURE\":\"20.8\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"21.0\",\"MIN_TEMPERATURE\":\"18.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"2 days 22:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"5DAY/2DAY\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"6_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":35,\"WRITE_COUNT\":59,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Front Room\"},{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"21.0\",\"CURRENT_TEMPERATURE\":\"20.6\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"21.0\",\"MIN_TEMPERATURE\":\"17.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"2 days 22:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"5DAY/2DAY\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"6_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":35,\"WRITE_COUNT\":51,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Bathroom\"}]}","payloadType":"json","x":110,"y":5900,"wires":[["6fe535cf0ea29349"]]},{"id":"6fe535cf0ea29349","type":"change","z":"d1395164b4eec73e","name":"","rules":[{"t":"move","p":"payload.devices","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":300,"y":5900,"wires":[["5a0dfc84212d3331"]]},{"id":"5a0dfc84212d3331","type":"split","z":"d1395164b4eec73e","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","property":"payload","x":490,"y":5900,"wires":[["5e408858c6ad2d40"]]},{"id":"5e408858c6ad2d40","type":"change","z":"d1395164b4eec73e","name":"","rules":[{"t":"move","p":"parts.index","pt":"msg","to":"deviceNumber","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":5900,"wires":[["e95cec5d4b9536a3"]]},{"id":"e95cec5d4b9536a3","type":"split","z":"d1395164b4eec73e","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"topic","property":"payload","x":130,"y":5980,"wires":[["2be8a8b398562b68"]]},{"id":"2be8a8b398562b68","type":"delay","z":"d1395164b4eec73e","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"3","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":270,"y":5980,"wires":[["093a2e5a54173497"]]},{"id":"093a2e5a54173497","type":"change","z":"d1395164b4eec73e","name":"","rules":[{"t":"change","p":"parts.key","pt":"msg","from":"/","fromt":"str","to":"_","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":460,"y":5980,"wires":[["b62e882e2ee6caec"]]},{"id":"b62e882e2ee6caec","type":"template","z":"d1395164b4eec73e","name":"","field":"topic","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"devices/{{deviceNumber}}/{{parts.key}}","output":"str","x":640,"y":5980,"wires":[["aef85e5a7754fe75"]]},{"id":"aef85e5a7754fe75","type":"debug","z":"d1395164b4eec73e","name":"mqtt out","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":540,"y":6060,"wires":[]}]

```

---

<div class="post-metadata">

### Author: ![fraser](https://avatars.discourse-cdn.com/v4/letter/f/6de8d8/32.png) [@fraser](https://discourse.nodered.org/u/fraser)
#### Post date: [19 February 2025 12:18 UTC](https://discourse.nodered.org/t/how-to-publish-each-element-of-an-array/95498/3 "2025-02-19T12:18:33Z")

</div>

That's exactly what I was after. I've never dealt with having to split data in this way and was just a bit lost on where to start. This is really helpful.

Thank you very much...

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)
#### Post date: [5 March 2025 12:19 UTC](https://discourse.nodered.org/t/how-to-publish-each-element-of-an-array/95498/4 "2025-03-05T12:19:10Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
