node {
TimeMs lastUpdateTime;
void evaluate(Context ctx) {
bool enabled = getValue<input_AnAus>(ctx);
bool update = isInputDirty<input_Update>(ctx);
bool reset = isInputDirty<input_Neustart>(ctx);
TimeMs t = transactionTime();
if (reset)
emitValue<output_Zeit>(ctx, 0);
else if (enabled && update) {
Number dtSeconds = (t - lastUpdateTime) / 1000.0;
Number oldSeconds = getValue<output_Zeit>(ctx);
emitValue<output_Zeit>(ctx, oldSeconds + dtSeconds);
}
lastUpdateTime = t;
}
}