Rules not being followed

I haven’t dug into this yet, but yes, you shouldn’t have this issue with the Rules DSL. However, you may want to consider using Jython or Javascript instead, which can be used to create rules for the new rule engine. I use Jython for all of my rules, but have not encountered the issue you have reported. It would be interesting if you would recreate them in Jython, if you experience the same issue.

Here are your rules in Jython, using the helper libraries…

from core.rules import rule
from core.triggers import when

@rule("Master Closet Light")
@when("Item zwave_device_2eebb52b_node4_sensor_door changed")
def masterClosetLight(event):
    if event.itemState == OPEN:
        events.sendCommand("zwave_device_2eebb52b_node3_switch_binary", "ON")
        masterClosetLight.log.debug("Turned light ON")
    elif event.itemState == CLOSED:
        events.sendCommand("zwave_device_2eebb52b_node3_switch_binary", "OFF")
        masterClosetLight.log.debug("Turned light OFF")

@rule("Pantry Light")
@when("Item zwave_device_2eebb52b_node8_sensor_door changed")
def pantryLight(event):
    if event.itemState == OPEN:
        events.sendCommand("zwave_device_2eebb52b_node5_switch_binary", "ON")
        pantryLight.log.debug("Turned light ON")
    elif event.itemState == CLOSED:
        events.sendCommand("zwave_device_2eebb52b_node5_switch_binary", "OFF")
        pantryLight.log.debug("Turned light OFF")