Hello!
Scenario.
I have a petrol power generator triggered with two switches (for security).
Flow:
Inject 'on' > Switch 1 turn on Switch 2 turn on > delay > Switch 1 and 2 turn off > check if genny is running via sensor > Then repeat three times till Generator sensor present on or abort.
Flow works great till I add the function node with repeat (The generic repeat node isnt working either, so uninstalled).
The genny start process is flawless.
If genny doesnt start, the loop starts. But goes nuts with multiple retry attempts and gets stuck requiring a re-deploy of Node red to stop it.
It seems like multiple messages are cannoning around the flow and multiplying faster than the delay times in the flow, making me think the delay nodes arent delaying all messages and the repeat function isnt successfully stopping too.
Heres the flow:
[{"id":"567b337a.8d2014","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"25f690e2.cb1fc","type":"api-call-service","z":"567b337a.8d2014","name":"Start key 2","server":"8ab15128.bb899","version":1,"debugenabled":false,"service_domain":"switch","service":"turn_on","entityId":"switch.genny_on_engine_wifinode","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1230,"y":180,"wires":[["dc52a12e.b010d"]]},{"id":"12b563f4.61b884","type":"api-call-service","z":"567b337a.8d2014","name":"Turn key 2 off","server":"8ab15128.bb899","version":1,"debugenabled":false,"service_domain":"switch","service":"turn_off","entityId":"switch.genny_on_engine_wifinode","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1800,"y":180,"wires":[["592244c2.95a22c"]]},{"id":"5b15a2b0.cfb16c","type":"api-call-service","z":"567b337a.8d2014","name":"Turn key 1 off ","server":"8ab15128.bb899","version":1,"debugenabled":false,"service_domain":"switch","service":"turn_off","entityId":"switch.genny_on","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1620,"y":180,"wires":[["12b563f4.61b884"]]},{"id":"3f098d38.785a22","type":"api-current-state","z":"567b337a.8d2014","name":"Genny state","server":"8ab15128.bb899","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"binary_sensor.generator_state_engine_wifinode","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":2170,"y":180,"wires":[["897b3ac9.8428f8"]]},{"id":"897b3ac9.8428f8","type":"switch","z":"567b337a.8d2014","name":"on or off","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":2320,"y":180,"wires":[["1c8969ec.9cb09e"],["a6295300.b82b28"]]},{"id":"b539da7e.a6b6a","type":"api-current-state","z":"567b337a.8d2014","name":"Wireless node state","server":"8ab15128.bb899","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"binary_sensor.engine_node_status","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":670,"y":180,"wires":[["8f0b5716.39e288","875b4087.07d1e"]]},{"id":"875b4087.07d1e","type":"ha-wait-until","z":"567b337a.8d2014","name":"","server":"8ab15128.bb899","outputs":1,"entityId":"binary_sensor.engine_node_status","property":"state","comparator":"is","value":"on","valueType":"str","timeout":0,"timeoutUnits":"seconds","entityLocation":"","entityLocationType":"none","checkCurrentState":true,"blockInputOverrides":true,"x":880,"y":180,"wires":[["b5aad4bb.3783e"]]},{"id":"8f0b5716.39e288","type":"switch","z":"567b337a.8d2014","name":"on or off","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":880,"y":140,"wires":[[],[]]},{"id":"8e410831.3f1f6","type":"do","z":"567b337a.8d2014","name":"Genny start","tasks":["Start Genny","Transfer power"],"outputs":3,"x":450,"y":200,"wires":[["b539da7e.a6b6a"],[],[]]},{"id":"1c8969ec.9cb09e","type":"do-return","z":"567b337a.8d2014","name":"","mode":"done","x":2510,"y":180,"wires":[]},{"id":"b5aad4bb.3783e","type":"api-call-service","z":"567b337a.8d2014","name":"Start key 1","server":"8ab15128.bb899","version":1,"debugenabled":false,"service_domain":"switch","service":"turn_on","entityId":"switch.genny_on","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1070,"y":180,"wires":[["25f690e2.cb1fc"]]},{"id":"d4d402d8.d4d4c8","type":"do-return","z":"567b337a.8d2014","name":"Repeat","mode":"continue","x":2680,"y":200,"wires":[]},{"id":"dc52a12e.b010d","type":"delay","z":"567b337a.8d2014","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1420,"y":180,"wires":[["5b15a2b0.cfb16c"]]},{"id":"592244c2.95a22c","type":"delay","z":"567b337a.8d2014","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":2000,"y":180,"wires":[["3f098d38.785a22"]]},{"id":"22d549e2.e19b6e","type":"debug","z":"567b337a.8d2014","name":"Repeat new","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":2790,"y":480,"wires":[]},{"id":"a6295300.b82b28","type":"function","z":"567b337a.8d2014","name":"Repeat 3","func":"var count = context.get('count') || 0;\nvar msg2 = {};\n\nif (count < 3) {\n count++;\n msg2 = null;\n} else {\n count = 0;\n msg2 = msg;\n msg = null;\n}\n\ncontext.set('count', count);\n\nreturn [msg, msg2];","outputs":2,"noerr":0,"x":2480,"y":220,"wires":[["d4d402d8.d4d4c8"],["d3532676.4bcd28"]]},{"id":"d3532676.4bcd28","type":"do-return","z":"567b337a.8d2014","name":"Aborted","mode":"abort","x":2680,"y":240,"wires":[]},{"id":"22c0acfc.03476c","type":"inject","z":"567b337a.8d2014","name":"","topic":"","payload":"on","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":210,"y":200,"wires":[["8e410831.3f1f6"]]},{"id":"8ab15128.bb899","type":"server","z":"","name":"Home Assistant"}]
Any tips?