My Satellite modem locks up occasionally and needs a power cycle to restore internet connection. So I got a Zigbee outlet. I see RM 5.1 has a Ping function but struggling to see how to implement it inside a conditional action.
Trigger: every 30min
Action:
if (ping 8.8.8.8 == false) // if ping failed
{turn outlet off; delay 15sec; turn outlet on;} // cycle outlet off/on
That's basically what I want to do. Anyone figure out how to do a similar thing in RM?
I have a an Outage Pinger app tied to a virtual switch, I could use that switch state in the RM action but would prefer to do it all in RM.
1 Like
This is a bit tricky to figure out, but the 2.2.9.137 release notes have the clue you'll need:
Rule 5.1: Added Ping action. This pings an IP address 3 times, and returns a string with the results. The string is in %text%. It also places the packetLoss value in %value% (100 means no response).
So, the easiest thing to do is probably something like:

(Be sure to create a local or hub variable; mine is called pingValue
. This is necessary since you can't use the built-in %value%
variable in this way without assigning it to a "real" variable first, which I'm doing like this:
)
You'll also need some trigger, which I didn't include above. A periodic trigger with whatever interval (a couple times an hour or whatever?) sounds like it might do the trick for you.
5 Likes
It works! I put in a bogus IP to test. The first IF condition is to turn it On if for some reason its Off which it shouldn't be.
8 Likes
wow. that was brilliant @bertabcd1234 !!!
Hi - apologies for a newbie question. Where/how do you enter the actual code sown for "Select Actiopns to Run"? I do not see a spot in RM to do this?
Thanks for any insight.
RM fills it in by itself.
It is menu driven.