como se hace un find en un SoftwareSerial?

Hola,
si me estan entrando tramas por serie en arduino y quiero que pase algo al recibir algo especifico:

 if(Serial.find("led1off"))
  {
    digitalWrite(led, LOW);
  }
  if(Serial.find("led1on"))
  {
    digitalWrite(led, HIGH);
  }

pero ahora cambio un poco el codigo para ponerlo en un attiny85, no tengo serial pero tengo softwareserial, pero este no tiene "find"
¿como busco la cadena "led1on" o "led1off" dentro de los datos recibidos por softwareserial?

Hola.
Según creo, el método find no está implementado en la clase Serial, sino en la clase Stream, de la que heredan tanto Serial como SoftwareSerial, así que muy probablemente también puedas utilizarlo en un objeto softwareserial.

noter:
Hola.
Según creo, el método find no está implementado en la clase Serial, sino en la clase Stream, de la que heredan tanto Serial como SoftwareSerial, así que muy probablemente también puedas utilizarlo en un objeto softwareserial.

al compilar me sale:
error: ‘class SoftwareSerial’ has no member named ‘find’
al usarlo como:

if(dbgSerial.find("led1on"))
  {
    digitalWrite(led, HIGH);
  }

¿cómo lo soluciono? ¿tengo que hacer un include de stream?

Podrías guardar la información de la clase serial en una variable y luego hacer el find.

Tienes bien instalada la librería?
Puedes poner vínculo a la librería en concreto?
Ahora no puedo probarlo, pero aseguraría que ayer me compiló sin problemas.

gepd:
Podrías guardar la información de la clase serial en una variable y luego hacer el find.

¿como se hace eso?

noter:
Tienes bien instalada la librería?
Puedes poner vínculo a la librería en concreto?
Ahora no puedo probarlo, pero aseguraría que ayer me compiló sin problemas.

lleva instalada toda la vida, puede ser que mi version sea demasiado prehistorica?

Hola.
Acabo de abrir el ejemplo SoftwareSerialExample que viene en la librería que tengo yo, y le he añadido una línea:

    if(mySerial.find("hola")) Serial.println("Hola encontrado");

y compila sin problemas.

Si buscas y abres con un editor el archivo SoftwareSerial.h, la clase está definida así:

class SoftwareSerial : public Stream

Lo que significa que, en mi caso, la clase efectivamente hereda de Stream.

Por cierto, podías comenzar poniendo tu código completo, a ver si hay algún error o por el contrario compila sin problemas también.

gracias a todos por responder, me he dado cuenta del fallo (pero aun no tengo solucion). Este fallo me sale cuando cambio la placa en el IDE de Arduino UNO a ATTiny85. Con Arduino no da fallos, con el tinny me da el fallo que he puesto antes, entonces pregunto:
¿cómo hago un find en una entrada de datos softwareserial en un attiny85?
en caso de no poder, he probado el siguiente código:

#include <SoftwareSerial.h>
const int rx=3;
const int tx=1;

SoftwareSerial mySerial(rx,tx);
int i=0;
char buf[12];

void setup() 
{ 
pinMode(rx,INPUT);
pinMode(tx,OUTPUT);
mySerial.begin(9600);
} 

void loop() 
{ 
if (mySerial.available()>0){
buf[i]= mySerial.read(); 
if (int(buf[i])==13 || int(buf[i])==10 ){ //If Carriage return has been reached
mySerial.println(buf);

for(int x=0;x<=10;x++){
buf[x]=' ';
}
i=0; //start over again

} //if enter
i++; 
} //If mySerial.available
}//LOOP

ese codigo supersimple, saca por serie, lo que recibe por serie al pulsar intro. Lo he probado en mi attiny85 y fuinciona, peeeeero, de vez en cuando:
enviar "hola"
recibido "hola"
enviar "hola"
recibido "0x00//hola"
enviar "hola"
recibido "0x00//hola"

y no me gusta, por lo que necesitaría hacer una búsqueda de la cadena "hola" en la cadena recibida, para quitar la morralla que pueda meterse por medio. Yo en mi linux haría algo como:

if [ $(grep -c hola $recibido) -ne 0 ]
then
        echo "se recibe hola";
else
        echo "no se recibe hola";
fi

en fin, ¿alguien puede ilustrarme un poco?