     Serial.println(str);
   }
 
-  else if (requestedUri.endsWith("/lights"))
-    // We simulate one bulb per NeoPixel (TODO: more clever ideas?)
-  {
-    String str = "[{ " + getLightString(1) + "}]";
+  else if (requestedUri.endsWith("/state"))
+  {
+    String str = "{ \"state\": { \"hue\": 50000, \"on\": true, \"effect\": \"none\", \"alert\": \"none\", \"bri\": 200, \"sat\": 200, \"ct\": 500, \"xy\": [0.5, 0.5], \"reachable\": true, \"colormode\": \"hs\" }, \"type\": \"Living Colors\", \"name\": \"LC 1\", \"modelid\": \"LC0015\", \"swversion\": \"1.0.3\", \"pointsymbol\": { \"1\": \"none\", \"2\": \"none\", \"3\": \"none\", \"4\": \"none\", \"5\": \"none\", \"6\": \"none\", \"7\": \"none\", \"8\": \"none\" } }";
     HTTP.send(200, "text/plain", str);
     Serial.println(str);
+    // For this to work we need a patched version of esp8266/libraries/ESP8266WebServer/src/Parsing.cpp which hopefully lands in the official channel soon
+    // https://github.com/me-no-dev/Arduino/blob/d4894b115e3bbe753a47b1645a55cab7c62d04e2/hardware/esp8266com/esp8266/libraries/ESP8266WebServer/src/Parsing.cpp
+    Serial.println(HTTP.arg("plain"));
+    int numberOfTheLight = atoi(subStr(requestedUri.c_str(), "/", 4)); // The number of the light to be switched; they start with 1
+    Serial.print("Number of the light --> ");
+    Serial.println(numberOfTheLight);
+
+    StaticJsonBuffer<200> jsonBuffer;
+    JsonObject& root = jsonBuffer.parseObject(( char*) HTTP.arg("plain").c_str());
+    if (!root.success()) {
+      Serial.println("parseObject() failed");
+      return;
+    }
+   bool onValue = root["on"];
+    Serial.print("I should --> ");
+    Serial.println(onValue);
+    if (onValue == true) 
+      strip.SetPixelColor(numberOfTheLight - 1, white); // For now we ignore the color (FIXME)
+    if (onValue == false)
+      strip.SetPixelColor(numberOfTheLight - 1, black); 
+    strip.Show();
   }
 
   else if (requestedUri == "/description.xml")

    strip.Show();
  }
}

String client = "e7x4kuCaC8h885jo"; // "UjBZ0nvTLu7aMdOe"; // The client string that the client app sends. Need to enter here what the app sends.
// FIXME: Parse this out of what is being sent by the app.

void handleAllOthers() {
  Serial.println("===");
  String requestedUri = HTTP.uri();
  Serial.print("requestedUri: ");
  Serial.println(requestedUri);

  if ( requestedUri.endsWith("/config") )
  {
    // Using a library like in the following is probably the way to do; we can even do entirely without using String, saving memory.
    // However, it is not entirely clear to me how to use it, see https://github.com/bblanchon/ArduinoJson/issues/85
    StaticJsonBuffer<200> jsonBuffer;
    JsonObject& root = jsonBuffer.createObject();
    root["name"] = "Philips hue";
