Since the data is already up to 10 minutes old, just add a small delay between them to let the bus respond in the correct order. The delay should probably be configurable in the binding, since slower machines may need more delay. Although, it could work the other way and you might find the rules trigger in order in a slower machine.
Hwever, it would be interesting to see if the new rule engine performs any better than the old one, which will be removed in OH 3.0. The new rule engine processes triggers of the ame rule sequentially, so I expect everything will work as expected when using it. If you set this up…
… here are your DSL rules migrated to Jython and the helper libraries…
from core.rules import rule
from core.triggers import when
@rule("Verisure SmartLock Event Triggers")
@when("Channel verisure:smartLock:f1191aab:2B55ABBA:smartLockTriggerChannel triggered")
def smartlock_events(event):
smartlock_events.log.info("A SmartLock trigger event was detected: {}".format(event.event))
@rule("Verisure DoorWindow Event Triggers")
@when("Channel verisure:doorWindowSensor:f1191aab:2BEGABBA:doorWindowTriggerChannel triggered")
def doorwindow_events(event):
doorwindow_events.log.info("A DoorWindow trigger event was detected: {}".format(event.event))