node {
void evaluate(Context ctx) {
if (!isInputDirty<input_UPD>(ctx))
return;
auto pir = getValue<input_DEV>(ctx);
bool det = pir -> objectDetected();
bool rem = pir -> objectDetected();
uint16_t deb = pir -> getDebounceTime();
emitValue<output_DET>(ctx, det);
emitValue<output_REM>(ctx, rem);
emitValue<output_DEB>(ctx, deb);
emitValue<output_DONE>(ctx, 1);
}
}