Send multi topic mqtt

Hi,

how to make mqtt topic submission simpler
if preset 1 is on then preset 2,3,4 is off
if preset 2 is on then preset 1,3,4 is off
etc.


image send preset 1


image send preset 2

thanks

[{"id":"acf6a62ed64e2b23","type":"switch","z":"ab039c08ec3cef82","name":"Preset1","property":"payload","propertyType":"jsonata","rules":[{"t":"regex","v":"Preset 1 On","vt":"str","case":true}],"checkall":"true","repair":false,"outputs":1,"x":1520,"y":980,"wires":[["0f8fd06d76dce155","dffba944bee52635"]]},{"id":"0f8fd06d76dce155","type":"template","z":"ab039c08ec3cef82","name":"preset1=on","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{{Preset 1 On}}on","output":"str","x":1690,"y":980,"wires":[["f454ad8eb2a8c4f5"]]},{"id":"dffba944bee52635","type":"change","z":"ab039c08ec3cef82","name":"PresetOff","rules":[{"t":"set","p":"payload","pt":"msg","to":"off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1680,"y":1020,"wires":[["a19d370e4fdeaa8e","1dc816bdd380d20d","e9e32c44a2031968"]]},{"id":"f454ad8eb2a8c4f5","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset1","topic":"mqtt/stat/preset/1","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":980,"wires":[]},{"id":"a19d370e4fdeaa8e","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset2","topic":"mqtt/stat/preset/2","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1020,"wires":[]},{"id":"1dc816bdd380d20d","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset3","topic":"mqtt/stat/preset/3","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1060,"wires":[]},{"id":"e9e32c44a2031968","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset4","topic":"mqtt/stat/preset/3","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1100,"wires":[]},{"id":"af39bf2c094f48b0","type":"inject","z":"ab039c08ec3cef82","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"Preset 1 On","payloadType":"str","x":1350,"y":980,"wires":[["acf6a62ed64e2b23"]]},{"id":"53438ef8fef7ede2","type":"switch","z":"ab039c08ec3cef82","name":"Preset2","property":"payload","propertyType":"jsonata","rules":[{"t":"regex","v":"Preset 2 On","vt":"str","case":true}],"checkall":"true","repair":false,"outputs":1,"x":1520,"y":1160,"wires":[["2a75a5fe85e81d12","9a376bde54b8d818"]]},{"id":"2a75a5fe85e81d12","type":"template","z":"ab039c08ec3cef82","name":"preset2=on","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{{Preset 2 On}}on","output":"str","x":1690,"y":1160,"wires":[["f2f9d39ea1940870"]]},{"id":"9a376bde54b8d818","type":"change","z":"ab039c08ec3cef82","name":"PresetOff","rules":[{"t":"set","p":"payload","pt":"msg","to":"off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1680,"y":1200,"wires":[["6d47e2363abddbd8","71989c26f9fb4ed1","89e15ea0533627d2"]]},{"id":"89e15ea0533627d2","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset1","topic":"mqtt/stat/preset/1","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1200,"wires":[]},{"id":"f2f9d39ea1940870","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset2","topic":"mqtt/stat/preset/2","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1160,"wires":[]},{"id":"6d47e2363abddbd8","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset3","topic":"mqtt/stat/preset/3","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1240,"wires":[]},{"id":"71989c26f9fb4ed1","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset4","topic":"mqtt/stat/preset/4","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1280,"wires":[]},{"id":"297f9310274244a6","type":"inject","z":"ab039c08ec3cef82","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"Preset 2 On","payloadType":"str","x":1350,"y":1160,"wires":[["53438ef8fef7ede2"]]},{"id":"b9c6c05b655ce69d","type":"mqtt in","z":"ab039c08ec3cef82","name":"","topic":"mqtt/stat/preset/1","qos":"2","datatype":"auto-detect","broker":"6876d831.1398f8","nl":false,"rap":true,"rh":0,"inputs":0,"x":2060,"y":980,"wires":[["05dfb8da43809b1b"]]},{"id":"a2ed3d1306e7b712","type":"mqtt in","z":"ab039c08ec3cef82","name":"","topic":"mqtt/stat/preset/2","qos":"2","datatype":"auto-detect","broker":"6876d831.1398f8","nl":false,"rap":true,"rh":0,"inputs":0,"x":2060,"y":1040,"wires":[["05dfb8da43809b1b"]]},{"id":"721beedd070b625a","type":"mqtt in","z":"ab039c08ec3cef82","name":"","topic":"mqtt/stat/preset/3","qos":"2","datatype":"auto-detect","broker":"6876d831.1398f8","nl":false,"rap":true,"rh":0,"inputs":0,"x":2060,"y":1100,"wires":[["05dfb8da43809b1b"]]},{"id":"d47214a341898a90","type":"mqtt in","z":"ab039c08ec3cef82","name":"","topic":"mqtt/stat/preset/4","qos":"2","datatype":"auto-detect","broker":"6876d831.1398f8","nl":false,"rap":true,"rh":0,"inputs":0,"x":2060,"y":1160,"wires":[["05dfb8da43809b1b"]]},{"id":"05dfb8da43809b1b","type":"debug","z":"ab039c08ec3cef82","name":"mqtt/stat/preset","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":2340,"y":1080,"wires":[]},{"id":"1d1977b6f8116e33","type":"switch","z":"ab039c08ec3cef82","name":"Preset3","property":"payload","propertyType":"jsonata","rules":[{"t":"regex","v":"Preset 3 On","vt":"str","case":true}],"checkall":"true","repair":false,"outputs":1,"x":1520,"y":1360,"wires":[["6b732f272fa2ecbb","33913f5772212543"]]},{"id":"6b732f272fa2ecbb","type":"template","z":"ab039c08ec3cef82","name":"preset3=on","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{{Preset 3 On}}on","output":"str","x":1690,"y":1360,"wires":[["b984a281b06ce195"]]},{"id":"33913f5772212543","type":"change","z":"ab039c08ec3cef82","name":"PresetOff","rules":[{"t":"set","p":"payload","pt":"msg","to":"off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1680,"y":1400,"wires":[["597f2515b0e60acd","b785653549facdcc","cea8e31916ad81a9"]]},{"id":"b785653549facdcc","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset1","topic":"mqtt/stat/preset/1","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1400,"wires":[]},{"id":"cea8e31916ad81a9","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset2","topic":"mqtt/stat/preset/2","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1440,"wires":[]},{"id":"b984a281b06ce195","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset3","topic":"mqtt/stat/preset/3","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1360,"wires":[]},{"id":"597f2515b0e60acd","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset4","topic":"mqtt/stat/preset/4","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1480,"wires":[]},{"id":"1dfdc0d92b724b11","type":"inject","z":"ab039c08ec3cef82","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"Preset 3 On","payloadType":"str","x":1350,"y":1360,"wires":[["1d1977b6f8116e33"]]},{"id":"e886716363e76919","type":"switch","z":"ab039c08ec3cef82","name":"Preset4","property":"payload","propertyType":"jsonata","rules":[{"t":"regex","v":"Preset 4 On","vt":"str","case":true}],"checkall":"true","repair":false,"outputs":1,"x":1520,"y":1540,"wires":[["4e86d1bc31e58d8e","bad7df2eed5f66c5"]]},{"id":"4e86d1bc31e58d8e","type":"template","z":"ab039c08ec3cef82","name":"preset4=on","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{{Preset 4 On}}on","output":"str","x":1690,"y":1540,"wires":[["dd209c8186be915f"]]},{"id":"bad7df2eed5f66c5","type":"change","z":"ab039c08ec3cef82","name":"PresetOff","rules":[{"t":"set","p":"payload","pt":"msg","to":"off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1680,"y":1580,"wires":[["317a01488e07b3a2","2115e9f6cd99ba18","4686451986fb3fbe"]]},{"id":"317a01488e07b3a2","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset1","topic":"mqtt/stat/preset/1","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1580,"wires":[]},{"id":"2115e9f6cd99ba18","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset2","topic":"mqtt/stat/preset/2","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1620,"wires":[]},{"id":"4686451986fb3fbe","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset3","topic":"mqtt/stat/preset/3","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1660,"wires":[]},{"id":"dd209c8186be915f","type":"mqtt out","z":"ab039c08ec3cef82","name":"Preset4","topic":"mqtt/stat/preset/4","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"6876d831.1398f8","x":1880,"y":1540,"wires":[]},{"id":"7f1bb7b8aa5d36c0","type":"inject","z":"ab039c08ec3cef82","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"Preset 4 On","payloadType":"str","x":1350,"y":1540,"wires":[["e886716363e76919"]]},{"id":"6876d831.1398f8","type":"mqtt-broker","name":"","broker":"192.168.16.5","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]

You could use a function node where you only inject the preset number you want to toggle and it will produce all the topics

const presetInput = msg.payload
const totalPresets = 4

for(let p = 1; p<=totalPresets;p++){
  const topic = 'mqtt/stat/preset/'+p
  let state = 'off'
  if(p == presetInput){
    state = 'on'
  }

  node.send({topic, payload:state})
}

return null 

Replace the debug node with an mqtt node and leave the topic empty:

[{"id":"0f05367d12d80c13","type":"inject","z":"f6f2187d.f17ca8","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1","payloadType":"num","x":330,"y":200,"wires":[["513896ddb5fdde6e"]]},{"id":"fd4461ef4b0fbf55","type":"debug","z":"f6f2187d.f17ca8","name":"debug 1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":720,"y":260,"wires":[]},{"id":"513896ddb5fdde6e","type":"function","z":"f6f2187d.f17ca8","name":"toggle presets","func":"const presetInput = msg.payload\nconst totalPresets = 4\n\nfor(let p = 1; p<=totalPresets;p++){\n  const topic = 'mqtt/stat/preset/'+p\n  let state = 'off'\n  if(p == presetInput){\n    state = 'on'\n  }\n\n  node.send({topic, payload:state})\n}\n\nreturn null ","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":260,"wires":[["fd4461ef4b0fbf55"]]},{"id":"86c95b1bf7efdea8","type":"inject","z":"f6f2187d.f17ca8","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"2","payloadType":"num","x":330,"y":240,"wires":[["513896ddb5fdde6e"]]},{"id":"f9dcb7305dac1938","type":"inject","z":"f6f2187d.f17ca8","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"3","payloadType":"num","x":330,"y":280,"wires":[["513896ddb5fdde6e"]]},{"id":"c86e8e7b06ae2973","type":"inject","z":"f6f2187d.f17ca8","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"4","payloadType":"num","x":330,"y":320,"wires":[["513896ddb5fdde6e"]]}]

Hi bakman2,

thank you for the reply and working well.

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