filtrar mensaje por rf

hola buenas, para variar un poco tengo una nueva problematica
tengo este sketch salido de una web. el cual transmite un mensaje especifico

#include <VirtualWire.h>  // incluimos la libreria VirtualWire, deberemos haberla copiado en la carpeta libraries

void setup()
{

    vw_set_ptt_inverted(true);       // Inicializa el software de VirtualWire
    vw_setup(2000);                 // Bits por sec
    vw_set_tx_pin(10);                // definimos el pin 10 para el envio del mensaje, por defecto será el pin 12.
}

void loop()
{
    const char *msg = "Soy Un Gato";       // mensaje a enviar

   vw_send((uint8_t *)msg, strlen(msg));
   vw_wait_tx();                                          // espera a que finalice el envio del mensaje
   delay(200);
}

y tengo su contraparte que recibe el mensaje

#include <VirtualWire.h>  // incluimos la libreria 

void setup()
{
    Serial.begin(9600);         

    vw_setup(2000);                   // Bits por sec
    vw_set_rx_pin(9);           // definiremos el pin 9 para la recepcion, por defecto es el pin 11.
    vw_rx_start();                      // Activa la recepcion
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buffer = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buffer)) // comprueba si algo ha sido recibido
    {
    int i;
        
    for (i = 0; i < buffer; i++)
      {
         Serial.print(buf[i]);  // imprime en el puerto serie el dato recibido en el buffer
      }
    Serial.println("");
    }
}

necesito que el receptor filtre los mensajes que reciba, por ejemplo si recibe:
Soy un perro me encienda un led blanco
Soy un gato me encienda un led amarillo
Soy una persona me encienda un led rojo
dicho esto obviamente tendré varios emisores rf que trabajaran a la misma frecuencia para que el receptor pueda recibir sus mensajes.
la idea principal es que si hay un gato y un perro en el radio de alcanse del receptor se mantengan encendidos los leds hasta que estos esten fuera de rango.
atento a sus comentarios me despido

Hola.

Bueno tal y como lo planteas es completamente IMPOSIBLE hacerlo.

El problema reside a mi modo de ver para descriminar el mensaje en el transmisor. Con el receptor solo podrás leer el mensaje que te envia el transmisor

Se me ocurre alguna solución. Veamos por ejemplo usar en el transmisor algunos sensores tales como barreras de luz, sensores ultrasonicos, donde con una condicional if y dependiendo del ajuste del mismo te envia un mensaje u otro.

Tambien existe un código que lei, con mando codificado para estos RF433 donde el receptor leia la codificación del transmisor (posiblemente sea esto) lo que buscas pero obviamente el transmisor tendrá que tener como te he escrito sus sensores.