Proposal - Node Quality Monitoring

Users have expressed interest in being able to easily assess node quality and performance easily from the Vera dashboard. One idea has been to display last update on the Node icon and/or reporting some sort of message success/failure rate. Let’s use this thread to elaborate the requirements.

One proposal would be to implement a visual cue for overall node quality where a quality index is computed from messaging success/failure rate and last update. Nodes would maintain a failure rate since last reboot that is simply numFailures/numSends (successRate = 1.0 - failureRate). If the node fails to report to the gateway beyond some threshold or the failure rate exceeds some threshold, then the node icon changes to display a red X over it (although from what I have seen on the MySensors.org site, I’m sure Henrik can gin up a nice poor-quality indicator icon for the Arduino nodes). If the node icon indicates poor quality, the user can click on the node settings wrench to display the details (failure rate and last update) that contributes to the quality index. We can also add Last Update to the Node icon. Once the user has remedied the node performance issue by relocating it, adding a coupling capacitor, providing separate radio power, replacing the radio, fixing the sketch, etc., the rates will reset because the node will reboot upon change. If the user-remedies fail to address the problem, then eventually the node will display indicate poor quality.

That said, Henrik proposed embedding the number of failures since last successful message into the messaging protocol header which parallels a number of well-known networking protocols. There may be clear advantages to this approach so please weigh in using the context of the envisioned use case.

Bring on the feedback!

==================
Related links/discussion:

http://forum.micasaverde.com/index.php/topic,23012.msg161694.html#msg161694
http://forum.micasaverde.com/index.php/topic,23012.msg161766.html#msg161766
http://forum.micasaverde.com/index.php/topic,23012.msg163075.html#msg163075
http://forum.micasaverde.com/index.php/topic,23012.msg163085.html#msg163085
http://forum.micasaverde.com/index.php/topic,23012.msg163532.html#msg163532

Just a small comment:

If we need to make changes to the message header I would like to add this new feature to the 1.4 branch in gh.

1.3 is “freezed” with regards to protocol changes :wink:

I just read your 1.4 API discussion thread and completely agree - I hope I didn’t jump the gun on starting this topic :o.

Perhaps in the 1.3 timeframe, we can implement the Vera visual cue for the node quality indicator but only use LAST_UPDATE until we determine the best path forward for message quality measurement.

Haha… No problem! This is a very valid discussion even if the feature ends up in 1.4. And development can be started right away. Just need to merge it into the right branch.

LAST_UPDATE is still possible to add to 1.3. Only requires vera plugin changes.