Сорри, нашел неисправность. Если человек, входя в комнату, остановился в проеме, вспомнив что забыл на кухне чай и уйдет обратно, счетчик вычтет одного человека. Аналогично, выходя из комнаты, в проеме двери вспоминаем, что забыли сигареты, возвращаемся, счетчик прибавляет человека. Выходим, программа думает, что в комнате еще один остался и свет не выключает.
Лечится легко. В разделе "Считаем хьюманов..." в проверке событий вместо 3 и 7, надо соответственно поставить 4 и 8.
Код:
// Считаем хьюманов...
{
if (debug) Serial.println ("Human count in room WAS : " +String(humanCount) );
if (event == 4) humanCount++;
if (event == 8) humanCount--;
humanCount = max(humanCount, 0);
if (debug) Serial.println ("Human count in room NOW : " +String(humanCount) );
}