2 Zooz Motion Sensors

I have two motion sensors.
One sensor is at the gate opening on the front side of the fence, and on the reverse side of the fence, is another motion sensor.
Is there a way to write in the rule program, if one motion sensor is triggered, then the other motion sensor is paused, or not noticed for a time period. The problem right now is, the lawn mower triggers the first motion sensor, opens the gate, goes through the gate, and then the other motion sensor is now triggered. I need a way of stopping/delaying one motion sensor for a period of time.

It would be beneficial if you can provide more detail on the rules you currently have in place with these 2 motion sensors.

I run two separate programs, that operates two separate sensors. I had thought the lawn mower on the return home to charge itself, could push through the gate, but it cannot. So had to buy another sensor, and just cloned the program to do the same, but opposite side. I can add the program to this, once I get home, but thought there may be away of telling one sensor to delay for a time period, somehow?
,

Here is the program

Add a “required expression “ to each that the other sensor is idle for however long you want.

Thank you, can you point me to an example how to do this? Or how and where to add this in the program

Checkout this: Rule 5.1 | Hubitat Documentation

Thank you

I just realized how hard it is to set up a required expression that does what you want.
I would recommend that you create a new hub Variable called mower_outside or something like that.
When you open the gate and let the mower out, delay for the amount of time that you would like. And then set the variable to true.
Do the opposite once you get the mower back inside, wait and set variable to false.
Now you can use the state of that variable in your required expression to enable each of the rules.

And what type of creatures are in the zoo?

lol, Zooz Q Sensor - 800 - ZWave series

1 Like

Thank you. That does not sound easier either. Will try my best, thanks for sending time, explaining things, apprecaited.

Take it from me, don't try to get too fancy:

1 Like

One point to note:
Every motion sensor has a "activation time" - i.e. when it changes to "active" it stays as active for a certain number of seconds. On some devices, this period of time can be changed via the driver, on some it is a certain length of time, always.
I'm not sure about the defaults for this particular zooz sensor, but you should be able to tell via looking at the logs, how long it remains as "active".

Thank you. Yes I can set that. My issue is, it goes through the first one, which makes it active, but then on the other side, the robot fires the next sensor to active, now I have two programs going . I just want it, if the first sensor fires, then the second one cannot fire, even though it is triggered when the robot goes through the gate, for a set amount of time, or till robot is past the sensor zone.

try using Zone Motion controllers built in app

If you have two programs that need to interact in this manner, could you create a hub variable that is used to tell each app not to run if the other is running? For instance, when the mower triggers the outside motion sensor, the outside program runs and sets a “mower” variable to some value like “outside”. Then, as the mower moves inside and triggers the inside motion sensor, the inside program checks that variable and the condition will disallow the main program to run, but instead will simply flip the variable to an “inside” value or something like that. The reverse will happen as the mower moves from the inside to outside.

Not sure if I’m making any sense here, but thought I’d throw out an idea.

Thank you, we’ll sort of clear, I just have to learn to set a variable. Do you set a variable as global setting or in the actual program itself.

Both programs are exact, except, the sensors are called different. ZooAutoMain sensor and ZooAuto sensor. So would the variable go in here?

The hub variable section is in Settings:

Simply add a variable. In this case name it as you wish and make it the appropriate data type. In your case you could probably select string:

Then, in your code, you could add a conditional and do a string compare:

You’ll need to consider how your logic works, but you should be able to check the location of the mower, then do the code that you have, then set the variable to the other side, ie. “Outside”.

Hopefully this will help you get started. Give it a shot and see what you can do. I can try to help out more if you have difficulties.

I think something like this should be able to be made to work, but it may take a bit of fiddling.

Good luck!

-Chris

1 Like