     // Handling the UI may have taken a little while, so process I/O a little.
     if(recompute || valveUI.veryRecentUIControlUse()) {
         // Force immediate recompute of target temperature for (UI) responsiveness.
-        // NominalRadValve.computeTargetTemperature(); XXX
+        NominalRadValve.computeTargetTemperature();
         // Keep dynamic adjustment of sensors up to date.
         updateSensorsFromStats();
     }

    // Enable "+" count field for diagnostic purposes, eg while TX is lossy,
    // if the primary radio channel does not include a sequence number itself.
    // Assume that an encrypted channel will provide its own (visible) sequence counter.
    // TODO Stats need updating (valvePC replaced with on off? or just send 0 or 100).
    ss1.enableCount(false);  // Always encrypted
    ss1.put(TemperatureC16);
    ss1.put(Occupancy.twoBitTag(), Occupancy.twoBitOccupancyValue()); // Reduce spurious TX cf percentage.

// Should be run once at a fixed slot in the last minute of the last hour of each day.
// Will be run after all stats for the current hour have been updated.
static void endOfDayTasks() {
    OTRadValve::countDownSetbackLockout();
}

