{"action":"created","issue":{"url":"https://api.github.com/repos/TMRh20/RF24Mesh/issues/27","labels_url":"https://api.github.com/repos/TMRh20/RF24Mesh/issues/27/labels{/name}","comments_url":"https://api.github.com/repos/TMRh20/RF24Mesh/issues/27/comments","events_url":"https://api.github.com/repos/TMRh20/RF24Mesh/issues/27/events","html_url":"https://github.com/TMRh20/RF24Mesh/issues/27","id":96650564,"number":27,"title":"Unlisted nodes","user":{"login":"Avamander","id":5392141,"avatar_url":"https://avatars.githubusercontent.com/u/5392141?v=3","gravatar_id":"","url":"https://api.github.com/users/Avamander","html_url":"https://github.com/Avamander","followers_url":"https://api.github.com/users/Avamander/followers","following_url":"https://api.github.com/users/Avamander/following{/other_user}","gists_url":"https://api.github.com/users/Avamander/gists{/gist_id}","starred_url":"https://api.github.com/users/Avamander/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Avamander/subscriptions","organizations_url":"https://api.github.com/users/Avamander/orgs","repos_url":"https://api.github.com/users/Avamander/repos","events_url":"https://api.github.com/users/Avamander/events{/privacy}","received_events_url":"https://api.github.com/users/Avamander/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-07-22T19:53:45Z","updated_at":"2015-08-28T23:42:23Z","closed_at":null,"body":"When I reset my master node, some nodes do not reappear the the connected node list, but do send packets to the master. This causes multiple issues. Could you please add a safeguard to block all nodes that are not registered to the mesh? Also, what would happen if two mesh networks get in range of each other?"},"comment":{"url":"https://api.github.com/repos/TMRh20/RF24Mesh/issues/comments/135914952","html_url":"https://github.com/TMRh20/RF24Mesh/issues/27#issuecomment-135914952","issue_url":"https://api.github.com/repos/TMRh20/RF24Mesh/issues/27","id":135914952,"user":{"login":"TMRh20","id":2610460,"avatar_url":"https://avatars.githubusercontent.com/u/2610460?v=3","gravatar_id":"","url":"https://api.github.com/users/TMRh20","html_url":"https://github.com/TMRh20","followers_url":"https://api.github.com/users/TMRh20/followers","following_url":"https://api.github.com/users/TMRh20/following{/other_user}","gists_url":"https://api.github.com/users/TMRh20/gists{/gist_id}","starred_url":"https://api.github.com/users/TMRh20/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TMRh20/subscriptions","organizations_url":"https://api.github.com/users/TMRh20/orgs","repos_url":"https://api.github.com/users/TMRh20/repos","events_url":"https://api.github.com/users/TMRh20/events{/privacy}","received_events_url":"https://api.github.com/users/TMRh20/received_events","type":"User","site_admin":false},"created_at":"2015-08-28T23:42:23Z","updated_at":"2015-08-28T23:42:23Z","body":"\r\nJust FYI I've been thinking about this problem, although I haven't had much time to work on it, and I realized that option 3 is not really a good option. The problem is that if two nodes attempt to communicate normally, using the same address, it can interfere, preventing either node from working properly. Theoretically, it could cause a mess of communication problems, because of auto-ack.\r\n\r\nRight now there are a number of problems with mesh assignment, renewal:\r\n\r\n\r\n**On RPi**, the address assignments are saved in binary format in a file (dhcplist.txt)\r\n   a : Nodes are not deleted from the list, unless they release their address\r\n   b: With my configuration, all nodes are set to verify their connectivity every 30 seconds, via mesh.checkConnection();\r\n   c: Simple refresh: Stop the master node for 30 seconds and delete dhcplist.txt. All nodes will renew their address, and the network will rebuild itself completely.\r\n\r\n**On Arduino**, address assignments are not saved in any way\r\n  a: The same method as above (c) can be used to refresh the network\r\n  b: Saving addresses to EEPROM or SD would allow the same functionality as RPi\r\n\r\nThe main problem currently, is that nodes need to regularly check to ensure connectivity to the network, and there is no reliable way (multicast comes to mind) to notify lost nodes that they need to renew their addresses that I am aware of. \r\n\r\n**Overview**\r\n a: Nodes should never be unlisted/lost unless the master loses track of their registration\r\n b: Only happens when master restarts (Arduino) or when dhcplist.txt is deleted (RPi)\r\n c: Once a node is lost, attepts to communicate normally may interfere with other nodes\r\n\r\nUsers can manage this in multiple ways, depending on configuration:\r\na: Periodic polling ie: every 30 seconds (see above)\r\nb: Manually save the address list to a file or EEPROM, restore upon restart\r\nc: Secondary master - Send the address list to a 'backup' node with a 'static' address assignment\r\nd: Multicast - Have the master node broadcast a user-defined payload type that triggers address renewal (may cause problems?)\r\ne: ???\r\n\r\n\r\nSo far I don't really have a good solution figured out, but I manage it through periodic polling, as the intent of the mesh was for the nodes to constantly maintain connectivity.\r\n\r\n"}}