Always great to see detailed project descriptions. With pictures! Looking forward to seeing more reports as they’re available.
One small but critical point… It is not the device type handler that tells the device what to do. That would be a Smartapp or some other function manager.
Instead, what device type handlers do is simply translate the request from the function manager into the specific format that the device requires. And translate any communication messages coming back. Basically the same as a printer driver.
The handler gives you a mechanism for telling the device what to do, but you still need a function manager to decide what instruction to send when.
Just wanted to mention it because people may get rather confused if they read other resources in the forums and in the official docs about device type handlers.
Also, SmartThings draws quite a hard line between “smartapps” (code written to run on the smartthings platform) and “apps” ( code that runs outside the SmartThings platform but may communicate to it in various ways, such as SmartRules or the official SmartThings mobile app). I’m not 100% sure, but I believe that your references to “app” would probably more accurately be references to a “SmartApp.”