Just a quick one from my side (about to wrap things up for 2017): It’s in theory also possible to get data back from the printer via custom controls, but the nature (and brokenness) of the involved protocol makes this a bit of a hassle and dependent on being able to match things via regular expressions. So as long as you control the firmware, you can even do that. However a network enabled config interface certainly would be nicer to use here and a plugin could easily be written for that, even injecting the corresponding buttons into the control tab.
About metrics, current Marlin versions (and Repetier?) actually support pushing that in regular intervals to the printer instead of OctoPrint having to pull it all the time via M105. In theory it would be possible to extend that data with more stuff as well, and extend the parser from a plugin. Just my two cents for now though.