Retrigger on specific condition

is it possible to allow a specific condition to retrigger
but not the entire reactor

when watching pin code entered on door lock
if last pin code was id1 and it is again id1
its not counted as a new unlock
i want to specifically watch for pin code entered
as i dont want to trigger on manual lock/unlock from inside
i only want retrigger for this item and not all other items in the reactor

The 3.3 version just released introduces a new “updates” operator on device state conditions specifically for the sl_ state variables. These variables are unique in Vera Luup in that writing the same value that they currently have generates a watch event; other state variables in Vera Luup typically do not do this–they only generate watch events when the value changes.

As it relates to your question, sl_UserCode is used by locks and is written by Luup when a lock is unlocked using a PIN code.

To get your described behavior, because of the way Vera handles locks, detecting the same PIN entered twice is logic like this: sl_UserCode updates and sl_UserCode is not changed.

Since Reactor (currently) has no “not changed” operator, you need to use a group with a NOT to wrap your condition:

Group - Same Code Twice (AND)

  • Device State condition: lock sl_UserCode updates
  • Group - Not changed (NOT+AND)
    • Device State condition: lock sl_UserCode changes

The group “Same Code Twice” will go true briefly (pulse) when the same lock code is entered twice. You can stretch the length of pulse by applying a reset delay to the “Same Code Twice” group (a new feature in 3.3 as well).

I’m not really sure what you’re after by saying “I only want to retrigger for this item and not all other items in the reactor”. That’s needs more explanation for me to wrap my head around.

you hit the nail right on the head
that’s exactly what i wanted
it was specifically to move my " conditional " logic for locks into reactor
specifically the sl_UserCode

this is fantastic
thanks yet again