I understand how to use Rule Machine to test if a door is closed before locking it. What I'm unsure of is if there is a way to write the condition once and use it many times. I use a few different scene controllers and key fobs to lock the doors. How would I go about making a "lock door" program that includes the check, and then point all those devices to the program. Instead of, including the door state check on each button device I want to lock the door with.
it is really more a question of Rule Machine etiquette and using efficiently.
No, but there is a full featured version of Button Controller built into Rule Machine. Create a new rule, and select a Trigger Event of "Button device". That will give you the same UI as Button Controller, but the full functionality of RM actions.