Circuits, heat modes, and heat setpoints all function as expected now.
Also refactored a little bit for better code practices and created DOM controls through more appropriate means than just a bunch of strings, which allowed access to member functions rather than loose functions that were problematic for linting, accessing the appropriate unit, etc.
This gets the module far enough along that it can use the library, find and connect to a unit, and issue requests to it.
This is a copy/paste of the ScreenLogic version, so I expect a lot of changes/renames will need to happen still.