Problems with digi poti AD5263 over I2C, pls help

What adress do i need in the line:

That depends on how you wired your chip. As you forgot to post the wiring diagram I can only tell you that the number is in the range 0x2C - 0x2F. If you provide more information (as the sticky post at the top of the forum should have told you) we might help more.

This is quite a strange syntax:

if (datastring[0] == "M"[0]) {

Using

if (datastring[0] == 'M') {

would have been much clearer.

This

if ((datastring[1] + datastring[2]) == ("on"[0] + "on"[1])) {

is definitely not doing what you expect it to do.

In any case: get rid of the String class, it wastes a lot of memory and Arduinos have very little of it. Learn to use the C string comparison functions as p.e. strncmp(), although your simple parser could be done by byte comparisons without problems.