Da Du Stunden protokollieren willst und ein Viertelstunde Genauigkeit ausreichend ist rate ich Dir zu einer RTC zb einem DS1307. Da speicherst Du einfach die Einschalt/Ausschaltzeit ab.
Die Eingänge kannst Du einfach kontrollieren. Konzept-Codebeispiel unten. Die geliche Kontrolle führst Du für jedes Pin durch.
Grüße Uwe
readpinx =digitalRead(pinx);
if (readpinx ==1 && readpinx!= statuspinx)
{
Einschaltzeit abspeichern.
statuspinx = readpinx
}
if (readpinx == 0 && readpinx!= statuspinx)
{
Ausschaltzeit abspeichern.
statuspinx = readpinx
}