Changing the contents of an Array

Or don't use an array at all. Use a struct and give the data meaningful names instead of an anonymous array index

struct dataLayout
{
  byte state = 1;
  byte batPercent = 100;
  int batMv  = 4217;
  byte rssi = 22;
  byte sms = 11;
  char * lock = "locked";
  char * light = "ON";
} data;

char outBuffer[100];

void setup()
{
  Serial.begin(115200);
  printData();
  data.light = "OFF";
  printData();
  data.rssi = 23;
  data.batMv = 1234;
  data.lock = "unlocked";
  printData();
}

void loop()
{
}

void printData()
{
  sprintf(outBuffer, "State = %d, Bat(%%) = %d, Bat(mV) = %d, RSSI = %d, SMS# = %d, Lock = %s, Light = %s",
          data.state, data.batPercent, data.batMv, data.rssi, data.sms, data.lock, data.light);
  Serial.println(outBuffer);
}