Criar protocolo e verificar

Estou tentando criar um tipo de "protocolo" para que uma página web envie para o arduino informações de acionamento de lampadas, eletronicos e entre outros. Mas para isso, o arduino precisa saber o que acionar e em que setor, por exemplo:

Iluminação: LZ000 (lampada 0, desligar)
LZ001 (lampada 0, ligar)
LZ010 (iluminação, lampada 1, desligar)
LZ011 (iluminação, lampada 1, ligar)

Eletronicos: EL000 (eletronico 0, desligar)
EL001 (eletronico 0, ligar)

O arduino recebe algo do tipo:

GET /?acao=LZ000&_=1423591719106 HTTP/1.1

Para identificar o "protocolo" na String e depois fazer as comparações pensei algo assim:

void loop()
{
  EthernetClient client = server.available();
  if(client)
  {
    boolean continua = true;
    String linha = "";

    while(client.connected())
    {
      if(client.available()){
        char c = client.read();
        linha.concat(c);
  
        if(c == '\n' && continua)
        {
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/javascript");
          client.println("Access-Control-Allow-Origin: *");
          client.println();          
         
          int iniciofrente = linha.indexOf("?");
                
          if(iniciofrente>-1){     //verifica se o comando veio
            iniciofrente     = iniciofrente+6; //pega o caractere seguinte
            int fimfrente    = iniciofrente+5; //esse comando espero 5 caracteres
            String acao    = linha.substring(iniciofrente,fimfrente);//recupero o valor do comando
            
            Serial.print(linha);
            
            if(acao.substring(0,2) == "LZ"){
              if(acao.substring(2,5) == "000"){
                Serial.println("Desliga LUZ 1");
              }
              else if(acao.substring(2,5) == "001"){
                Serial.println("Liga LUZ 1");
              }
              else {
                Serial.println("Nao encontrou a opcao da LUZ");
              }
            }
            else {
              Serial.println("NAO ENCOTROU OPCAO");
            }
         }          
          break;
        }
        if(c == '\n') { continua = true; }
        else if (c != '\r') { continua = false; }
      }
    }
     delay(2);
     client.stop();
  }
 }
}

Teria alguma outra maneira de fazer essas verificações de uma maneira mais "limpa"?