Message d'erreur sur "inject" suite à répétition

Désolé, je devais ouvrir une nouvelle conversation ailleurs, mais j’ai un brouillon en cours sur autre chose. Du coup je ne peux pas ouvrir de nouvelle conversation, sauf s’il y a une astuce que je ne connais pas.
En attendant, je crois avoir en partie détouré le problème.
Mon flow utilise un nœud « inject » avec répétition. A chaque répétition, j’ai l’erreur. Je désactive la répétition, plus d’erreur. Si je le lance manuellement, j’ai l’erreur. Je vais vois par quoi le remplacer pour voir si cela améliore la situation

Merci @Lesuperlolo pour cette coupure qui me permet de repartir.

J’ai pu en partie détouré le problème.
En plaçant des debug sur les différents nœuds de mon flow, j’ai pu voir que le pb ce produisait à l’entrée du subflow.
Je ne comprends pourquoi par contre.

[{"id":"d8d288c742b5c81b","type":"subflow","name":"API Tuya iot","info":"# Gestion des APIs TUYA Iot\r\n\r\nAfin de faire fonctionner ce subflow, il faut lui passer le message de structure:\r\n\r\nmsg.tuya_api.client_id\r\nmsg.tuya_api.time        un timestamp\r\nmsg.tuya_api.device_id\r\nmsg.tuya_api.user_id\r\nmsg.tuya_api.commande    commande aiguillant entre ordre de configuration ou relevé de statut de l'entité.\r\nmsg.tuya_api.ordre       ordre à passer à l'entité\r\n\r\n","category":"smarthome","in":[{"x":100,"y":220,"wires":[{"id":"cc34878229ba459b"},{"id":"22c9308e64d572f2"}]}],"out":[{"x":1840,"y":620,"wires":[{"id":"eb7d0fb48dfeea11","port":0}]}],"env":[],"meta":{},"color":"#DDAA99"},{"id":"cfd6cdedc4113f75","type":"group","z":"d8d288c742b5c81b","style":{"stroke":"#999999","stroke-opacity":"1","fill":"none","fill-opacity":"1","label":true,"label-position":"nw","color":"#a4a4a4"},"nodes":["ee971e8557275277","6222843a323ae47f","c730d9c21c85b6c1","80f2ce055feca5f9","0d8eb54a529bf85e","08e4cb4a36124ade"],"x":374,"y":299,"w":1332,"h":162},{"id":"4dfe7d10f3f1a3fb","type":"group","z":"d8d288c742b5c81b","style":{"stroke":"#999999","stroke-opacity":"1","fill":"none","fill-opacity":"1","label":true,"label-position":"nw","color":"#a4a4a4"},"nodes":["6b3e51e7263bd40c","046627bc0bc11fbb","cc34878229ba459b","f3818dca4e177f69","0ac904677470531b","bfb85005e1a20a62","22c9308e64d572f2"],"x":294,"y":39,"w":1192,"h":222},{"id":"6565106fc2673045","type":"group","z":"d8d288c742b5c81b","style":{"stroke":"#999999","stroke-opacity":"1","fill":"none","fill-opacity":"1","label":true,"label-position":"nw","color":"#a4a4a4"},"nodes":["4ad7112320d38417","eb7d0fb48dfeea11","174a610c49d94236","6f079306406b226b","b7dac392bb492edb"],"x":374,"y":539,"w":892,"h":142},{"id":"6b3e51e7263bd40c","type":"function","z":"d8d288c742b5c81b","g":"4dfe7d10f3f1a3fb","name":"Connexion1","func":"var url = \"https://openapi.tuyaeu.com/v1.0/token?grant_type=1\";\nvar t = msg.tuya_api.time;\nvar sign = msg.payload;\nvar client_id = msg.tuya_api.client_id;\n\nmsg.headers ={\n \"sign_method\": \"HMAC-SHA256\",\n \"client_id\" : client_id,\n \"t\": t.toString(),\n \"sign\": sign.toUpperCase(),\n },\n \n msg.payload = '';\n msg.url = url;\n msg.method = \"GET\";\n msg.tuya_api.sign_secret = sign;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":910,"y":220,"wires":[["046627bc0bc11fbb"]]},{"id":"046627bc0bc11fbb","type":"http request","z":"d8d288c742b5c81b","g":"4dfe7d10f3f1a3fb","name":"","method":"use","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":1110,"y":220,"wires":[["0ac904677470531b"]]},{"id":"cc34878229ba459b","type":"function","z":"d8d288c742b5c81b","g":"4dfe7d10f3f1a3fb","name":"Create signStr","func":"let client_id = msg.tuya_api.client_id;\nlet t = msg.tuya_api.time;\n\nnode.status({fill:\"red\",shape:\"ring\",text:client_id});\nlet method = \"GET\";\nlet sign_url = \"/v1.0/token?grant_type=1\";\n\n// Couldn't get nodered to process an empty string so this is a hash of an empty file\nlet content_hash = \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\nlet string_to_sign = method+\"\\n\"+content_hash+\"\\n\"+\"\"+\"\\n\"+sign_url;\nmsg.payload = client_id+t+string_to_sign;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":220,"wires":[["f3818dca4e177f69"]]},{"id":"f3818dca4e177f69","type":"hmac","z":"d8d288c742b5c81b","g":"4dfe7d10f3f1a3fb","name":"Sign signStr with secret","algorithm":"HmacSHA256","key":"58fb24515a07454886120147b4225450","x":690,"y":220,"wires":[["6b3e51e7263bd40c"]]},{"id":"0ac904677470531b","type":"function","z":"d8d288c742b5c81b","g":"4dfe7d10f3f1a3fb","name":"Extract Token from Response","func":"var data = msg.payload;\nvar access = data.result.access_token;\nvar refresh = data.result.refresh_token;\n\n//msg.creds = {};\nmsg.tuya_api.access_token = access\nmsg.tuya_api.refresh_token = refresh;\n\nmsg.payload = msg.tuya_api.ordre;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1340,"y":220,"wires":[["f66948c2c5ba3d70"]]},{"id":"f66948c2c5ba3d70","type":"function","z":"d8d288c742b5c81b","name":"Liste des opérations","func":"if (msg.tuya_api.commande == 0){\n    return [msg,null];\n} else if (msg.tuya_api.commande == 1){\n    return [null,msg];\n}else {\n    node.warn(\"La valeur de la commande n'est pas connue\");\n}","outputs":2,"noerr":0,"initialize":"","finalize":"","libs":[],"x":200,"y":460,"wires":[["0d8eb54a529bf85e","2064e8ad64cd37f6"],["6f079306406b226b","f30fdead3ce3856b"]]},{"id":"ee971e8557275277","type":"function","z":"d8d288c742b5c81b","g":"cfd6cdedc4113f75","name":"Connexion2","func":"let device_id = msg.tuya_api.device_id;\nlet url = \"https://openapi.tuyaeu.com/v1.0/devices/\" + device_id + \"/commands\";\nlet t = msg.time;\nlet client_id = msg.tuya_api.client_id;\nlet access_token = msg.tuya_api.access_token;\nlet sign = msg.payload;\n\nmsg.headers ={\n \"sign_method\": \"HMAC-SHA256\",\n \"client_id\" : client_id,\n \"t\": t.toString(),\n \"mode\" : \"cors\",\n \"Content-Type\": \"application/json\",\n \"sign\": sign.toUpperCase(),\n \"access_token\" : access_token,\n },\n\nmsg.payload = msg.tuya_api.ordre;\nmsg.url = url;\nmsg.method = \"POST\";\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1430,"y":420,"wires":[["6222843a323ae47f"]]},{"id":"6222843a323ae47f","type":"http request","z":"d8d288c742b5c81b","g":"cfd6cdedc4113f75","name":"","method":"use","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":1610,"y":420,"wires":[["9c338d50728a3fc8","c75f94b3825f07bd"]]},{"id":"c730d9c21c85b6c1","type":"function","z":"d8d288c742b5c81b","g":"cfd6cdedc4113f75","name":"Create signStr","func":"//let creds = flow.get(\"tuya\");\nlet access_token = msg.tuya_api.access_token;\nlet device_id = msg.tuya_api.device_id;\nlet t = msg.tuya_api.time;\nlet client_id = msg.tuya_api.client_id;\n\nlet method = \"POST\";\nlet sign_url = \"/v1.0/devices/\" + device_id + \"/commands\";\nlet content_hash = msg.payload;\n\nlet string_to_sign = method+\"\\n\"+content_hash+\"\\n\"+\"\"+\"\\n\"+sign_url;\nlet signStr = client_id + access_token + t + string_to_sign;\n\nmsg.payload = signStr;\n//msg.time = msg.time;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":940,"y":420,"wires":[["80f2ce055feca5f9"]]},{"id":"80f2ce055feca5f9","type":"hmac","z":"d8d288c742b5c81b","g":"cfd6cdedc4113f75","name":"Sign signStr with secret","algorithm":"HmacSHA256","key":"58fb24515a07454886120147b4225450","x":1190,"y":420,"wires":[["ee971e8557275277"]]},{"id":"0d8eb54a529bf85e","type":"digest","z":"d8d288c742b5c81b","g":"cfd6cdedc4113f75","name":"Hash the body data","algorithm":"SHA256","x":710,"y":420,"wires":[["c730d9c21c85b6c1"]]},{"id":"08e4cb4a36124ade","type":"comment","z":"d8d288c742b5c81b","g":"cfd6cdedc4113f75","name":"Donner un ordre","info":"","x":480,"y":340,"wires":[]},{"id":"bfb85005e1a20a62","type":"comment","z":"d8d288c742b5c81b","g":"4dfe7d10f3f1a3fb","name":"Récupérer un token","info":"","x":490,"y":160,"wires":[]},{"id":"4ad7112320d38417","type":"function","z":"d8d288c742b5c81b","g":"6565106fc2673045","name":"Connexion3","func":"let device_id = msg.tuya_api.device_id;\nlet url = \"https://openapi.tuyaeu.com/v1.0/devices/\" + device_id + \"/status\";\nlet t = msg.tuya_api.time;\nlet method = \"GET\";\nlet client_id = msg.tuya_api.client_id;\n//let creds = flow.get(\"tuya\");\nlet token = msg.tuya_api.access_token;\n//let sign = msg.payload;\nlet sign = msg.payload;\n\nmsg.headers ={\n \"sign_method\": \"HMAC-SHA256\",\n \"client_id\" : client_id,\n \"t\": t.toString(),\n \"mode\" : \"cors\",\n \"Content-Type\": \"application/json\",\n \"sign\": sign.toUpperCase(),\n \"access_token\" : token\n },\n\n msg.payload = '';\n msg.url = url;\n msg.method = \"GET\";\n \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":970,"y":640,"wires":[["eb7d0fb48dfeea11"]]},{"id":"eb7d0fb48dfeea11","type":"http request","z":"d8d288c742b5c81b","g":"6565106fc2673045","name":"","method":"use","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":1170,"y":640,"wires":[[]]},{"id":"174a610c49d94236","type":"comment","z":"d8d288c742b5c81b","g":"6565106fc2673045","name":"Get Status Of Device","info":"","x":500,"y":580,"wires":[]},{"id":"9c338d50728a3fc8","type":"debug","z":"d8d288c742b5c81b","name":"debug 309","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1870,"y":420,"wires":[]},{"id":"6f079306406b226b","type":"function","z":"d8d288c742b5c81b","g":"6565106fc2673045","name":"Create signStr","func":"let access_token = msg.tuya_api.access_token;\nlet device_id = msg.tuya_api.device_id;\nlet t = msg.tuya_api.time;\nlet client_id = msg.tuya_api.client_id;\n\nlet method = \"GET\";\nlet sign_url = \"/v1.0/devices/\" + device_id + \"/status\";\nlet content_hash = \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n\nlet string_to_sign = method + \"\\n\" + content_hash + \"\\n\" + \"\" + \"\\n\" + sign_url;\nlet signStr = client_id + access_token + t + string_to_sign;\n\nmsg.payload = signStr;\n//msg.time = msg.tuya_api.time;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":640,"wires":[["b7dac392bb492edb"]]},{"id":"b7dac392bb492edb","type":"hmac","z":"d8d288c742b5c81b","g":"6565106fc2673045","name":"Sign signStr with secret","algorithm":"HmacSHA256","key":"58fb24515a07454886120147b4225450","x":710,"y":640,"wires":[["4ad7112320d38417"]]},{"id":"22c9308e64d572f2","type":"debug","z":"d8d288c742b5c81b","g":"4dfe7d10f3f1a3fb","name":"debug 336","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":390,"y":80,"wires":[]},{"id":"2064e8ad64cd37f6","type":"debug","z":"d8d288c742b5c81b","name":"debug 337","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":310,"y":340,"wires":[]},{"id":"f30fdead3ce3856b","type":"debug","z":"d8d288c742b5c81b","name":"debug 338","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":250,"y":620,"wires":[]},{"id":"c75f94b3825f07bd","type":"delay","z":"d8d288c742b5c81b","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1260,"y":500,"wires":[["6f079306406b226b"]]}]

le tout premier debug n’affiche rien

La fonction d’avant sort correctement par contre. Je dois avoir un souci dans la configuration du subflow mais quoi. Il marchait sans souci jusqu’à la montée de version de Node-Red???

J’ai trouvé au cas où cela servirai à d’autre. Il m’a fallu supprimer puis réinjecter le subflow pour que tout rentre dans l’ordre???