Observations:
The load is at one of its peaks.
I disable a particular tab, deploy and the load goes away.
Shame it isn't that simple. But it is at least pointing me to that tab/flow.
As I said, the machine may not like/support lint
.
The load spikes (seemingly) when an event happens.
Good.
So I have nice proved this by forcing the input of that part of the flow and it spikes - and remains high.
So, I am getting somewhere in/on finding the problem.
This is the crux of part of the flow which CAUSES the spike, but you may see I have a speed
node connected and it shows me a spike as the message is being sent then goes back to 0
.
So that isn't THE problem.
It causes it, but isn't THE problem.
[{"id":"54c563c0.e41374","type":"function","z":"a1911aa3.c45be8","g":"90e7d5cd.1db07","name":"Sunset indicator","func":"// node.send()\n\nvar delay_time;\nvar sunset;\nif (msg.delay_time == undefined)\n msg.delay_time = 4000;\ndelay_time = msg.delay_time;\nif (msg.sunset == undefined)\n msg.sunset = \"196,10,0\";\nsunset = msg.sunset;\n\nmsg.payload = \"rgb,0,\"+sunset;\nnode.send(msg);\n\n// Delay\nsetTimeout(f,delay_time);\n\nmsg.payload = \"rgb,1,\"+sunset;\nnode.send(msg);\n\n// Delay\nsetTimeout(f,delay_time);\n\nmsg.payload = \"rgb,2,\"+sunset;\nnode.send(msg);\nif (msg.existing[0] == undefined)\n{\n msg.existing[0] = \"0,0,0\";\n}\nmsg.payload = \"rgb,0,\"+msg.existing[0];\nnode.send(msg);\n\n// Delay\nsetTimeout(f,delay_time);\n\nmsg.payload = \"rgb,3,\"+sunset;\nnode.send(msg);\nif (msg.existing[1] == undefined)\n{\n msg.existing[1] = \"0,0,0\";\n}\nmsg.payload = \"rgb,1,\"+msg.existing[1];\nnode.send(msg);\n\n// Delay\nsetTimeout(f,delay_time);\n\nmsg.payload = \"rgb,4,\"+sunset;\nnode.send(msg);\nif (msg.existing[2] == undefined)\n{\n msg.existing[2] = \"0,0,0\";\n}\nmsg.payload = \"rgb,2,\"+msg.existing[2];\nnode.send(msg);\n\n// Delay\nsetTimeout(f,delay_time);\n\nmsg.payload = \"rgb,5,\"+sunset;\nnode.send(msg);\nif (msg.existing[3] == undefined)\n{\n msg.existing[3] = \"0,0,0\";\n}\nmsg.payload = \"rgb,3,\"+msg.existing[3];\nnode.send(msg);\n\n// Delay\nsetTimeout(f,delay_time);\n\nmsg.payload = \"rgb,6,\"+sunset;\nnode.send(msg);\nif (msg.existing[4] == undefined)\n{\n msg.existing[4] = \"0,0,0\";\n}\nmsg.payload = \"rgb,4,\"+msg.existing[4];\nnode.send(msg);\n\n// Delay\nsetTimeout(f,delay_time);\n\nmsg.payload = \"rgb,7,\"+sunset;\nnode.send(msg);\nif (msg.existing[5] == undefined)\n{\n msg.existing[5] = \"0,0,0\";\n}\nmsg.payload = \"rgb,5,\"+msg.existing[5];\nnode.send(msg);\n\n// Delay\nsetTimeout(f,delay_time);\n\nif (msg.existing[6] == undefined)\n{\n msg.existing[6] = \"0,0,0\";\n}\nmsg.payload = \"rgb,6,\"+msg.existing[6];\nnode.send(msg);\n\n// Delay\nsetTimeout(f,delay_time);\n\nif (msg.existing[7] == undefined)\n{\n msg.existing[7] = \"0,0,0\";\n}\nmsg.payload = \"rgb,7,\"+msg.existing[7];\nnode.send(msg);\n\nreturn;\n\nfunction f(delay_time)\n{\n //\n setTimeout(f,delay_time);\n}\n\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":3860,"y":780,"wires":[["49eeec0f.0f1104","25ecfab5.e55b6e","526f2144.4434c"]]},{"id":"526f2144.4434c","type":"msg-speed","z":"a1911aa3.c45be8","g":"90e7d5cd.1db07","name":"","frequency":"sec","estimation":false,"ignore":false,"x":4050,"y":820,"wires":[["dc5e8c4b.49ec08"],[]]},{"id":"dc5e8c4b.49ec08","type":"debug","z":"a1911aa3.c45be8","g":"90e7d5cd.1db07","name":"Speed","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":4030,"y":860,"wires":[]}]
Now, the messages are sent to a MQTT
node and they are handled by a python script
to control some RGB leds.
Luckily I can control said script so I stopped the script - gotta try things - and it stopped.
No drop in spike.
Restarted script. Same.
But if I DISABLE
the script and deploy it, the load goes back down.
I'm working on it but want an external set of eyes on it in case I'm missing an elephant.