Weird drop down question

Ok, so I have 3 sensor readings coming in, East Ferm, West Fermenter, Center Fermenter.
I am using data to control the co2 supply for when i carbonating.
however i have a 4thd valve that moves from one fermenter to another.
I want to control how much psi is in which ever tank the 4th valve is connected to.
is there a way to have all 3 tank pressure readings go into a drop down selector ?
I do have the sensor readings set to global.. is there a way to bring them in and be able to select which one is the actual pressure?
not really sure I worded this correctly.

I am trying to understand you logic, but, I am not sure of all. maybe if you share a diagram or draw... I am sure that someone can help.

ok here is flow for controlling a specific fermenter,
im controlling the Co2 psi so I can carbonate to a specific psi for consistency.
i want to use the actual readings of all 3 tanks and choose which one my 4th valve has to monitor when im kegging. (i use co2 pressure to push out of fermenter.)

[{"id":"f6f29bd9d8fb1768","type":"group","z":"f6858fe416b029b9","name":"CARBONATION CONTROL","style":{"stroke":"#000000","fill":"#ffff7f","fill-opacity":"0.5","label":true,"color":"#000000"},"nodes":["2e6eddc1b66beac7","93c4c4d3d3329ce2","c045c3aaa748e693","936684b58b23bc4c","dd189770ad0067c5","57d8a27fc2390428","4fbc3457bc170943","4cacfc3b42b922ef","d4f0d0c4d2482992","35184d2bcb02b44b","2e18aa9bf7e0410f","7c3aa7c09e0d95fb","489e43aad1e03e2e","47765ffe2b84468a","9cb571146ffc3d4d","e4d8cb9da3dd71ab","74d1775672bf95ed"],"x":1018.7045822143555,"y":832.568528175354,"w":795.6249170303345,"h":274.89557552337646},{"id":"2e6eddc1b66beac7","type":"change","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"Wco2target","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1253.6150131225586,"y":1050.8201942443848,"wires":[["93c4c4d3d3329ce2","c045c3aaa748e693"]]},{"id":"93c4c4d3d3329ce2","type":"debug","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1425.0015182495117,"y":1066.4641036987305,"wires":[]},{"id":"c045c3aaa748e693","type":"change","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","rules":[{"t":"set","p":"Wco2target","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1450.6308212280273,"y":1028.9928550720215,"wires":[[]]},{"id":"936684b58b23bc4c","type":"switch","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","property":"Wco2target","propertyType":"global","rules":[{"t":"lte","v":"Wactco2","vt":"global"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":1309.914707183838,"y":908.938027381897,"wires":[["dd189770ad0067c5","4fbc3457bc170943"],["57d8a27fc2390428"]]},{"id":"dd189770ad0067c5","type":"change","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"on","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1481.3487243652344,"y":919.4389848709106,"wires":[["4cacfc3b42b922ef","7c3aa7c09e0d95fb"]]},{"id":"57d8a27fc2390428","type":"change","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1478.8803939819336,"y":960.3529100418091,"wires":[["d4f0d0c4d2482992","7c3aa7c09e0d95fb"]]},{"id":"4fbc3457bc170943","type":"debug","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1468.8706512451172,"y":885.3314657211304,"wires":[]},{"id":"4cacfc3b42b922ef","type":"debug","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1664.3247680664062,"y":894.7045698165894,"wires":[]},{"id":"d4f0d0c4d2482992","type":"debug","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1659.426383972168,"y":982.907826423645,"wires":[]},{"id":"35184d2bcb02b44b","type":"ui_dropdown","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","label":"","tooltip":"","place":"Select option","group":"10c36bea9197e264","order":6,"width":4,"height":1,"passthru":true,"multiple":false,"options":[{"label":"10","value":"10","type":"str"},{"label":"12","value":"12","type":"str"},{"label":"8","value":"8","type":"str"},{"label":"9","value":"9","type":"str"},{"label":"Off","value":"0","type":"str"}],"payload":"","topic":"target_temperature","x":1104.7045822143555,"y":1050.3705139160156,"wires":[["2e6eddc1b66beac7"]]},{"id":"2e18aa9bf7e0410f","type":"change","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","rules":[{"t":"set","p":"Wactco2","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1138.6770553588867,"y":909.1629247665405,"wires":[["936684b58b23bc4c"]]},{"id":"7c3aa7c09e0d95fb","type":"change","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"cmnd/tas04/POWER2","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1661.7609672546387,"y":936.8456344604492,"wires":[["489e43aad1e03e2e"]]},{"id":"489e43aad1e03e2e","type":"link out","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"Wfermco2 to mqtt out","mode":"link","links":["fdde7cd3d4a6c237"],"x":1773.32949924469,"y":937.0765981674194,"wires":[]},{"id":"47765ffe2b84468a","type":"link in","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","links":["e091bbf204b067fd"],"x":1060.6775531768799,"y":971.5499601364136,"wires":[["e4d8cb9da3dd71ab"]]},{"id":"9cb571146ffc3d4d","type":"ui_led","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","order":8,"group":"10c36bea9197e264","width":5,"height":1,"label":"Co2 Valve ","labelPlacement":"left","labelAlignment":"center","colorForValue":[{"color":"#ff0000","value":"false","valueType":"str"},{"color":"#008000","value":"true","valueType":"str"}],"allowColorForValueInMessage":true,"shape":"square","showGlow":true,"name":"","x":1329.4295692443848,"y":979.338755607605,"wires":[]},{"id":"e4d8cb9da3dd71ab","type":"change","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"ON","fromt":"str","to":"true","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"OFF","fromt":"str","to":"false","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1174.595516204834,"y":972.7303972244263,"wires":[["9cb571146ffc3d4d"]]},{"id":"74d1775672bf95ed","type":"link in","z":"f6858fe416b029b9","g":"f6f29bd9d8fb1768","name":"","links":["af7b42134d95a389"],"x":1065.9897384643555,"y":873.568528175354,"wires":[["2e18aa9bf7e0410f"]]},{"id":"10c36bea9197e264","type":"ui_group","name":"WestFermenter2new","tab":"a74ffe3d.4eb73","order":5,"disp":true,"width":24,"collapse":false},{"id":"a74ffe3d.4eb73","type":"ui_tab","name":"Brewery","icon":"dashboard","order":1,"disabled":false,"hidden":false}]

in other words when im kegging beer from a fermenter, i need to monitor that pressure, and only add more co2 to that tank when needed.
I only have one valve that moves from tank to tank for this procedure.
my three payloads are
global.Wactco2
global.Cactco2
global.Eactco2
on the standard dropdown for dashboard it only allows string, number, or Boolean.
when I am kegging i would like to select which fermenter im kegging. so i dont over pressure the fermenter.

If you read the help text for the dropdown node you can use msg.options to set the selection, and leave the options in the node blank. There is an example of the format in the help text. You would create a msg.options every time you receive a new value, then feed the new msg.option into the dropdown node.

ok ill go read that, im not following what your saying but im sure your sending me in the correct direction.

I dont follow how to choose which message to choose from when needed with that @E1cid

Here is an example, it creates a msg.options and updates the dropdown every time a new reading is received. Hope it helps

[{"id":"f4f6b538.d3acc8","type":"inject","z":"aa4e304feff52ade","name":"reading 1","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"reading1","payload":"$round($random()*10)+10","payloadType":"jsonata","x":180,"y":420,"wires":[["8c4ae30.09e06a","3e9a0310.b4caf4"]]},{"id":"8c4ae30.09e06a","type":"join","z":"aa4e304feff52ade","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":220,"y":580,"wires":[["3400a89f.6116"]]},{"id":"3e9a0310.b4caf4","type":"debug","z":"aa4e304feff52ade","name":"rest of flow","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":510,"y":420,"wires":[]},{"id":"a6978e15.902a38","type":"inject","z":"aa4e304feff52ade","name":"reading2","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"reading2","payload":"$round($random()*10)+10","payloadType":"jsonata","x":190,"y":460,"wires":[["8c4ae30.09e06a","3e9a0310.b4caf4"]]},{"id":"3400a89f.6116","type":"change","z":"aa4e304feff52ade","name":"","rules":[{"t":"set","p":"options","pt":"msg","to":"$keys($$.payload).($value := $lookup($$.payload, $);\t    {$ & \"-\" & $value: $value})","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":580,"wires":[["8aabb37d.05409","5ad0e74c.cc0858"]]},{"id":"8aabb37d.05409","type":"ui_dropdown","z":"aa4e304feff52ade","name":"","label":"","tooltip":"","place":"Select option","group":"2d4fe667.28f8ba","order":10,"width":0,"height":0,"passthru":false,"multiple":false,"options":[],"payload":"","topic":"topic","topicType":"msg","className":"","x":610,"y":580,"wires":[["aa8a36ba.6d8908"]]},{"id":"5ad0e74c.cc0858","type":"debug","z":"aa4e304feff52ade","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"options","targetType":"msg","statusVal":"","statusType":"auto","x":570,"y":500,"wires":[]},{"id":"aa8a36ba.6d8908","type":"debug","z":"aa4e304feff52ade","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":640,"y":660,"wires":[]},{"id":"2d4fe667.28f8ba","type":"ui_group","name":"demo","tab":"1caa8458.b17814","order":1,"disp":true,"width":"12","collapse":false},{"id":"1caa8458.b17814","type":"ui_tab","name":"Demo","icon":"dashboard","order":1,"disabled":false,"hidden":false}]

It could be simpler if you do not need to know where the reading came from, i.e just the values in an array.

Here's another way to do it with basic nodes.

[{"id":"882ca384.63ba4","type":"change","z":"e41067e6.0e18c8","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"options","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":140,"wires":[["7c1ff520.5afc8c","38e66698.730a6a"]]},{"id":"7c1ff520.5afc8c","type":"ui_dropdown","z":"e41067e6.0e18c8","name":"","label":"","tooltip":"","place":"Select option","group":"2d4fe667.28f8ba","order":17,"width":"4","height":"1","passthru":true,"multiple":false,"options":[{"label":"","value":"","type":"str"}],"payload":"","topic":"topic","topicType":"msg","className":"","x":640,"y":140,"wires":[["430aa46b.7d2c9c"]]},{"id":"38e66698.730a6a","type":"debug","z":"e41067e6.0e18c8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"options","targetType":"msg","statusVal":"","statusType":"auto","x":650,"y":100,"wires":[]},{"id":"430aa46b.7d2c9c","type":"debug","z":"e41067e6.0e18c8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":810,"y":140,"wires":[]},{"id":"dd048bb157c57274","type":"inject","z":"e41067e6.0e18c8","name":"option set 1","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[{\"Choice A\":\"1\"},{\"Choice B\":\"2\"},{\"Choice C\":\"3\"}]","payloadType":"json","x":250,"y":140,"wires":[["882ca384.63ba4"]]},{"id":"2d4fe667.28f8ba","type":"ui_group","name":"demo","tab":"1caa8458.b17814","order":1,"disp":true,"width":"4","collapse":false,"className":""},{"id":"1caa8458.b17814","type":"ui_tab","name":"Demo","icon":"dashboard","disabled":false,"hidden":false}]

ok so I jut bring in the payloads form the linked in nodes.
i separate the messages in a function node.
should i just join them in the function node for this control instead of using the join?
im assuming they need to be placed in an array.

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];

should i do " let msg4 = {},{},{}; " to set an array?

You can join them anyway you wish, you could also send them to a different output of a function node if you wish.

const msg4 = {};
msg4.options = [{POWER1: msg.payload.POWER1},{etc},{etc}];

And add msg4 to the return, and add your dropdown to the 5th output.

Assuming they all arrive at same time in the function node, or you may need to use context storage.

i shared the wrong function node. lol here is correct. and I have already modded to join the 3 together with msg4

let msg0 = {};
let msg1 = {};
let msg2 = {};
let msg3 = {};
let msg4 = {};
function myfunction(sensorValue) {
    let volts = sensorValue * 0.1875 / 1000
    let psi = (volts - 0.5) * 30 / 4 // replace "30" with ever your max is on your transducer also assuming your range is 0.5-4.5 volts 
    return {
        'sensorValue': sensorValue,
        'psi': psi >= 0 ? psi : 0,
        'volts': volts,
     }
}
msg0.payload = myfunction(msg.payload.ADS1115.A0);
msg1.payload = myfunction(msg.payload.ADS1115.A1);
msg2.payload = myfunction(msg.payload.ADS1115.A2);
msg3.payload = myfunction(msg.payload.ADS1115.A3);
msg4.payload = [msg0.payload, msg1.payload, msg2.payload]; 



return [msg0, msg1, msg2, msg3, msg4];

just need to set option

You neglect to say what you wish the options to be. What info do you want in the options {label?: value/values/string/object/array/etc?}

Just labeling the name of the fermenters.
here is debug from changes.

[{"sensorValue":12049,"psi":13.19390625,"volts":2.2591875},{"sensorValue":2571,"psi":0,"volts":0.4820625},{"sensorValue":11064,"psi":11.80875,"volts":2.0745}]
let msg0 = {};
let msg1 = {};
let msg2 = {};
let msg3 = {};
let msg4 = {};
function myfunction(sensorValue) {
    let volts = sensorValue * 0.1875 / 1000
    let psi = (volts - 0.5) * 30 / 4 // replace "30" with ever your max is on your transducer also assuming your range is 0.5-4.5 volts 
    return {
        'sensorValue': sensorValue,
        'psi': psi >= 0 ? psi : 0,
        'volts': volts,
     }
}
msg0.payload = myfunction(msg.payload.ADS1115.A0);
msg1.payload = myfunction(msg.payload.ADS1115.A1);
msg2.payload = myfunction(msg.payload.ADS1115.A2);
msg3.payload = myfunction(msg.payload.ADS1115.A3);
msg4.payload = [msg0.payload, msg1.payload, msg2.payload]; 

msg4.options = [{WestFerm : msg0.payload}, {CenterFerm : msg1.payload}, {EastFerm : msg2.payload}];

return [msg0, msg1, msg2, msg3, msg4];

That should work, what do you see in debug connected to output five and set to msg.options?

[{"WestFerm":{"sensorValue":-808,"psi":0,"volts":-0.1515}},{"CenterFerm":{"sensorValue":2636,"psi":0,"volts":0.49425}},{"EastFerm":{"sensorValue":11634,"psi":12.610312500000001,"volts":2.181375}}]

Looks OK to me, does it display in the drop down? Make sure you uncheck pass through message.

ok i just realized im going to have an issue still
i only need the "psi" from those payloads.
im going to make a function node that joins the global msg instead of in this function node.
it will simplify

So just add psi msg0.payload.psi etc

ok im still missing someting for setting options for dropdown.