Kippschalter als Code eingabe/ ryhtmus schloss

Ich würde die Zeitpunkte (millis() und die Zustandsänderung der Taster (zB 1 for LOW-HIGH und 0 für ein HIGH-LOW) in 2 Arrays (Ringspeicher) ablegen.
Die Abfrage der Taster kann zB alle 10mS erfolgen.
Bei jedem neuen Abspeichern kontrollierst Du ob die richtige Sequenz ( H-L bzw L-H Übergang und die dazwischenliegenden Zeiten in den Array stimmen. Wenn sie stimmen schaltest Du das Relais und löscht das Array.

Ringspeicher. Du benutzt einen Merker welches Element das nächste ist wo die Daten hineingeschrieben werden wenn Du am Ende des Arrays angelangt bist startest Du wieder am anfang.
Du könntest auch jedesmal alle vorherigen Werte umspeichern um Platz für die letzten Werte zu haben . Das braucht aber länger, ist für eine Anfänger aber besser verständlich.

Grüße Uwe