Well, that helped.. With that line you've just sent I've realised something quite logical... Oops.

This line from post #7:
Code:
 unsigned intresult = 100 * (packetBuffer[0] - '0') + 10 * (packetBuffer[1] - '0') + (packetBuffer - '0');
shoud be:
Code:
unsigned intresult = 100 * (packetBuffer[0] - '0') + 10 * (packetBuffer[1] - '0') + (packetBuffer[2] - '0');
Like this the ID is set correctly.
I still got one weird answer from the device like mentioned in post #11 at point 6
The interesting thing is that the device will always respond: (current)ID + " : This command is not recognized"

The ID is always 225, no matter which value I set as ID.
I still have this issue, but the ID is now always 2 instead of 225.

Also, facing this code; what is the minimum possible value of ID and what is the maximum possible value of ID?

The code you mentioned in post #13, I should delete that... It's not necessary