@paul53
Ja, das klappt auch. Danke
Jetzt habe ich noch versucht die Dauer zu berrechnen, bekomme auch einen Wert in ms. Wie kann ich das in hh:mm:ss umschreiben?
const idTable = '0_userdata.0.JSON.Spülmaschiene'; // ID JSON-Tabelle
// const idStatus = 'homeconnect.0.011040388898000963.status.BSH_Common_Status_OperationState';
// const idProg = 'homeconnect.0.011040388898000963.programs.selected.BSH_Common_Root_SelectedProgram';
const idAktiv = 'homeconnect.0.011040388898000963.programs.active.BSH_Common_Root_ActiveProgram';
const idVerbrauch = 'sonoff.0.Spuehlmaschine.ENERGY_Total';
var table = [];
if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
var obj = {};
var StartVerbrauch = getState(idVerbrauch).val;
var startDate = new Date();
var endDate = new Date();
on(idAktiv, function(dp) {
if(dp.state.val) {
obj = {};
obj.Start = formatDate(new Date(), 'MM.DD.YY hh:mm');
obj.StartUhr = formatDate(new Date(), 'hh:mm');
obj.Programm = dp.common.states[dp.state.val];
StartVerbrauch = getState(idVerbrauch).val;
startDate = new Date();
} else {
obj.Ende = formatDate(new Date(), 'MM.DD.YY hh:mm');
obj.EndeUhr = formatDate(new Date(), 'hh:mm');
obj.Verbrauch = getState(idVerbrauch).val - StartVerbrauch;
endDate = new Date();
obj.Dauer = endDate - startDate, 'hh:mm:ss';
log(table);
table.push(obj);
if(table.length > 10) table.shift();
setState(idTable, JSON.stringify(table), true);
log(table);
}
});