В идеале я хочу чтобы вечером (начиная с 21 мск ) свет на улице зажигался. А утром (начиная с 6 утра) он выключался. И если вдруг оборудование не работало в 21.00, а заработало в 22.00, чтобы свет включился. И такая же ситуация с выключением. Код я брал с примеров реализаций.
Нет, в докмментации перечислены источники просмотра правил. Так как использовали when с аргументом function() - то то функция должна вернуть новое значение, а для этого должна быть выполнена.
Да, с cron верно, но период я бы поставил все ж минута, чаще для света не надо просто.
Проверять простое условие раз в 2 секунды для компьютера не большая нагрузка.
Да, cron как раз для них и предназначен. Он позволяет выполнять какие-нибудь операции с указанной периодичностью. В данном примере регулярно проверяется сколько сейчас времени и выполняется необходимая операция.