The graph of all connected devices, tasmota zigbee also has that.
I used it from zigbee2mqtt to add routers in the zigbee network. But also with those added i had troubles with devices sometimes loosing connection. That is not funny when the bedroom lamp goes on at 3:00 AM. When swapped to wifi zigbee solution, these problems where gone. This problem has nothing to do with the zigbee software. But i couldn't make a perfect mesh network over different floors.
I do store the states but do not use the official way by settings file. I store everything in a global scope / json file. The flows are attached to in my previous post.
on deploy I do usually deploy only the flows where I did changes. but it does not make a difference. everything is stored in the config file and reloaded 60 seconds after flow / node red starts. config is saved every 30 seconds or so.
PS: What I dont store are the charts... they are gone. You can store them but I dont think its needed. the values like total energy consumption are stored. The charts show switching times / energy consumption over time. I ve about 25 clones of the switch flow and for performance reasons I cant store them. If you just have 10 or so it should be no problem to add this function without having performance problems... I use Raspberry Pi 4 4GB... Use better hardware and you can do more....
I ve experimented much with cams.
The best way is to keep the CPU load away from the device where you have Node Red running.
This works for all devices where you can set an iFrame without using logins:
mobil phone apps, Tasmota webcams or some other webcams.
If that does not work most devices have at least a screenshot url. So I use basically a method where I grab pictures by javascript without use of Node Red payload. The result is a kind of hq slideshow where the FPS depends on what your network can handle.
If I dont want that I use the rtsp protocol included in most webcams. kevinGodell has a nice thread about to use. I would recommend that if iFrames does not work.