Ich habe das bei einer Lichtschranke, die dem Umgebungslicht ziemlich stark ausgesetzt war so gelöst:
Ich habe nach dem Starten des Programms ein paar Referenzwerte gemessen (Lichtschranke nicht unterbrochen) und wusste dann, dass sie bei einer bestimmten Abweichung unterbrochen wurde. Die Veränderungen des Tageslichts ließen sich miteinbeziehen, indem man misst, in welchem Zeitraum sich der gemessene Wert verändert und ggf. neue Referenzwerte misst.