Po restartu je proměnná otevřeno false. A vlastně všechny proměnný jsou po restartu 0, LOW, false, …
A protože si ji nikde neukládáš a ani nezjišťuješ koncákem, tak se ti spustí kód za else (je světlo) a druhá podmínka taky (negované false je true).
Právě takovejhle problém se řeší u těch dveří. Po restartu nevědí kde jsou (během výpadku napájení s nimi někdo mohl pohnout atd.). Takže se po zapnutí napájení provede inicializace. Najde si to koncovou polohu, zresetuje se to a už to frčí…
Jedna varianta je ukládat poslední stav do EEPROM, ale ta na to není moc vhodná. Lepší by byl ten koncák, který by definoval jednu jistou stranu.