a volatile unsigned long variable named lastUpdateMillis which is set to the value of millis() every time the master requests a status update.
Then in the loop, i check for if((unsigned long)(millis()-lastUpdateMillis)>=2000){ and turn all outputs off.