   cmdMessenger.sendCmd(kError,"Command without attached callback");
 }
 
-void OnSetRgb(){
+void OnSetR(){
   int16_t r = cmdMessenger.readInt16Arg();
+  analogWrite(PIN_LED_R, r);
+  cmdMessenger.sendCmdStart(kAcknowledge);
+}
+
+void OnSetG(){
   int16_t g = cmdMessenger.readInt16Arg();
+  analogWrite(PIN_LED_G, g);
+  cmdMessenger.sendCmdStart(kAcknowledge);
+}
+
+void OnSetB(){
   int16_t b = cmdMessenger.readInt16Arg();
-
-  analogWrite(PIN_LED_R, r);
-  analogWrite(PIN_LED_G, g);
   analogWrite(PIN_LED_B, b);
-
   cmdMessenger.sendCmdStart(kAcknowledge);
 }
 


void attachCommandCallbacks(){
  cmdMessenger.attach(              OnUnknownCommand);
  cmdMessenger.attach(kSetRgb,      OnSetRgb        );
  cmdMessenger.attach(kGetTemp,     OnGetTemp       );
  cmdMessenger.attach(kGetHumidity, OnGetHumidity   );
  cmdMessenger.attach(kGetLight,    OnGetLight      );

enum{
  kAcknowledge,     // 0 
  kError,           // 1
  kSetR,            // 2
  kSetG,            // 3
  kSetB,            // 4
  kGetTemp,         // 5
  kGetHumidity,     // 6
  kGetLight,        // 7
  knix8,
  knix9,
  kTemp,            // 10          
