Обновление WB 8 до мажорной Debian 13.5 Trixie что происходит, изменения

Доброго дня.
Вчера выполнил глобальное обновление мажорной версии по команде
wb-release --update-debian-release
сообщение о переходе на новую версию “висело” в разделе Система.
Все в целом прошло штатно, обновлял локально, запросов на изменение файлов, конфигов не было.
Есть, особенности, возможно у всех они будут разные.
Слетели сразу сценарии, завязанные на устройства zigbee
Просмотрев, топики, каналы mqtt, в них все эти связанные, созданные ранее виртуальные устройства были с ошибкой.
Рестарт правил и zigbee конвертора не исправлял.
После заметил, что устройства zigbee получили новые имена, хотя файл конфигурации и friendly_name в них не изменялся.
Теперь в имени устройств добавилась маркировка от производителя устройства к ранее названному имени.
Пример, ZG-204ZM Датчик присутствия 1
Пришлось переназначить ручками сценарии для подставления новых устройств.
Через время в этих устройствах появился “полуперевод” позиций, часть на русском, часть на английском.
Хорошо, что в проводной части все в норме, правда еще не все проверил,

Добрый день!

Спасибо за вашу обратную связь!

Мои коллеги раннее при тесте тоже заметили эту особенности и передали информацию разработчикам, спасибо что тоже уведомили нас о результатах

Уже приняли решение отменить это нововведение.

Предвижу, очередную ручную работу.
Еще вот такая ошибка сейчас в журнале:
ERROR: [rule error] ECMAScript error: Error: Motion sensor has incorrect value: “none” isMotionSensorActiveByBehavior light-control.mod:542 checkAllMotionSensorsInactive light-control.mod:616 motionSensorHandler light-control.mod:842 anon light-control.mod:647 preventsyield call native strict preventsyield anon /usr/share/wb-rules-system/scripts/lib.js:234 preventsyield

Это, как понял, имеет отношение к статусу контрола датчика движения со статусом “none” вместо числового или логического значения. Опять же последствия с zigbee устройствами.

ZG-204ZM_Датчик_присутствия2/motion_state - text - /devices/ZG-204ZM_Датчик_присутствия2/controls/motion_state - none

Обновление от 09.07 вернуло имена датчиков “на место”, переназначил топики в сценариях с ZigBee.

Доброго дня.
Подскажите, ошибка в протоколе на статус “none” датчика движения zigbee, это будет со временем как то устранено или нужно самому найти выход?

/devices/Датчик_Присутствия1/controls/motion_state - none

  • OK
10-07-2026 09:42:23.695
[wb-rules]
ERROR: [rule error] ECMAScript error: Error: Motion sensor has incorrect value: "none" isMotionSensorActiveByBehavior light-control.mod:635 checkAllMotionSensorsInactive light-control.mod:709 motionSensorHandler light-control.mod:935 anon light-control.mod:740 preventsyield call native strict preventsyield anon /usr/share/wb-rules-system/scripts/lib.js:234 preventsyield

А почему ошибка?
Что публикует этот датчик в свой топик?

пока не у датчика нахожусь, по мере возможности соберу состояния

ИИ мне вот что говорит по этой ситуации:

У вас используется современный мультидатчик присутствия (скорее всего, мультирадарный датчик Tuya вроде моделей серии ZG-204ZM, ZG-205Z или аналогичных).]

У таких устройств параметр motion_state — это текстовое перечисление (enum), описывающее тип зафиксированной активности. Он принимает текстовые значения: "none" (покой), "small" (микродвижения/дыхание), "large" (размашистые движения) или "static".

Стандартный модуль Wiren Board light-control.mod не умеет работать со строками и падает, когда вместо привычных true/false получает текст

По причине вывода выше, сделал к вам это обращение.

Так, а зачем использовать “стандартный модуль” с неподдерживаемым типом? Обработайте значение скриптом, и приведите к желаемому.
То есть модуль ожидает булево - а тут перечисление.

Извините, я этих фраз про “обработайте скриптом” не понимаю, не одолею с моим “багажом”.
Использую ваш сценарий Управление светом из соответствующего раздела Правил.
Если они работают не корректно с данным видом датчиков, может это можно исправить? Сам сценарий отрабатывает, свет включается и выключается по датчику от созданного сценария, но от статуса none в покое журнал заполняется постоянными ошибками, указанными выше. Это нормально?

Помогите пожалуйста подправить тогда создаваемый скрипт
виртуальное устройство - Датчик_присутствия_Санузел
топик - /devices/Датчик_присутствия_Санузел/controls/motion_state

// 1. Создаем виртуальное устройство, которое «ожидает» стандартный модуль
defineVirtualDevice("virtual_bathroom_presence", {
    title: "Виртуальный датчик присутствия (Санузел)",
    cells: {
        presence: {
            type: "switch", // Тип switch как раз принимает булево значение (true/false)
            value: false,
            readonly: true  // Переключать вручную нельзя, только через скрипт
        }
    }
});

// 2. Отслеживаем реальный датчик и переводим его «перечисление» в булево значение
defineRule("track_bathroom_presence", {
    whenChanged: "Датчик_присутствия_Санузел/motion_state",
    then: function (newValue) {
        // Если состояние large или small — значит, кто-то есть (true)
        if (newValue === "large" || newValue === "small") {
            dev["virtual_bathroom_presence/presence"] = true;
        } 
        // Если состояние none — значит, никого нет (false)
        else if (newValue === "none") {
            dev["virtual_bathroom_presence/presence"] = false;
        }
    }
});

Еще полагаю, что созданный скрипт полумера, и будет промежуточным звеном между созданным виртуальным устройством и будет теряться связь чаще при обновлениях…
Сейчас почему то пропала отключение света через заданное время, датчик с “неправильным” статусом переходит в none, но, не отключает свет. Ранее, около 1,5 месяцев назад этот сценарий успешно работал, ориентировочно до образования конвертора. Теперь вот такой тупик для многих аналогичных сценариев, не хочется обратно все тащить в SH.
Может есть выход подправить алгоритмы в действующих создаваемых сценариях.

Вот что публикует данный датчик

в нем полный цикл статуса есть от none large small none

Текстовый документ (3).txt (53,7 КБ)

Доброе утро.
Еще как вариант вижу, для таких как я, если получится в Сценариях в Логику срабатывания за “Когда включилось” сделать условие “если не равно false или none” или равенство “true, large, small”, было бы решением без доп. скриптов?

Добрый день!

Ваш датчик, судя по вашему дампу, помимо текстового motion_state, публикует ещё и обычный свитч presence («Присутствие») — он принимает нормальные вкл/выкл. Именно такой канал и ожидает сценарий «Управление светом».

Предполагаю, что раньше сценарий и был привязан к этому булевому каналу, поэтому и работал без всяких доработок. А после обновления, когда zigbee-устройства временно сменили имена и топики в сценариях пришлось переназначать вручную, в качестве датчика движения, судя по всему, случайно оказался выбран текстовый канал «motion_state» вместо «presence». Отсюда и ошибки в журнале, и переставшее работать выключение по таймеру — сценарий принимает только булевое значение.

Напишите, пожалуйста, помогло ли переключение на канал presence.

Аплодирую стоя! Стучу себя по … как можно было не дойти самому до этого простого решения.
Учитывая, что в “presense” выше в логах изменяется с 0 на 1 и обратно, полагаю, все должно сработать, очно пока не на месте. К выходным увижу.

Спасибо.

Отпишите по результатам, будем ждать обратную связь)