The issue of phantom nodes appearing on the Inputs page has been a recurring issue for a while. I see it occasionally.
I wonder if the solution is to not add nodes automatically to Inputs, but rather EmonCMS keeps track of nodes that are available, and the user can then select which ones they would like to monitor & add Feeds for.
This selectable node list could be maintained in memory rather than actually writing anything to disk and clear any nodes that have not been seen for say 24Hrs.
Adds an extra step into setting a node up, but it does mean you just get the ones you want.
Not sure how you would handle duplicate nodes of the same name (that are again seen from time to time) - probably the check against existing nodes needs to be a little more robust.
The idea is to be able to select the nodes a user wants to appear in the Inputs list, rather than everything Emoncms finds that might be an input appearing there.
Once there, an Input would persist in the Inputs list as it does now (no matter how long it disappears for), but it would mean that an Input node that just appears because of random RFM data would not.
The selectable list would hold any nodes found in the last x days (configurable) and in effect once selected you are telling Emoncms - this is an Input I am interested in.
Since this only needs applying to rfm data it would make far more sense and be far easier to implement something in the JeeInterfacer (aka RFM interfacer) in emonhub. A user setting to only allow defined nodes (or not) would work well and keep things simple.