constellation.registerMessageCallback("SetColor",
    MessageCallbackDescriptor().setDescription("Sets the color of the LED strip").addParameter("color", "Color", "The RGB color"),
    [](JsonObject& json) {
      uint32_t color = Color(json["Data"][0]["R"].as<int>(), json["Data"][0]["G"].as<int>(), json["Data"][0]["B"].as<int>());
      constellation.writeInfo("Setting color to %d", color);
      for (int i=0; i < strip.numPixels(); i++) {
        strip.setPixelColor(i, color);
      }
      strip.show();
  });

constellation.registerMessageCallback("Blink",
  MessageCallbackDescriptor().setDescription("Blinks the LEDs").addParameter("color", "Color", "The RGB color").addParameter<short>("wait", "The delay of blink").addParameter<short>("repeat", "Number of repeats for Blink"),
  [](JsonObject& json) {      
    static uint32_t color;
    static short wait;
    color = Color(json["Data"][0]["R"].as<int>(), json["Data"][0]["G"].as<int>(), json["Data"][0]["B"].as<int>());
    wait = json["Data"][1].as<short>();
    short repeat = json["Data"][2].as<short>();
    constellation.writeInfo("Blink %d time(s) for %dms", repeat, wait);
    for (int j = 0; j <= repeat * 2; j++) {      
      for (int i=0; i < strip.numPixels(); i++) {    
        strip.setPixelColor(i, j % 2 == 0 ? color : 0);    
      }    
      strip.show();     
      delay(wait);    
    }    
    // Restore current color    
    showCurrentColor();
});

constellation.server.sendMessage({ Scope: 'Package', Args: ['LedStrip'] }, 'SetColor', [ { "R":0, "G":0, "B":255 }, 0, 0, 30 ]);
constellation.server.sendMessage({ Scope: 'Package', Args: ['LedStrip'] }, 'SetColor', [ { "R":255, "G":255, "B":255 }, 0, 31, 30 ]);
constellation.server.sendMessage({ Scope: 'Package', Args: ['LedStrip'] }, 'SetColor', [ { "R":255, "G":0, "B":0 }, 0, 61, 30 ]);

<div class="switch">
  <input ng-click="SetLedStrip(255, 180, 20)" ng-checked="LedStripState == true" type="radio" class="switch-input" id="switchLedStripOn" >
  <label for="switchLedStripOn" class="switch-label switch-label-off">Ouvert</label>					
  <input ng-click="SetLedStrip(0, 0, 0)" ng-checked="LedStripState == false" type="radio" class="switch-input" id="switchLedStripOff">
  <label for="switchLedStripOff" class="switch-label switch-label-on">Fermé</label>					
</div>

[MessageCallback]
public void PushButton()
{
    PackageHost.WriteInfo("On sonne à la porte !");
    // Envoie de l'image courant de la camera sur le smartphone    PackageHost.CreateMessageProxy("PushBullet").PushFile(cameraRue.StreamUri, "On sonne !", PushTargetType.Device, null);
    // Si l'alarme n'est pas armée
    if (!this.IsArmed)
    {
        // Faire clignoter les lampes Hue du salon
        PackageHost.CreateMessageProxy("Hue").ShowAlert(1, 0, 255, 0, 2000);
        // Faire clignoter la bande de LED de la cuisine
        PackageHost.CreateMessageProxy("LedStrip").Blink(new { R = 0, G = 255, B = 0 }, 500, 4); // 4x (2x500) ms
    }
    // Réveiller le mirroir de l'entrée et afficher le flux video de la camera
    theMirror.DoorBellRing();
}