Hallo Zusammen,
ich habe eine Funktion erstellt, die mir ab 00:00Uhr stündlich (per Inject) die aktuelle Temperatur ausliest, diese aufaddiert und um 23:00Uhr den Tagesmittelwert bildet. Die Funktion tut absolut einwandfrei, jedoch nur solange man den Inject Node manuell triggert und sich das Ergebnis auf einem Debug-Node anschaut. Wenn ich dann alles laufen lasse, passiert um 23:00Uhr einfach garnichts. Kein return, keine Ausgabe. Kann mir jemand von euch sagen, was hier schief läuft?
Eine zweite Funktion setzt um 23:05 die globalen Variablen zurück auf 0, also daran sollte es nicht scheitern. Und wie gesagt, im Debug tut alles wunderbar...
Anbei mal der Code:
var zeitstempel = msg.payloadTimeStampTemp;
var currentTemp = global.get('currentTemp');
var averageTemp = global.get('averageTemp');
var sumCounter24 = global.get('sumCounter24');
var sumTemp = global.get('sumTemp');
if(zeitstempel === true)
{
sumCounter24 += 1;
global.set('sumCounter24', sumCounter24);
sumTemp = sumTemp + currentTemp;
global.set('sumTemp', sumTemp);
if(sumCounter24 == 24)
{
averageTemp = sumTemp/24;
msg.payload = Number(averageTemp.toFixed(2));
global.set('sumTemp',0.0);
global.set('averageTemp', 0);
global.set('sumCounter24', 0);
return msg;
}
msg.payload = {sumCounter: sumCounter24, sumTemp: sumTemp};
return msg;
}
Vielen Dank euch schon Mal!!