// How PowerState info might be organized
// RBLandau 20070205
// what state is the device in right now?
CurrentPowerState
// scalar
// note: some states are impossible to report, e.g., AC Off
enum
Unknown
Active Off
Standby
Power Save
Cooling
Warming
On
readonly
mandatory
always
// command variable to set the state of the device
RequestedPowerState
// scalar
// just power on/off not sufficient
// Note: some states are not legal to request, ever
enum
Deep Sleep
Active Off
Standby
Power Save
On
writable
mandatory
always
PowerStatesImplementedTable
// one row per state that exists in this device
// this lists all the capabilities of the device, even
// including states that cannot be reported by the mgt agent
// but you can't implement "Unknown"
PowerState
enum
AC Off
Deep Sleep
Active Off
Standby
Power Save
Cooling
Warming
On
Description
string
// vendor marketing name, e.g., "Joe's super-duper power-saver"
AdditionalDescription
string
// e.g., "Responds to remote control only."
PowerTransitionTable
// one row per legal transition in this device
// includes only transitions that can be requested remotely
FromState
must match some PowerState row in ImplementedTable
ToState
must match PowerState in ImplementedTable
TransitionTime
might put Uptime and Downtime in here