How do I do this? Device stops responding

I have a Aoetec HEM that will occasionally stop responding. Nothing to do with Hubitat, it did this when on ST as well. When it stops responding I just have to power cycle it and it continues on its merry way.

I have a webcore piston that does this and it works well. I have moved the HEM from my ST hub to my C7 hub. basically I have a hub on each end of the house and I put the devices closet to that hub on it. Originally I had one HE hub in the house, the C5, and the HEM and a few other devices were still on my ST hub and I controlled those devices from HE using Hubconnect. I have now moved the HEM to my C7 and it does not have webcore installed on it. I could use Hub mesh and use the same piston I have been using but I was trying to put rules that dealt only with devices from one hub on that hub, It seemed like a pretty easy task so I decided to just make a rule instead of installing webcore on my C7 and having to set up another instance. Once I started writing it,however, things did not work quit as I had hoped.

With Webcore I trigger on energy events and then wait 3 minutes. If the piston gets triggered again webcore halts execution of the piston and starts again from the beginning. So after the wait I have the code to power cycle the device. As long as the piston keeps triggering it never runs the power cycle portion.

Doing some testing in RM a wait for condition cancels on another trigger, but it then runs the remainder of the rule. I need to stop execution if the rules is re-triggered. I only want to continue if the wait times out.

I came up with a rule that works, I just put all the commands with a 3 minute delay and a cancel at the beginning. doesn't seem very efficient to me, but it works. Along with power cycling I keep a count of resets and when it happens. I guess I can move that into a separate rule and just have this rule call another rule if it power cycles.

Is there a way to tell if a wait timed out or was canceled on a re-trigger?

Ok this apparently does work using a delay. I think I used a delay on a switch setting instead of just a delay, or I forgot to set the cancel slider.

Looking at a question Bruce answered for someone else, his explanation basically said it should work just the way the webcore piston worked, and it does.

1 Like