mal wieder ein integer problem, trotz suche komm ich nicht drauf

Hier mein code:

//ETHERNET
#include <Ethernet.h>
#include <SPI.h>
byte myMac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte myIp[]  = { 192,168,0,110 };  //Arduino Ethernet IP
byte destIp[] =  { 192,168,0,102 }; //iPhone IP
int  serverPort  = 8000; //Arduino Port
int  destPort = 9000; //iPhone Port

//Z OSC
#include <Z_OSC.h>

// Initialisierung des OSC-Servers
Z_OSCClient client;
Z_OSCServer server;
Z_OSCMessage *rcvMes;
Z_OSCMessage message;

String devicename [8] = {"/1/label", "/1/tempview", "/1/time", "/1/fans", "/2/blue/", "/2/white/", "/2/red/", "/2/uv/"}; 




void setup() {
  Ethernet.begin(myMac ,myIp);
  server.sockOpen(serverPort);
  Serial1.begin(19200);
  Serial.begin(19200);
}

void loop() {

  readSERVER();
  //Serial.println
}


void readSERVER() {
  if(server.available()){
    rcvMes=server.getMessage();
    writeXBEE(rcvMes->getZ_OSCAddress(),rcvMes->getFloat(0));  
  }
}



void writeXBEE(String text,float val) {
  if(text=="/1/toggle1") {
    if (val==0) {
      Serial.println("off");
      sendtoOSC(1,1,50);
    }
    if (val==1) {
      Serial.println("on");
            sendtoOSC(1,1,250);
    }      
  }  
}


void sendtoOSC(int device, int channel, int value)
{
  Z_OSCMessage message;  
  message.setAddress(destIp,destPort);
  String sendingname = devicename[device-1]+channel;
  byte len = sendingname.length() + 1;
  char OSCname[len];
  sendingname.toCharArray(OSCname,len);  
  message.setZ_OSCMessage(OSCname, "i", value);
  client.send(&message); 
}

was passiert:
in TouchOSC (iPhone) drücke ich einen button toggle1 - die info wird über ethernet an mein arduino geschickt.
Das klappt perfekt, ausgabe ist on oder off.
Gleichzeitig teste ich das senden von daten an TouchOSC. Je nach on oder off soll der int Wert 50 oder 250 gesendet werden.
Wenn ich mir diesen (value) am monitor ausgeben lasse, passt das.
message.setZ_OSCMessage(OSCname, “i”, value);
Aber am Handy kommen ganz andere Zahlen an:
statt 50: 100663296
statt 250: 555819297

Gibts da ne Erklärung und nen Tipp?
Macht es Sinn den int in einen String zu wandeln? Das habe ich leider nicht hinbekommen.

VG
Thorsten

client.send(&message);

sendet die Adresse eines Z_OSCMessage Objekts.

Müsste man Z_OSCClient::send() anschauen, warum das keinen Fehler beim compilieren gibt, und wenn das als Text interpretiert werden kann, was da drin steht...