ideas para contador de horas

Hola muy buenas a todos aquí estoy regresando al mundo de Arduino con una consulta, se me ocurrió hacer un contador de horas de trabajo para una maquina, para controlar ciertos gastos en su combustible, y determinar si hay días en los que gasto mucho combustible y si es que trabajo de mas o es que hay algo mal en la maquina, la idea seria nada mas contar cuantas horas lleva trabajando,
pero la cuestión es que la maquina no trabaja constantemente, hay momentos en que para y luego después de cierto tiempo(consumo de vapor porque es una caldera) inicia su operación, tenia pensado conectar la entrada a una electrovalvula de combustible que cuando esa se energiza es que la maquina ha arrancado, pero mi problema es que no encuentro la manera de hacer el conteo de horas y hacer un log en una micro SD para que pueda llevarlo apuntado, y sacar números respecto al tiempo.

lo único que se me ocurre es usar un interruptor tal vez y hacer el conteo de cuanto tiempo se encuentra el interruptor en HIGH, y almacenarlo en una variable, pero creo que necesitaría guardar esa variable en la memoria para evitar que se borre el tiempo de conteo, díganme si mi planteamiento esta mal o si alguien tiene alguna mejor idea

No es complicado.

Lo idoneo es poner un RTC y simplemente en la funcion loop verificas que la entrada x (la que emplees cuando esta en marcha la caldera) esta en alto con un if.

Si esta en alto guardas la hora actual en la SD, en una eprom... lo que sea y no vuelves a guardar la hora hasta que esa entrada se ponga en bajo, accion que empleas para guardar la hora a la que se ha desconectado.

Tu SD o eprom solo tiene dos apuntes cada vez que conecte, hora de inicio de la conexion y hora final.

A la siguiente conexion, el bucle comprueba que esta en alto y vuelve a guardar la hora siguiente... no hace nada hasta que el nivel sea low, accion que emplea para guardar cuando se desconecto. y asi sucesivamente....

Con estos datos tienes a que hora se conecta, cuando se desconecta y sumando cada franja te da el computo total de horas.

Si te es complicado calcularlo, almacena minutos y listo, luego es dividir entre 60 (puedes emplear la hora en formato Unix).