  
 }
 
+void setInfoColor(byte i)
+{
+  if (last_led_color == i) return;
+  LedRGB colors[8] = {
+    {0, 0, 0},       // 0 -> if "0" and powerOff
+    {0, 0, 255},     // 1 -> Init in progress
+    {255, 140, 0},   // 2 -> WiFi problem
+    {255, 0, 0},     // 3 -> big error
+    {255, 255, 255}, // 4 white, reserved for future idiea ;) 
+    {45, 255, 215},  // 5 -> if "0" and powerOn and source "0" (PC)
+    {25, 255, 80},   // 6 -> if "0" and powerOn and source "1" (RPi3/Phone)
+    {255, 0, 255}    // 7 -> if powerOff and error (for blinking)
+  };
+  ledSupport.setColor(LED_PIN_MAIN, 0, colors[i]);
+  last_led_color = i;
+}
+
 void setInfoLed()
 {
   if (!power_on and system_status==0) {
-    ledSupport.setColor(LED_PIN_MAIN, 0, {0, 0, 0});
+    setInfoColor(0);
     return;
   }
   if (not (blink or power_on)) {
-    ledSupport.setColor(LED_PIN_MAIN, 0, {255, 0, 255});
-  } else {
-    switch (system_status) {
-      case 0:
-        if (source == 0) {
-          ledSupport.setColor(LED_PIN_MAIN, 0, {45, 255, 215});
-        } else {
-          ledSupport.setColor(LED_PIN_MAIN, 0, {25, 255, 80});
-        }
-        break;
-      case 1:
-        ledSupport.setColor(LED_PIN_MAIN, 0, {0, 0, 255});
-        break;
-      case 2:
-        ledSupport.setColor(LED_PIN_MAIN, 0, {255, 140, 0});
-        break;
-      case 3:
-        ledSupport.setColor(LED_PIN_MAIN, 0, {255, 0, 0});
-        break;
-      default:
-        ledSupport.setColor(LED_PIN_MAIN, 0, {255, 255, 255});
-    }
-  }
-  
+    setInfoColor(7);
+  } else if (system_status == 0) {
+    setInfoColor(5 + source);
+  } else if ( system_status < 5){
+    setInfoColor(system_status);
+  }
 }
 
 void powerOff()

byte system_status = 1;
byte error_count = 0;
byte source = 0;
bool power_on = true;
/*
 * 0 -> normal no errors

void setMainColor(LedRGB rgb)
{
  setLedColor(LED_PIN_MAIN, 0, rgb);
  last_led_color = 255;
  // restet wachdog,: give time to see message :)
  timer0_write(ESP.getCycleCount() + WACHDOG_INTERVAL);
}

void setBackColor(LedRGB rgb)
{
  ledSupport.setColor(LED_PIN_MAIN, 1, rgb);
}

void setLedColor(uint16_t pin, uint8_t id, LedRGB rgb)
