This project sounds amazing!
One additional software requirement is the ability to discern from the Hub end a physical button press, motion detection, and load state (on,off,dim) all independently, without changing the load state.
This allows for building reasonable human interactions, like “the garage lights just turned on from motion, but I don’t want them to turn off after 5 mins, so I just manually tap the on side of the paddle once.” This overrides the timer and keeps them on.
Or, “I need the lights to stay off while we sing happy birthday, so I manually tap the off side of the paddle”. The controller turns off the lights and ignores all further motion.
People that walk into the house shouldn’t need to be briefed on how to change the mode of the switch using the scene button or something else. A reasonable human might guess that trying to tap the on or off side of the paddle might make the lights stay in that state, like a normal switch.
This is a constant battle with the GE motion dimmers. In all fairness, this issue might be caused by limited SmartThings device handlers.
Another issue with the GE motion dimmers is that direct sunlight (even through a window) triggers the motion. Luckily the modules contain a light sensor, so the switch itself will ignore motion when the light is past a threshold, but it still makes some of the motion sensors unusable for security.
So, the takeaway is the light sensor is critical and its reading should also be accessible from the Hub/controller.