Also, since you have a strong technical background, I’m going to suggest two additional resources.
One) the technical welcome FAQ. This is in the community – created wiki:
http://thingsthataresmart.wiki/index.php?title=Welcome_FAQ
- and a thread on writing your first device type handler, which might answer some of your other questions: