 //  AssertIsEqualWithDelta(step2C16, rs2.getVelocityC16PerTick(), 2);
   // Test that soft setback works as expected to support dark-based quick setback.
   // ENERGY SAVING RULE TEST (TODO-442 2a: "Setback in WARM mode must happen in dark (quick response) or long vacant room.")
-#ifndef OMIT_MODULE_LDROCCUPANCYDETECTION
-      //AmbLight._TEST_set_multi_((j != 0) ? 1023 : 0, j != 0);
     // ENERGY SAVING RULE TEST (TODO-442 2a: "Setback in WARM mode must happen in dark (quick response) or long vacant room.")
-    ModelledRadValveInputState is3(100<<4);
-    is3.targetTempC = WARM;
+    OTRadValve::ModelledRadValveInputState is3(100<<4);
+    is3.targetTempC = 25;
     // Try a range of (whole-degree) offsets...
     for(int offset = -2; offset <= +2; ++offset)
       {
       // Try soft setback off and on.
       for(int s = 0; s < 2; ++s) 
         {
-#if defined(ALLOW_SOFT_SETBACK)
-        is3.softSetback = (0 != s);
-#endif
         // Other than in the proportional range, valve should unconditionally be driven off/on by gross temperature error.
         if(0 != offset)
           {
           is3.refTempC16 = (is3.targetTempC + offset) << 4;
           // Where adjusted reference temperature is (well) below target, valve should be driven on.
-          ModelledRadValveState rs3a;
+          OTRadValve::ModelledRadValveState rs3a;
           valvePCOpen = 0;
           rs3a.tick(valvePCOpen, is3);
 //DEBUG_SERIAL_PRINT('@');

  // and also test that the fully-open state is reached in a bounded number of ticks ie bounded time.
  static const int maxFullTravelMins = 25;
//  DEBUG_SERIAL_PRINTLN_FLASHSTRING("open...");
  ModelledRadValveInputState is0(0);
  is0.targetTempC = OTV0P2BASE::randRNG8NextBoolean() ? FROST : WARM;
  ModelledRadValveState rs0;
  const uint8_t valvePCOpenInitial0 = OTV0P2BASE::randRNG8() % 100;
  volatile uint8_t valvePCOpen = valvePCOpenInitial0;
  for(int i = maxFullTravelMins; --i >= 0; ) // Must fully open in reasonable time.

          {
          // Below the half way mark the valve should always be opened (from off), soft setback or not.
          is3.refTempC16 = (is3.targetTempC << 4) + 0x4;
          OTRadValve::ModelledRadValveState rs3c;
          valvePCOpen = 0;
          rs3c.tick(valvePCOpen, is3);
          AssertIsTrue(valvePCOpen > 0);
          // Above the half way mark the valve should only be opened without soft setback.
          is3.refTempC16 = (is3.targetTempC << 4) + 0xc;
          OTRadValve::ModelledRadValveState rs3d;
          valvePCOpen = 0;
          rs3d.tick(valvePCOpen, is3);
          AssertIsTrue(0 == valvePCOpen);
          }
        }
      }
  }


