Работа с "error_value" в wb-mqtt-serial

Добрый день!
Пытаюсь настроить в своем шаблоне wb-mqtt-serial проставление ошибки при получении специфичного значения.

Написал в шаблоне:

{
    "address": 11,
    "type": "value",
    "readonly": true,
    "format": "s16",
    "reg_type": "holding",
    "scale": 0.1,
    "error_value": "0x7FFF",
    "name": "current_temp_after_rekuperator"
}

Но в топиках ошибки не увидел, висит значение:
/devices/atlas_1/controls/current_temp_after_rekuperator 3276.7
Подписывался вот так:
mosquitto_sub -t /devices/atlas_1/controls/# -v

Что делаю не так?
Прикрепляю лог wb-mqtt-serial.
modbus.log (2,0 МБ)

Добрый день.

Пробую воспроизвести.
Описываю “ошибочное” значение так:

            {
                "name": "testreg05",
                "reg_type": "holding",
                "type": "value",
                "address": "5",
                "readonly": true,
                "format": "s16",
                "error_value": "0x7FFF",
                "group": "general"
            },

При отличающемся от “ошибочного”:
Screenshot_20240920_171209
При “ошибочном”:
Screenshot_20240920_171420
Оно ожидаемо краснеет.
Что интересно, само значение - не меняется на “ошибочное”.

Добавляю scale
После записи в регистр “ошибочного” 0x7fff получаю:
Screenshot_20240920_171640
Версия wb-mqtt-serial 2.143.1

1 лайк

Интересно, странно. Перепроверю у себя.

Не добавилось ли кеширование шаблонов в последних версиях?

Переименовываю топик, перезапускаю wb-mqtt-serial, топик не переименовывается, wb-mqtt-serial работает словно по старому шаблону.

wb-mqtt-confed перезапускал, не помогает.

Перезагрузка не помогает.
Например, я поменял тип с value на switch. В топиках даже после перзагрузки висит value.

mosquitto_sub -t /devices/atlas_1/controls/start_stop/# -v
/devices/atlas_1/controls/start_stop/meta {"order":3,"readonly":false,"type":"value"}
/devices/atlas_1/controls/start_stop/meta/order 3
/devices/atlas_1/controls/start_stop/meta/readonly 0
/devices/atlas_1/controls/start_stop/meta/type value
/devices/atlas_1/controls/start_stop 1


            {
                "address": 3,
                "original_name": "Старт/Стоп",
                "type": "switch",
                "readonly": false,
                "format": "u8",
                "reg_type": "holding",
                "name": "start_stop"
            },


apt-cache policy wb-mqtt-serial
wb-mqtt-serial:
  Installed: 2.138.1-wb104
  Candidate: 2.138.1-wb104
  Version table:
 *** 2.138.1-wb104 990
        990 http://deb.wirenboard.com/wb7/bullseye stable/main armhf Packages
        100 /var/lib/dpkg/status

Разобрался, перепутал шаблон, было два похожих. :person_facepalming: