What's the best way to do this without sharing sensitive config info. I assume using Export to text is not the most efficient.
Sensitive info like Usernames, Passwords, tokens etc are not exported from configs
But to be certain, simply export your flow, paste into a text/code editor, search for known sensitive info - XXXXX it out (if there is any)
To export flows, press CTRL+E and copy the flow code
In order to make code more readable and importable it is important to surround your code with three backticks
You can edit and correct your post by clicking the pencil icon.
See this post for more details - How to share code or flow json
Ok I thought there might be a better way if trying to share all of my flows to troubleshoot. Thank you.
I tried importing entire flow.json and got this message:
then I read past the 1st post in other thread you shared.
I can tell you right now, no body is going to try to figure out what your flow is doing, it is just too large. (over 25 tabs of flows)
I would suggest disabling tabs till you isolate the issue
Its huuuuuugggggeeeee & while I didnt see the 20sec freezes like the OP (on a i7 PC with 16GB RAM) I it was definitely sluggish (2 / 3 sec delays) so i suspect a lesser machine would struggle.
there are certainly areas that could be improved (like several places a switch node with 10+ outputs and its following nodes could all be simplified into one function & a switch statement) but i kinda suspect its just down the these shear volume of nodes and wires in one instance.
If you can break these down somewhat, distribute them across multiple machines (probably even separate instances on the same server would help) then start there. Use MQTT to coordinate the signals where things interact.
I suspect its down to the shear qty of nodes so disabling tabs may not help (as they are still present in the flow & in the editor)
I understand but previous posters asked for it so that what I did.
Already went thru and only had one flow enabled at a time and still had delays.
I'm running it on an RPi 4 8Gb with a 128 Gb SSD.
I have only been using Node Red for a few months and have done my best to avoid Function nodes when I can just because of my ignorance. I have another RPi 4 4Gb available so I will see if it helps to split in half before trying multiple instances on same machine. That seems like an easier change.
When 1st posted, I was hopeful that there was a simple solution but practical enough that the problem would probably be difficult to diagnose thru a community website thread.
If you stop node red then start in safe mode by using the command
then that will start the editor without starting the flows. If it is still slow then you know it is probably just the complexity that is the problem, and not something to do with running the flows.
I hadn't tried that yet but I just did it and still have same slowdown.
OK, that is pretty conclusive I think. Are you running the browser on the Pi? If so is that necessary or could you run it on a PC on the network for editing?
No I am using a desktop on same home network.
Ok i installed NR on my Windows Desktop (Intel i7 3770 CPU @ 3.40 Ghz) and started deleting tabs. I got all the way down to 2 tabs and was still seeing slowness. This is down to only 2 flows, PINGER & GOOD NIGHT/GOOD MORNING. If I delete anything on PINGER, it's instant. If I try to delete 10-20 nodes on GOOD NIGHT/GOOD MORNING, it's 15-20 seconds.
Now that it's down to such a smaller size, it should be easier to troubleshoot. Anyone willing to take a look? This one is tiny compared to 1st.
I did not delete any pallets but if a pallet doesn't have any working nodes, could it have an affect?
Try to look at the configuration nodes. I cant say what can produce this, but seems you have about mile long list of spacer nodes. Are they all used? I tried to delete them by selecting all but that was too much for my pretty old laptop.
I JUST DISCOVERED SAME THING!!!! I can't find it again but I swear I had it say I had 1100 of them somewhere. How the hell does that happen and how do I batch delete them?
choose 'unused' selct one and then Ctrl-A (Select All shortcut)
That works for the instance on PC where I deleted almost everything already and the spacers ended up in the unused category.
That's not the case for my working instance on the Raspberry Pi where they seem to be under the ui_spacer group currently. Ive deleted all of my dashboard nodes but those dang spacers are still sitting there under the ui_spacer section taunting me.
I went in and edited the JSON file in a text editor and deleted all of the rogue spacer nodes and that worked. Now, when I delete 20 or more nodes, they disappear in a couple of seconds which is reasonable based on the size of my instance and that I am running on a RPi 4.
Thank you to everyone who contributed to solving this bizarre issue. I wish I knew how I screwed it up in the first place. UGH!!!!! But, it's solved!! Thank you again to all!!!
I've found copy and pasting bits of flow, particularly when using the import function, dashboard nodes and other nodes that store things in config tend to duplicate their configurations whenever copied, but don't always get rid of them when deleted or modified. If your flows are as big as described, copying, changing and deleting a moderately complex dashboard flow a few times could well give you a bunch of left over bits.
I use the MSSQL nodes a lot, and every time they are imported they create another config with the same name as the ones I already have.
I don't think this issue is completely solved, I had this issue a few months ago found loads of unused spacer nodes I deleted them, it solved the problem, I put it down to my mistake, however upon reading this post I checked in 'configuration nodes' and there they are again about 100 of them, I checked my other pi's and they all have them to a varying degree one pi that I don't make many changes to has just 2 spurious spacers, obviously something is generating these nodes, but how to track down what's causing this ?