Syberia 5

Интересный вариант. А вот такой способ описания в шаблоне применим для 3й версии?:

{
    "name": "Status",
    "type": "switch",
    "reg_type": "input",
    "address": "2:0:1",        // нулевой бит маски в регистре 2 (регистр включения)
    "format": "u16"
}, {
    "name": "In progress",
    "type": "switch",
    "reg_type": "input",
    "address": "2:1:1",      // первый бит маски в регистре 2  (контроллер занят)
    "format": "u16"
}

Обратите внимание на параметр “address”, где указываются через двоеточие сразу регистр:смещение в битах:длина в битах
Таким образом каждый конкретный бит маски можно сразу вывести в нужный топик.

Что же касается бага с самопроизвольным переключением регистра 3 (Power_ON_OFF) разработчики софта для контроллера syberia обещали поправить. Имхо это решение чуть проще. Менее грузит контроллер , а вывести можно фактически любой параметр состояния контроллера сразу в топик, минуя правила.

1 лайк