Доброго времени.
Для теста создан простой сценарий включения/выключения контакта реле MR6C по датчику движения MSW:
{
"configVersion": 1,
"scenarios": \[
{
"componentVersion": 1,
"lightDevices": {
"sensorObjects": \[
{
"behaviorType": "setEnable",
"mqttTopicName": "wb-mr6c_136/K2"
}
\]
},
"lightSwitches": {
"delayToLightOffAndEnable": 3600,
"isDelayEnabled": false,
"sensorObjects": \[\]
},
"motionSensors": {
"delayToLightOff": 3,
"sensorObjects": \[
{
"actionValue": 170,
"behaviorType": "whileValueHigherThanThreshold",
"mqttTopicName": "wb-msw-v4_64/Current Motion"
}
\]
},
"name": "тест свет по движению 3",
"openingSensors": {
"delayToLightOff": 180,
"sensorObjects": \[\]
},
"scenarioType": "lightControl"
}
\]
}
Сценарий работает исправно, но есть 2 нюанса. При внесении изменений через WEB(к примеру времени отключения по окончанию движения) сценарий перестает работать до момента изменения его названия
И второе, в лог валят ошибки:
| 21-02-2026 12:54:11.996 [wb-rules] |
ERROR: trying to stop unknown timer: 1258 |
| 21-02-2026 12:54:10.989 [wb-rules] |
ERROR: trying to stop unknown timer: 1257 |
Но на работу сценария это не влияет
Релиз 1.0-testing~wb7+bullseye~20260213130323
Здравствуйте! Я автоматический помощник технической поддержки Wiren Board.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Вы используете:
- контроллер с прошивкой
1.0-testing~wb7+bullseye~20260213130323 (ветка testing);
- сценарий на
wb-rules (JSON-конфиг сценариев освещения по датчику движения, MR6C + MSW v4).
Опишу по пунктам оба нюанса.
1. После изменения сценария через Web он не работает, пока не смените имя
Это похоже на некорректное обновление сценариев при перезагрузке конфига:
- Web-интерфейс меняет JSON (время задержки, параметры и т.п.);
wb-rules перезагружает файл, но внутренняя логика/таймеры старого варианта сценария остаются в «подвешенном» состоянии;
- при смене имени сценария объект создаётся заново, и всё начинает работать.
Это очень похоже на баг в текущей testing-сборке сценариев освещения.
Что можно попробовать сейчас (как обходное решение):
-
После изменения сценария через Web перезапустить wb-rules:
service wb-rules restart
или в новой системе:
systemctl restart wb-rules
Если после простого изменения параметров (без смены имени) всё снова начинает работать — почти точно это проблема перезагрузки сценариев.
-
Если у вас есть возможность, проверьте то же самое на стабильном репозитории (release / stable), а не testing. На стабильных релизах подобное поведение ранее не отмечалось в типичных кейсах.
-
Если сможете — приложите к теме:
сразу после изменения сценария через Web и до смены имени.
2. Ошибка в логе ERROR: trying to stop unknown timer: 1258
Сообщение вида:
[wb-rules] ERROR: trying to stop unknown timer: 1258
означает, что логика сценария пытается остановить таймер, который к этому моменту уже:
- либо отработал и удалён,
- либо никогда не был создан (из‑за какой-то гонки состояний).
В контексте автогенерируемых сценариев освещения (lightControl) это, как правило, косметическая проблема:
- на функциональность (включение/выключение света) обычно не влияет — как вы и наблюдаете;
- чаще всего возникает на быстрых повторных срабатываниях датчика движения и перезапуске таймеров автоотключения.
То есть здесь вы правы: на работу это не влияет, но говорит о неточности в обработке таймеров внутри сценария/движка.
Что можно сделать:
- Зафиксировать, при каких действиях эти сообщения появляются:
- только при изменении сценария?
- или при обычной работе (многократное срабатывание MSW, ручное управление реле)?
- Обновиться до более свежей версии прошивки (когда появится новая сборка testing/stable) — подобные сообщения часто устраняются в следующих версиях движка правил.
- При необходимости — можно временно отключить слишком подробный лог
wb-rules (чтобы не засорять журнал), но это делается через конфигурацию уровня логирования и желательно уже после консультации с инженерами поддержки.
Рекомендации, что приложить для инженеров поддержки
Чтобы инженерам было проще воспроизвести и исправить:
-
Точный JSON-сценарий (вы уже привели — это хорошо).
-
Последовательность действий:
- изменяете, например,
delayToLightOff с 3 на 5 сек;
- нажимаете «Сохранить»;
- после этого сценарий перестаёт работать до смены имени.
-
Лог wb-rules вокруг момента изменения (как минимум 50–100 строк до и после).
-
Версии пакетов:
dpkg -l | grep wb-rules
dpkg -l | grep wiren
Это поможет понять, в какой именно версии wb-rules/сценариев проявляется проблема.
Если напишете, что даёт перезапуск wb-rules после правки сценария (помогает или нет) — можно будет точнее сузить причину.