15 lines
832 B
JavaScript
15 lines
832 B
JavaScript
var atMidnight = getChannelValue("totalizer_1_val_at_midnight");
|
|
var atMidnightHistory = getChannelHistory("totalizer_1_val_at_midnight", -1 * daysToSeconds(2), 0)
|
|
var valAtMidnight = parseFloat(atMidnight.Value);
|
|
var atMidnightDate = new Date(atMidnight.Timestamp * 1000);
|
|
var payloadDate = new Date(payload.Timestamp * 1000);
|
|
if ((atMidnightHistory.length < 1) || (atMidnightDate.getDate() !== payloadDate.getDate())){
|
|
if (!isNaN(valAtMidnight)){
|
|
sendChannelValue('totalizer_1_yesterday', parseFloat(payload.Value) - valAtMidnight, payload.Timestamp);
|
|
}
|
|
sendChannelValue('totalizer_1_val_at_midnight', parseFloat(payload.Value), payload.Timestamp);
|
|
valAtMidnight = parseFloat(payload.Value);
|
|
}
|
|
var valToday = parseFloat(payload.Value) - valAtMidnight;
|
|
sendChannelValue('totalizer_1_today', valToday, payload.Timestamp);
|