When using the TemporalMLDataSet you create a TemporalDataDescription object for each of the values that you want in the training set. So for your data set you would have two TemporalDataDescription objects. One for the DeviceConsumption and one for TotalPower. The two booleans at the end allow you to specify the predicted column. You would set DeviceConsumption to input & output, and set TotalPower to just input. The Data column the MLDataSet is not really aware of, you just have to set it to a numerically increasing value, such as how the sunspots example works.
Columns can be marked as input and/or output. Input columns are used to predict, output columns are what you are trying to predict. A single column can (and often is) both input and output. Such is the case with the sunspots example, and such is the case also in the data above.