Took me a while to work through many "almost" iterations, but I finally got a working two-stage vibratory feeder flow. The refill feeder dispenses material to a scale (up the the payload.max_wt amount). Once that amount is there (> 18 in my example), then the Gate node closes off the refill flow and the weigh vibratory flow dispenses the prescribed amount in 30 seconds using the Trigger node. In my flow, 7 (on the refill vibratory flow) represents 7 volts and 5.5 (on the weigh vibratory flow) represents 5.5 volts, and 4 is the weight amount to be dispensed in 30 seconds. If 4 kg is dispensed in 3 seconds, then the weigh vibratory unit goes from 5.5 to 0 for the next 27 seconds. Once the scale gets down below 5 kg, then the Gate node closes and the refill vibratory flow takes over.
Thanks again to Colin for his help.
[{"id":"b6e79918d2e48f56","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"06bfbb799d34dbd3","type":"inject","z":"b6e79918d2e48f56","name":"Start","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"30.01","crontab":"","once":true,"onceDelay":0.1,"topic":"Start","payload":"true","payloadType":"bool","x":610,"y":1020,"wires":[["3b3818b1eadfc1ed"]]},{"id":"c60bfd15732cbd6b","type":"inject","z":"b6e79918d2e48f56","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"16","payloadType":"num","x":110,"y":920,"wires":[["f5286e4882762fc6","edbd3f19d04c407c","dddaed5467c4abe5"]]},{"id":"2d7caab6fe7644ea","type":"inject","z":"b6e79918d2e48f56","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"14","payloadType":"num","x":110,"y":960,"wires":[["f5286e4882762fc6","edbd3f19d04c407c","dddaed5467c4abe5"]]},{"id":"480f5d9350c6e318","type":"inject","z":"b6e79918d2e48f56","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"13","payloadType":"num","x":110,"y":1000,"wires":[["f5286e4882762fc6","edbd3f19d04c407c","dddaed5467c4abe5"]]},{"id":"837899fb20024765","type":"inject","z":"b6e79918d2e48f56","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"12","payloadType":"num","x":110,"y":1040,"wires":[["f5286e4882762fc6","edbd3f19d04c407c","dddaed5467c4abe5"]]},{"id":"f5286e4882762fc6","type":"change","z":"b6e79918d2e48f56","name":"topic: weight","rules":[{"t":"set","p":"topic","pt":"msg","to":"weight","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":970,"y":1460,"wires":[["b0a90f1aaf77c6cb"]]},{"id":"6b4aaae2df611ed3","type":"trigger","z":"b6e79918d2e48f56","name":"","op1":"5.5","op2":"0","op1type":"num","op2type":"num","duration":"30","extend":false,"overrideDelay":false,"units":"s","reset":"0","bytopic":"all","topic":"topic","outputs":1,"x":1150,"y":1020,"wires":[["e586b26490e05add","fada2203c738703d"]]},{"id":"fada2203c738703d","type":"debug","z":"b6e79918d2e48f56","name":"Weigh Vibrator","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1620,"y":1020,"wires":[]},{"id":"2202f10719fa5dcf","type":"inject","z":"b6e79918d2e48f56","name":"Amount to dispense","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"dispense","payload":"4","payloadType":"num","x":1070,"y":1200,"wires":[["b0a90f1aaf77c6cb"]]},{"id":"b0a90f1aaf77c6cb","type":"join","z":"b6e79918d2e48f56","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1330,"y":1200,"wires":[["2782c4ddfd62418f","2102e201a7f9ac45"]]},{"id":"e586b26490e05add","type":"change","z":"b6e79918d2e48f56","name":"topic: state","rules":[{"t":"set","p":"topic","pt":"msg","to":"state","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1290,"y":1080,"wires":[["b0a90f1aaf77c6cb"]]},{"id":"2782c4ddfd62418f","type":"function","z":"b6e79918d2e48f56","name":"Done?","func":"/* Determines whether vibration is complete and sends \"Off\" when it is\n * msg.payload.state contains vibration state \"On\" or \"Off\"\n * msg.payload.weight contains current weight measurement\n * msg.payload.dispense contains amount to dispense\n * \n*/\nlet initial = context.get(\"initial\") || msg.payload.weight // pick up starting weight from saved value\n// if not running just keep track of current weight\nif (msg.payload.state === 0) {\n initial = msg.payload.weight\n msg = null // so nothing will be sent at the end\n} else if (initial - msg.payload.dispense < msg.payload.weight) {\n msg = null // don't send anything as it is already on, or has been turned off by the Trigger node\n} else \n{\n msg.payload = 0\n}\n\ncontext.set(\"initial\", initial)\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1470,"y":1160,"wires":[["72c41203ce0ad505","fada2203c738703d"]]},{"id":"72c41203ce0ad505","type":"link out","z":"b6e79918d2e48f56","name":"Reset trigger","links":["bedf876359d48735"],"x":1535,"y":1220,"wires":[]},{"id":"bedf876359d48735","type":"link in","z":"b6e79918d2e48f56","name":"reset","links":["72c41203ce0ad505"],"x":1035,"y":920,"wires":[["6b4aaae2df611ed3","e586b26490e05add"]]},{"id":"9c83c621999b95eb","type":"comment","z":"b6e79918d2e48f56","name":"Reset trigger","info":"","x":1070,"y":880,"wires":[]},{"id":"5331e978845b9b76","type":"comment","z":"b6e79918d2e48f56","name":"Values from scale","info":"","x":120,"y":760,"wires":[]},{"id":"f3b51c51b8c47cff","type":"inject","z":"b6e79918d2e48f56","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"10","payloadType":"num","x":110,"y":1080,"wires":[["f5286e4882762fc6","edbd3f19d04c407c","dddaed5467c4abe5"]]},{"id":"b2e75279177be22d","type":"inject","z":"b6e79918d2e48f56","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"7","payloadType":"num","x":109.00867462158203,"y":1117.001708984375,"wires":[["f5286e4882762fc6","edbd3f19d04c407c","dddaed5467c4abe5"]]},{"id":"5640c15684dd97d1","type":"inject","z":"b6e79918d2e48f56","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"18","payloadType":"num","x":110,"y":880,"wires":[["f5286e4882762fc6","edbd3f19d04c407c","dddaed5467c4abe5"]]},{"id":"97876c426ceaabb8","type":"inject","z":"b6e79918d2e48f56","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"6","payloadType":"num","x":110,"y":1160,"wires":[["f5286e4882762fc6","edbd3f19d04c407c","dddaed5467c4abe5"]]},{"id":"edbd3f19d04c407c","type":"switch","z":"b6e79918d2e48f56","name":"","property":"payload","propertyType":"msg","rules":[{"t":"lte","v":"5","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":650,"y":1160,"wires":[["943cfced7d427d18"]]},{"id":"33cae89e2e55ce7d","type":"inject","z":"b6e79918d2e48f56","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"5","payloadType":"num","x":110,"y":1200,"wires":[["f5286e4882762fc6","edbd3f19d04c407c","dddaed5467c4abe5"]]},{"id":"f1d58095f636e15d","type":"inject","z":"b6e79918d2e48f56","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"4","payloadType":"num","x":110,"y":1240,"wires":[["f5286e4882762fc6","edbd3f19d04c407c","dddaed5467c4abe5"]]},{"id":"3b3818b1eadfc1ed","type":"gate","z":"b6e79918d2e48f56","name":"WeighFeederGate","controlTopic":"control","defaultState":"open","openCmd":"open","closeCmd":"close","toggleCmd":"toggle","defaultCmd":"default","statusCmd":"status","persist":false,"storeName":"memory","x":930,"y":1020,"wires":[["6b4aaae2df611ed3"]]},{"id":"943cfced7d427d18","type":"change","z":"b6e79918d2e48f56","name":"Close Gate","rules":[{"t":"set","p":"payload","pt":"msg","to":"close","tot":"str"},{"t":"set","p":"topic","pt":"msg","to":"control","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":1080,"wires":[["3b3818b1eadfc1ed"]]},{"id":"0fd22328387781be","type":"change","z":"b6e79918d2e48f56","name":"Open Gate","rules":[{"t":"set","p":"payload","pt":"msg","to":"open","tot":"str"},{"t":"set","p":"topic","pt":"msg","to":"control","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":750,"y":960,"wires":[["3b3818b1eadfc1ed"]]},{"id":"f60e30563b3534b9","type":"link in","z":"b6e79918d2e48f56","name":"","links":["2c2f2a6ec379f3d4","28e86387fbfb684a"],"x":655,"y":860,"wires":[["0fd22328387781be"]]},{"id":"44fbb9d7068cb291","type":"inject","z":"b6e79918d2e48f56","name":"Max weight for scale","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"max_wt","payload":"18","payloadType":"num","x":510,"y":540,"wires":[["75a63341a8fbf2c7"]]},{"id":"dddaed5467c4abe5","type":"change","z":"b6e79918d2e48f56","name":"topic: weight","rules":[{"t":"set","p":"topic","pt":"msg","to":"weight","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":600,"wires":[["75a63341a8fbf2c7"]]},{"id":"d25723b3f289dac8","type":"debug","z":"b6e79918d2e48f56","name":"Refill Vibrator","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1480,"y":480,"wires":[]},{"id":"7b6bfdd9d096799c","type":"switch","z":"b6e79918d2e48f56","name":"","property":"payload.weight","propertyType":"msg","rules":[{"t":"lte","v":"payload.max_wt","vt":"msg"},{"t":"gt","v":"payload.max_wt","vt":"msg"}],"checkall":"true","repair":false,"outputs":2,"x":1110,"y":520,"wires":[["2337d05af81d7251"],["fe1fadd118b151c7"]]},{"id":"2337d05af81d7251","type":"change","z":"b6e79918d2e48f56","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"7","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1280,"y":480,"wires":[["d25723b3f289dac8"]]},{"id":"fe1fadd118b151c7","type":"change","z":"b6e79918d2e48f56","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1280,"y":560,"wires":[["2d8fc5e4c97a25d7","28e86387fbfb684a"]]},{"id":"2d8fc5e4c97a25d7","type":"debug","z":"b6e79918d2e48f56","name":"Refill Vibrator","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1480,"y":560,"wires":[]},{"id":"28e86387fbfb684a","type":"link out","z":"b6e79918d2e48f56","name":"","links":["f60e30563b3534b9"],"x":1415,"y":620,"wires":[]},{"id":"75a63341a8fbf2c7","type":"join","z":"b6e79918d2e48f56","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":710,"y":560,"wires":[["776c453bee3cbbc3"]]},{"id":"ee6109c11c5db6a1","type":"comment","z":"b6e79918d2e48f56","name":"Weigh Vibratory Feeder","info":"","x":520,"y":900,"wires":[]},{"id":"fb62f965ccae7417","type":"comment","z":"b6e79918d2e48f56","name":"Refill Vibratory Feeder","info":"","x":560,"y":400,"wires":[]},{"id":"725a54b4f3677aa7","type":"inject","z":"b6e79918d2e48f56","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"19","payloadType":"num","x":110,"y":840,"wires":[["edbd3f19d04c407c","f5286e4882762fc6","dddaed5467c4abe5"]]},{"id":"7a53348ba2265f65","type":"status","z":"b6e79918d2e48f56","name":"","scope":["3b3818b1eadfc1ed"],"x":520,"y":480,"wires":[["4299365811c6c21c"]]},{"id":"776c453bee3cbbc3","type":"gate","z":"b6e79918d2e48f56","name":"RefillFeederGate","controlTopic":"control","defaultState":"closed","openCmd":"open","closeCmd":"close","toggleCmd":"toggle","defaultCmd":"close","statusCmd":"status","persist":false,"storeName":"memory","x":930,"y":520,"wires":[["7b6bfdd9d096799c"]]},{"id":"4299365811c6c21c","type":"function","z":"b6e79918d2e48f56","name":"","func":"var status_fill= msg.status.fill;\nmsg.topic=\"control\";\nif(status_fill==\"green\")\n{\n msg.payload=\"close\";\n}\nelse\n{\n msg.payload=\"open\";\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":720,"y":480,"wires":[["776c453bee3cbbc3"]]},{"id":"2102e201a7f9ac45","type":"debug","z":"b6e79918d2e48f56","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1440,"y":1280,"wires":[]}]