I did get message set the way I needed. I used function node
here is flow
[{"id":"c68e95a9daba011e","type":"mqtt in","z":"a83eb32ba827c55d","name":"valve status","topic":"tele/tas04/STATE","qos":"2","datatype":"json","broker":"8db3fac0.99dd48","nl":false,"rap":true,"rh":0,"inputs":0,"x":712,"y":725,"wires":[["1b56672ceb1fdc4f","f03e45e260f969c1"]]},{"id":"f03e45e260f969c1","type":"function","z":"a83eb32ba827c55d","name":"Fermenters Pressure","func":"let msg0 = {};\nlet msg1 = {};\nlet msg2 = {};\nlet msg3 = {};\n\nmsg0.payload = msg.payload.POWER1;\nmsg1.payload = msg.payload.POWER2;\nmsg2.payload = msg.payload.POWER3;\nmsg3.payload = msg.payload.POWER4;\n\nmsg0.topic = \"POWER1\"\nmsg1.topic = \"POWER2\"\nmsg2.topic = \"POWER3\"\nmsg3.topic = \"POWER4\"\nreturn [msg0, msg1, msg2, msg3];\n","outputs":4,"noerr":0,"initialize":"","finalize":"","libs":[],"x":810,"y":890,"wires":[["40cc6491facd9bb6"],["06aa6bf4b71bc3d0"],["e5cf61990eb748fa"],["dd12bbf24019c3bd"]]},{"id":"8db3fac0.99dd48","type":"mqtt-broker","name":"","broker":"localhost","port":"1883","clientid":"RailPI","autoConnect":true,"usetls":false,"compatmode":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"1","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]
here is function I wrote
let msg0 = {};
let msg1 = {};
let msg2 = {};
let msg3 = {};
msg0.payload = msg.payload.POWER1;
msg1.payload = msg.payload.POWER2;
msg2.payload = msg.payload.POWER3;
msg3.payload = msg.payload.POWER4;
msg0.topic = "POWER1"
msg1.topic = "POWER2"
msg2.topic = "POWER3"
msg3.topic = "POWER4"
return [msg0, msg1, msg2, msg3];
however im still stumped on why this esp sends a logging message instead of a power message.
I guess ill have to play with commands to see if i can turn each valve on and off by themselves when i get back to brewery.