         // progress will start at 0.0 and end at 1.0
         HslColor updatedColor = HslColor::LinearBlend(originalColor, rgb, progress);
         strip.SetPixelColor(numberOfTheLight, updatedColor);
+        StripLightIsOn[numberOfTheLight] = true; // Keep track of on/off state
       };
       animator.StartAnimation(numberOfTheLight, transitionTime, animUpdate);
     }

  aJsonObject *state;
  aJson.addItemToObject(light, "state", state = aJson.createObject());
  unsigned int brightness = rgb.CalculateBrightness();
  if (brightness == 0)
    aJson.addBooleanToObject(state, "on", false);
  else
    aJson.addBooleanToObject(state, "on", true);


  Serial.println("1.: H, S, B");

  //  Serial.print("H = ");
  //  Serial.println(hsb.H);
  //  Serial.print("S = ");
  //  Serial.println(hsb.S);
  //  Serial.print("B = ");
  //  Serial.println(hsb.B);

  Serial.println("2.: Convert to hue, sat, bri");
  hue = floor(hsb.H * 182.04 * 360.0);
  sat = floor(hsb.S * 254);
  bri = floor(hsb.B * 254);
  //  Serial.print("hue = ");
  //  Serial.println(hue);
  //  Serial.print("sat = ");
  //  Serial.println(sat);
  //  Serial.print("bri = ");
  //  Serial.println(bri);

  hsb.H = hue;
  hsb.S = sat;
