   0, 0,                                 // Net (0-127) and subnet (0-15)
   "VardeLED",                           // Short name
   "VardeLED",                           // Long name
-  1,                                    // Number of ports
+  4,                                    // Number of ports
   {PortTypeDmx|PortTypeOutput, PortTypeDmx|PortTypeOutput, PortTypeDmx|PortTypeOutput, PortTypeDmx|PortTypeOutput}, // Port types
-  {2, 3, 4, 5},                         // Port input universes (0-15)
-  {5, 6, 7, 8}                          // Port output universes (0-15)
+  {0, 0, 0, 0},                         // Port input universes (0-15)
+  {0, 1, 2, 3},                          // Port output universes (0-15)
+  VERSION_HI,                                    
+  VERSION_LO                                    
 };
 
 ArtNode node;
 ////////////////////////////////////////////////////////////
 
 void setup() {
+  loadConfig();
+  
+  config.numPorts = 4;
+  for(int i=0;i<config.numPorts;i++){
+    config.portTypes[i]= PortTypeDmx|PortTypeOutput;
+  }
   
 #ifdef PIN_RESET
   pinMode(PIN_RESET, OUTPUT);

          case OpDmx: {
            ArtDmx* dmx = (ArtDmx*)buffer;
            int port = node.getPort(dmx->SubUni, dmx->Net);
            switch (port) {
              case 0:
               //mergeRGBWtoLED(dmx->Data, (byte*)leds1, NUM_RGBW);
                //FastLED[0].show(leds1, NUM_RGB, 255);            
                memcpy(leds1, dmx->Data, NUM_RGBW*4);
                FastLED[0].show(leds1, NUM_RGB, 255);
                
                break;
              case 1:
                mergeWtoRGBW(dmx->Data, (byte*)leds1, NUM_RGBW);
                FastLED[0].show(leds1, NUM_RGB, 255);
                break;
              case 2:
                mergeRGBtoRGBW(dmx->Data, (byte*)leds2, NUM_RGBW);
                FastLED[1].show(leds2, NUM_RGB, 255);
                break;
              case 3:
                mergeWtoRGBW(dmx->Data, (byte*)leds2, NUM_RGBW);
                FastLED[1].show(leds2, NUM_RGB, 255);
                break;
            }
          }
          break;

          // IpProg packet
          case OpIpProg:
            node.createIpProgReply();
            artnetSend(buffer, sizeof(ArtIpProgReply));
            break;

          // Unhandled packet
          default:
            break;
        }
      }
    }
  }
}


  node = ArtNode(config, sizeof(buffer), buffer);

  FastLED.addLeds<WS2812, 5, RGB>(leds1, NUM_RGB);
  FastLED.addLeds<WS2812, 20, RGB>(leds2, NUM_RGB);
  FastLED.addLeds<WS2812, 8, RGB>(leds3, NUM_RGB);
  FastLED.addLeds<WS2812, 14, RGB>(leds4, NUM_RGB);

  Serial.begin(9600);

  blink();
}

////////////////////////////////////////////////////////////
