Issue in long ON OFF timer using millis()
You declare interval as an integer, while onTime and offTime are unsigned long.

Change int interval = onTime; to unsigned long interval = onTime;

The maximum value of int is only 32767 (215-1), which is only 33 seconds. 

An unsigned long can be as high as 4294967296 (232-1). Which is around 49.7 days worth of milliseconds.