     // Read a line up to a terminating CR, either on its own or as part of CRLF.
     // (Note that command content and timing may be useful to fold into PRNG entropy pool.)
     // A static buffer generates better code but permanently consumes previous SRAM.
-    const uint8_t n = OTV0P2BASE::CLI::promptAndReadCommandLine(maxSCT, s, [](){pollIO();});
-    char *buf = (char *)s.buf;
-    if(n > 0) {
-        // Got plausible input so keep the CLI awake a little longer.
-        OTV0P2BASE::CLI::resetCLIActiveTimer();
-        // Process the input received, with action based on the first char...
-        switch(buf[0]) {
+//    const uint8_t n = OTV0P2BASE::CLI::promptAndReadCommandLine(maxSCT, s, [](){pollIO();});
+//    char *buf = (char *)s.buf;
+//    if(n > 0) {
+//        // Got plausible input so keep the CLI awake a little longer.
+//        OTV0P2BASE::CLI::resetCLIActiveTimer();
+//        // Process the input received, with action based on the first char...
+//        switch(buf[0]) {
 //            // Explicit request for help, or unrecognised first character.
 //            // Avoid showing status as may already be rather a lot of output.
 //            default: case '?': { dumpCLIUsage(); break; }

            // Tasks that must be run every minute.
            ++minuteCount; // Note simple roll-over to 0 at max value.
            // Force to user's programmed schedule(s), if any, at the correct time.
//            Scheduler.applyUserSchedule(&valveMode, OTV0P2BASE::getMinutesSinceMidnightLT());  // XXX
            // Ensure that the RTC has been persisted promptly when necessary.
            OTV0P2BASE::persistRTC();
            // Run hourly tasks at the end of the hour.

//            }
//            // Zap/erase learned statistics.
//            case 'Z': { OTV0P2BASE::CLI::ZapStats().doCommand(buf, n); break; } // XXX
//        }
//        // Else show ack of command received.
//        Serial.println(F("OK"));
//    } else { Serial.println(); } // Terminate empty/partial CLI input line after timeout.
    // Force any pending output before return / possible UART power-down.
    OTV0P2BASE::flushSerialSCTSensitive();
    if(neededWaking) { OTV0P2BASE::powerDownSerial(); }
