Doorbell notification | Limit to forwarding once for X seconds

OH is built around the concept of items, so many times an additional item is the smart way to handle things and even broadly used solutions to this kind of problem use a proxy item. For example, this rule template:

That said, there are many other ways to approach this as well, and “better” really depends on how you have already set it up and what you are comfortable scripting. Other options might be:

  1. Have the notification rule start a persistent timer and check the status of that timer on each rule run
  2. Store the current time in the sensor item metatdata at each rule run to check what the most recent notification time was
  3. Use persistence to get the item history and access the most recent changed timestamp that way

I use UI-based rules so, far and away, the most streamlined option for me would be to have a proxy item with expire settings which gets turned on when the notification rule runs. Checking that proxy item state in the rule condition then eliminates any additional run of that rule until the expire has returned the proxy item to off.