Stehe gerade etwas auf dem Schlauch, geht das nur mit zwei ReadingsVal Aufrufen?
ReadingsVal(....) eq "on" || ReadingsVal(....) eq "off"
Kommt drauf an. Kann das Reading nur on oder off sein reicht doch ein Vergleich.
if (ReadingsVal() =~ /^(on|off)$/) {}