Das ist leider das große Problem mit den Libraries, die funktionieren oft nur in einer ganz definierten Umgebung halbwegs passabel, kaum arbeitet man mit eigenen Interrupts, mit der WiFi Verbindung, MQTT oder dergleichen (also mit mehreren unterschiedlichen Libraries), dann funktioniert plötzlich EINIGES nicht mehr so wie es sollte. Und dann beginnt die wirklich mühsame Fehlersuche und die kostet irre viel Zeit, wenn man es überhaupt schafft!
Beim ESP8266 solltest ein wenig aufpassen, der hat zwar deutlich mehr Leistung wie ein ARDUINO, aber überlege dir vorher gründlich wie viele Pins du wirklich brauchst, weil besonders viele hat der nicht und wenn du schon umsteigst, dann nimm doch gleich den Nachfolger vom ESP8266 den ESP32, der kostet kaum noch mehr und da hast dann wirklich genügend Reserven und auch Pins.
Ich bin auch der Meinung ein ARDUINO sollte da locker reichen, aber du bist Programmieranfänger (wenn ich das recht verstanden habe) und es wird dich noch verdammt viel Zeit kosten zu lernen, einen wirklich brauchbaren Code zu schreiben, das geht nicht über Nacht, auch wenn Viele das denken. Diese Codeschnipsel die man im Internet findet, sind oft nette Beispiele, wie es ungefähr funktionieren könnte, aber mehr schon nicht und viele Codeschnipsel zusammen ergeben noch lange keinen brauchbaren Code.
Ich will dich KEINESFALLS demotivieren, aber was du dir vorgenommen hast, ist nicht ganz so trivial, das ist sicher kein einfaches Anfängerprojekt und gerade wenn es um Steuern und Regeln geht, dann solltest dich gleich mal mit der Interrupt Programmierung vertraut machen ?