The second half of the question is to clear the struct.
timer_task=0;
results in
Arduino: 1.8.10 (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)"
C:\Users\Anthony\Documents\Arduino\Pool_Heater_OIT_V3\Pool_Heater_OIT_V3.ino: In function 'void loop()':
Pool_Heater_OIT_V3:895:12: error: no match for 'operator=' (operand types are 'timer_struct' and 'int')
timer_task=0;
^
C:\Users\Anthony\Documents\Arduino\Pool_Heater_OIT_V3\Pool_Heater_OIT_V3.ino:81:8: note: candidate: timer_struct& timer_struct::operator=(const timer_struct&)
struct timer_struct
^~~~~~~~~~~~
C:\Users\Anthony\Documents\Arduino\Pool_Heater_OIT_V3\Pool_Heater_OIT_V3.ino:81:8: note: no known conversion for argument 1 from 'int' to 'const timer_struct&'
C:\Users\Anthony\Documents\Arduino\Pool_Heater_OIT_V3\Pool_Heater_OIT_V3.ino:81:8: note: candidate: timer_struct& timer_struct::operator=(timer_struct&&)
C:\Users\Anthony\Documents\Arduino\Pool_Heater_OIT_V3\Pool_Heater_OIT_V3.ino:81:8: note: no known conversion for argument 1 from 'int' to 'timer_struct&&'
exit status 1
no match for 'operator=' (operand types are 'timer_struct' and 'int')
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.