I think I figured it out, do you mind looking at it to see if it makes sense/isnt flaky?
[{"id":"3f212665.7f3d9a","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"7da1353d.c0389c","type":"function","z":"3f212665.7f3d9a","name":"Dynamic Range","func":"var value = msg.payload; //value to be ranged\n//range limits:\nvar inputrange = msg.inputrange || [0,10];//expected range of input value. an array containing min and max. default to 0-100\nvar outputrange = flow.get('outputrange') || [0,1000] // range into the value to be converted. an array containing min and max. default to 0-1000\n\n// brain of the whole thing. hard work is done here\nconst mapNumber = (number, in_min, in_max, out_min, out_max) => {\n return (number - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;\n};\n// here how the brain is used\nvar output = mapNumber(value,inputrange[0],inputrange[1],outputrange[0],outputrange[1]);\n// hard work is done, place the ranged number into outgoing msg payload\nmsg.payload = output;\nreturn msg;","outputs":1,"noerr":0,"x":800,"y":300,"wires":[["8f39b044.c2441","83dbd0d6.d7e22"]]},{"id":"8f39b044.c2441","type":"debug","z":"3f212665.7f3d9a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1290,"y":300,"wires":[]},{"id":"9f274cef.126c6","type":"comment","z":"3f212665.7f3d9a","name":"MESSY EXAMPLE - Open comment to see notes","info":"","x":260,"y":60,"wires":[]},{"id":"2ad442dc.7196de","type":"ui_text_input","z":"3f212665.7f3d9a","name":"Variable Output","label":"Variable Output","tooltip":"","group":"aee2863e.bee688","order":2,"width":14,"height":1,"passthru":true,"mode":"number","delay":300,"topic":"","x":140,"y":480,"wires":[["fc717c54.a8c71"]]},{"id":"c7cbb32f.51421","type":"groov-io-read","z":"3f212665.7f3d9a","device":"480e5a19.2351e4","dataType":"channel-analog","moduleIndex":"0","channelIndex":"1","mmpAddress":"0xF0D81000","mmpType":"int32","mmpLength":"1","mmpEncoding":"ascii","value":"","valueType":"msg.payload","itemName":"","name":"Speed Reference [AI]","x":440,"y":260,"wires":[["26fd3fff.bdbcf"]]},{"id":"5124dfae.d3163","type":"inject","z":"3f212665.7f3d9a","name":"","topic":"","payload":"10","payloadType":"num","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":150,"y":300,"wires":[["7da1353d.c0389c"]]},{"id":"a4426b97.25d488","type":"function","z":"3f212665.7f3d9a","name":"Put Max range output into array","func":"msg.payload = [0, (parseFloat(flow.get (\"maxrangeout\")))];\nreturn msg;\n\n\n\n//var val1 = parseInt(flow.get(\"val1\") || \"0\");\n//msg.payload = parseInt(flow.get(\"val2\") || \"0\") * val1;\n//return msg;","outputs":1,"noerr":0,"x":770,"y":480,"wires":[["6cfeca1e.04f114"]]},{"id":"fc717c54.a8c71","type":"change","z":"3f212665.7f3d9a","name":"","rules":[{"t":"set","p":"maxrangeout","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":480,"wires":[["a4426b97.25d488"]]},{"id":"6cfeca1e.04f114","type":"change","z":"3f212665.7f3d9a","name":"","rules":[{"t":"set","p":"outputrange","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1100,"y":480,"wires":[[]]},{"id":"26fd3fff.bdbcf","type":"ui_artlessgauge","z":"3f212665.7f3d9a","group":"f4b6d5b4.0bc498","order":12,"width":8,"height":1,"name":"Speed Reference","icon":"fa-bolt","label":"Speed Reference","unit":"VOLTS","layout":"linear","decimals":"2","differential":false,"minmax":false,"colorTrack":"#555555","colorFromTheme":true,"property":"payload","sectors":[{"val":0,"col":"#ee343f","t":"min","dot":0},{"val":10,"col":"#ee343f","t":"max","dot":0}],"lineWidth":"5","bgcolorFromTheme":true,"diffCenter":"0","x":450,"y":220,"wires":[]},{"id":"83dbd0d6.d7e22","type":"ui_artlessgauge","z":"3f212665.7f3d9a","group":"f4b6d5b4.0bc498","order":2,"width":4,"height":4,"name":"Converted Range","icon":"fa-tint","label":"Converted Range","unit":"TPH","layout":"radial","decimals":"2","differential":false,"minmax":false,"colorTrack":"#555555","colorFromTheme":true,"property":"payload","sectors":[{"val":0,"col":"#ee343f","t":"min","dot":0},{"val":50,"col":"#ee343f","t":"max","dot":0}],"lineWidth":3,"bgcolorFromTheme":true,"diffCenter":"","x":790,"y":260,"wires":[]},{"id":"b99f06d0.f514b8","type":"comment","z":"3f212665.7f3d9a","name":"The 'Number' portion of the conversion equation","info":"Instead of injecting a single digit, I will be using a 0-10VDC signal.","x":460,"y":180,"wires":[]},{"id":"abab23bf.5eaf1","type":"comment","z":"3f212665.7f3d9a","name":"Dynamic Range","info":"No need to adjust the Inputrange min/max as my 'Speed Reference' has a fixed upper and lower range (0-10V)","x":800,"y":340,"wires":[]},{"id":"47c4cb1e.d67ff4","type":"comment","z":"3f212665.7f3d9a","name":"Max Output ","info":"User can manipulate the Max Output range through dashboard","x":130,"y":440,"wires":[]},{"id":"5cf06fdf.66844","type":"comment","z":"3f212665.7f3d9a","name":"Max Output Number Change","info":"Takes the Max Output Range and puts into an array","x":820,"y":440,"wires":[]},{"id":"aee2863e.bee688","type":"ui_group","z":"","name":"Calibration","tab":"8e1333b9.b898d","order":4,"disp":true,"width":30,"collapse":false},{"id":"480e5a19.2351e4","type":"groov-io-device","z":"","address":"localhost","msgQueueFullBehavior":"DROP_OLD"},{"id":"f4b6d5b4.0bc498","type":"ui_group","z":"","name":"AC System","tab":"8e1333b9.b898d","order":1,"disp":true,"width":"8","collapse":false},{"id":"8e1333b9.b898d","type":"ui_tab","z":"","name":"Home","icon":"dashboard","disabled":false,"hidden":false}]