I have done a similar setup, but I have found the PingPresence Sensor to work more reliable if timeout and retry settings are changed as follows:
I am using a simple rule to toggle a switch - a Milight switch in my case, but this can be easily replaced by ShellSwitch or DummySwitch.
"rule": "when dash-1 is present then toggle Milight WWCW Zone@192-168-178-68",
As an extra line of defense I setup filtering on my Fritzbox Router to deny the dsash contacting the internet.
- Presence sensor works most of the time, but there are glitches. In about 1 of 10 button presses the dash is not detected by the PingPresence sensor
- System CPU usage has not significantly grown
I am going to experiment with node-dash-button and win-node-dash-button which are basically ARP sniffers using the PCAP library. This should work reliably, but I am concerned about performance penalties this may have. Let’s see.
If you want to checkout similar things, have look at http://www.danielgallo.co.uk/post/hack-an-amazon-dash-button-to-control-philips-hue-lights/ which is an easy to digest tutorial
"It always takes longer than you expect, even when you take into account Hofstadter's Law.", Hofstadter's Law