Помогите пожалуйста с правилом, не могу найти проблему

Добрый день. Подскажите пожалуйста, что не так с ним?
Вот правило:
defineRule(“1”, {
whenChanged: “Датчик присутствия коридор/illuminance”,
then: function (newValue, devName, cellName); {
debug(‘{}/{} = {}’, devName, cellName, newValue);
if (newValue<=10) {
publish(“zigbee2mqtt/Свет кухня/set”, JSON.stringify({ state_l2: “ON” }), 2, false);
log (‘Лампа включена’);
} else if (newValue>=11) {
publish(“zigbee2mqtt/Свет кухня/set”, JSON.stringify({ state_l2: “OFF” }), 2, false);
log (‘Лампа выключена’);
}
}
});

Вот ошибка:
SyntaxError: invalid object literal (line 13)
duk_js_compiler.c:2922

Добрый день,

В вашем правиле ошибка синтаксиса.

Правильное использование функции then должно выглядеть следующим образом:

defineRule("1", {
  whenChanged: "Датчик присутствия коридор/illuminance",
  then: function (newValue, devName, cellName) {
    debug('{}/{} = {}', devName, cellName, newValue);
    if (newValue<=10) {
      publish("zigbee2mqtt/Свет кухня/set", JSON.stringify({ state_l2: "ON" }), 2, false);
      log ('Лампа включена');
    } else if (newValue>=11) {
      publish("zigbee2mqtt/Свет кухня/set", JSON.stringify({ state_l2: "OFF" }), 2, false);
      log ('Лампа выключена');
    }
  }
});

Уберите точку с запятой после объявления функции then.

Если возникнут дополнительные вопросы, не стесняйтесь обращаться.

Спасибо

1 сообщение было перенесено в новую тему: Проблема с написанием правил