In your code, I can't see how you address the devices?
How does each client know the request is for them?
As to your requirement, that seems easy enough:
if (readString.substring(0) == "START")
{
Serial.println("START detected");
readString=""; //clears variable for new input
Flash();
} elseif (readString.substring(0) == "RESET")
{
Serial.println("RESET detected");
readString=""; //clears variable for new input
Reset();
} else {
Serial.println("Not understood!");
readString="";
Reset();
}
Though if you send Not understood all devices would receive it - so they all need to make sure they ignore requests that aren't for them.
let's assume you want to reset device 5 of 6.
BaseStation sends out #5RESET
Your code should check for and remove #5, and then move to Reset.
If it isn't #5 it should ignore it.
In it's reply, you could do !5RESET-OK
This would let your BaseStation know #5 reset was OK.