Artnet Neopixel sketch umschreiben für DMX

So guten Morgen zusammen.
Ich hab heute morgen etwas mit SimpleDMX und Artnet gebastelt. nur leider hab ich bislang noch kein Signal am DMX Ausgang. Woran könnte das liegen? die DMX Werte werden aber schon Richtig ausgelesen und als Kontrolle via usb am rechner gesendet. doch das DMX Gerät selbst bleibt dunkel.

#include <Artnet.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
#include <SPI.h>
#include <Adafruit_NeoPixel.h>
#include <DmxSimple.h>

const byte Dmx1Pin = 0;

Artnet artnet;

const int startUniverse = 2; //Artnet Universum
const int maxUniverses = 90;
bool universesReceived[maxUniverses];
bool sendFrame = 1;
int previousDataLength = 0;


byte ip[] = {192, 168, 178, 46};
byte mac[] = {
  0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02
};
EthernetClient client;

void dmxWriteCallback(byte pin, int value)
{

  DmxSimple.write(pin, value);
  Serial.print(" ");
      Serial.print("CH: ");
      Serial.print(pin);
      Serial.print(" = ");
      Serial.print(value);
      Serial.print(" ");
      Serial.println();
}





void setup() {
  DmxSimple.usePin(Dmx1Pin);
  DmxSimple.maxChannel(1);
  
  //___________ip und Ethernet check_____________
  Serial.begin(115200);
  while (!Serial) {
    ; 
  }
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Fehler beim configurieren des Ethernet mit DHCP");
    for (;;)
      ;
  }
  Serial.print("Meine IP Adresse: ");
  for (byte thisByte = 0; thisByte < 4; thisByte++) {
    Serial.print(Ethernet.localIP()[thisByte], DEC);
    Serial.print(".");
  }
  Serial.println();
  //___________ip und Ethernet check ende__________


  //___________Artnet Starten______________________
  artnet.begin(mac, ip);
  artnet.setArtDmxCallback(onDmxFrame);
}
  //___________loop_________________________________
void loop() {
  artnet.read();

}
  //___________Datenstring auswerten________________
void onDmxFrame(uint16_t universe, uint16_t length, uint8_t sequence, uint8_t* data)
{
  sendFrame = 1;
  
   if ((universe - startUniverse) < maxUniverses)
    universesReceived[universe - startUniverse] = 1;

  for (int i = 0 ; i < maxUniverses ; i++)
  {
    if (universesReceived[i] == 0)
    {
      Serial.println("Broke");
      sendFrame = 0;
      break;
    }
  }
//Serial.println(length);
//Serial.println("");
if (universe == startUniverse)
{
  for (int i = 0; i < length ; i++)
  {
      int dmx1 = i + (universe - startUniverse) * (previousDataLength )+1;
      if (dmx1 < maxUniverses)
      dmxWriteCallback(dmx1, data[i]);
      //DmxSimple.write(dmx1, data[i]);
      
      
  }
  previousDataLength = length;
}
  if (sendFrame)
  {
   memset(universesReceived, 0, maxUniverses);
  }
}

am shield kann es schlecht liegen da ich es so wie hier Arduino Playground - HomePage angeschlossen habe.
ein auszug aus dem Print:

CH: 1 = 255 
CH: 2 = 195 
CH: 3 = 205 
CH: 4 = 222 
CH: 5 = 0 
CH: 6 = 0 
CH: 7 = 0 
CH: 8 = 0 
CH: 9 = 0 
CH: 10 = 0 
CH: 11 = 0 
CH: 12 = 0 
CH: 13 = 0 
CH: 14 = 0 
CH: 15 = 0 
CH: 16 = 0 
CH: 17 = 0 
CH: 18 = 0 
CH: 19 = 0 
CH: 20 = 0 
CH: 21 = 0 
CH: 22 = 0 
CH: 23 = 0 
CH: 24 = 0 
CH: 25 = 127 
CH: 26 = 127 
CH: 27 = 127 
CH: 28 = 127 
CH: 29 = 0 
CH: 30 = 0 
CH: 31 = 0 
CH: 32 = 0 
CH: 33 = 0 
CH: 34 = 0 
CH: 35 = 0 
CH: 36 = 0 
CH: 37 = 0 
CH: 38 = 127 
CH: 39 = 127 
CH: 40 = 127 
CH: 41 = 127 
CH: 42 = 0 
CH: 43 = 0 
CH: 44 = 0 
CH: 45 = 0 
CH: 46 = 0 
CH: 47 = 0 
CH: 48 = 0 
CH: 49 = 0 
CH: 50 = 0 
CH: 51 = 127 
CH: 52 = 127 
CH: 53 = 0 
CH: 54 = 0 
CH: 55 = 0 
CH: 56 = 0 
CH: 57 = 255 
CH: 58 = 0 
CH: 59 = 0 
CH: 60 = 127 
CH: 61 = 127 
CH: 62 = 0 
CH: 63 = 0 
CH: 64 = 0 
CH: 65 = 0 
CH: 66 = 255 
CH: 67 = 0 
....