As I'm poking around under the hood trying to understand how some things bolt together so I can look at implementing some things I've been thinking about, I've got a few questions about how things work in the device table.
1. What is the purpose of the 'state' field?
2. Is the intention of the 'status' field to show a near-real-time status of the device in question? Typically, what is responsible for updating that field? Based on what's shown in the wiki, it's almost as if each device class or plugin is responsible for updating status. http://wiki.linuxmce.org/index.php/Device_Status
3. As there is a MAC address and an IP address as part of the device's data, would it also not be prudent to have a hostname field as part of the device data? It would make some aspects of managing the LMCE internal network a lot easier if that data were present in the device table, rather than derived and hard coded in external scripts or elsewhere in the database. I'm looking at playing around with the 'workstation' aspect, and it would sure make my life easier if the hostname were there. (Note: there is a "#188 computer name" data point, but that seems like a WINS name field to me, but I could be mistaken).
If the core devs don't see an issue with that, I'll put a feature request ticket in for that schema change. The core devs would be the ones with a full understanding of the possible effects that change would have, so I would think they'd want to handle any change to a core db table like device.
Also, one final question: I manually changed a MD from a MD template to a workstation template in the Device table, and that seems to work. Is that data recorded anywhere else besides the device table?
Thanks for your time, and happy home automation for 2013!