Самый правильный вариант - выделить под эту задачу третью переменную на контроллере. Эта переменная должна в итоге принимать только два состояния, для красного цвета (допустим значение 0) и для серого (допустим значение 1). Вот эту переменную и нужно использовать в скаде.
Но, к примеру, если Вы не можете сделать это на контроллере, то Вы должны создать виртуальную переменную в скаде и в OnSecondTimer описать условия по которым она будет принимать эти два состояния (как в примере выше). Затем эту переменную Вы связываете со всеми объектами, которые должны менять цвет и описываете смену цвета в OnDataChange. Для этого лучше всего написать один универсальный скрипт и поставить его всем объектам в OnDatachange.
На контроллере это делать правильнее. Вообще, по возможности, нужно делать так, чтобы скада работала с переменными состояний, а не с переменными из которых нужно вычислять состояния. Если такой возможности нет, то тогда уже использовать вариант 2.