Темплейт собрал и проверил - работает
Рабочий темплейт в теме ниже…
Обидно конечно что ReadOnly каналы выглядят как R/W…
Нельзя ли в канале указать что его отображать надо как ReadOnly?
PS: А как в темплейте в канале указать Единицы измерения ?
Темплейт собрал и проверил - работает
PS: А как в темплейте в канале указать Единицы измерения ?
Добрый день.
Для этого добавьте в структуру канала данную настройку "readonly" : true
, например так:
{
"name": "Room temperature",
"address": "12",
"reg_type": "holding",
"readonly" : true,
"type": "temperature",
"format": "s16",
"offset": -40,
"group": "temperature"
},
Также в структуре канала добавьте следующую настройку "units" : "ppm"
, например, так:
{
"name": "CO2 value",
"address": "768",
"reg_type": "holding",
"type": "value",
"units" : "ppm",
"format": "u16",
"group": "status"
},
Попробуйте данные настройки и сообщите о результате.
Спасибо, обе строки помогли.
Причесал шаблон, внес диапазоны настроек в комментарии.
заменил все type на value
так как увидел такую информацию:
Осталась пара вопросов
не нашел где прочитать про составление темплейтов…
1)- как в канале указать множитель?
Канал “Fan running time record”
ведет счет в 0,1 часа…хорошо бы перевести в часы…
root@wirenboard-AXWLK46C:~# modbus_client_rpc -mrtu -b9600 -pnone -s2 -o2000 /dev/ttyMOD3 -a7 -t3 -r19
SUCCESS: read 1 elements:
Data: 0x0070
В канале вроде все верно
{
"name": "Humidity setting value",
"address": "19",
"reg_type": "holding",
"type": "value",
"units" : "%",
"format": "s16",
"min": 1,
"max": 99,
"group": "settings"
},
Но на дисплее пульта отображается 7 а не 112
И через пульт позволяет отрегулировать лишь в диапазоне 1-16, чтото я непойму в каких это единицах
в инструкции
19 Humidity setting value 1-99
Все верно. Рекомендуется использовать через параметр "units"
.
Единственно, вместо "units" : "°C"
, я бы использовал "units" : "deg C"
. Отображаться это будет также. Но все-таки, если есть данная единица измерения в списке предлагаемых, то я бы использовал ее.
Это по сути описано в примере конфигурационного файла /etc/wb-mqtt-serial.conf. Вот так. Т.е. добавляете в настройку канала что-то подобное: "scale": 0.5
.
Тут, к сожалению, не подскажу. Я бы с пульта позадавал значения с 1 по 16 и смотрел бы, как меняется при этом данный регистр. Если меняется, то посмотрел бы на зависимость.
Вы можете уточнить точную модель вашей ПВУ?
Марка
Royal Climo
Серия приточно-вытяжных установок
Soffio Primo
модели
Также аналогичная инструкция и перечень регистров идут к установкам:
Добавил пару пропущенных регистров
и прописал единицы измерения времени
В конфиге уже прописаны enum для каналов:
{
"name": "Supply fan speed",
"address": "10",
"reg_type": "holding",
"type": "value",
"enum": [0, 2, 3, 5, 8, 9, 10, 11, 12, 13, 14],
"enum_titles": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"],
"min": 0,
"max": 14,
"group": "settings"
},
{
"name": "Exhaust fan speed",
"address": "11",
"reg_type": "holding",
"type": "value",
"enum": [0, 2, 3, 5, 8, 9, 10, 11, 12, 13, 14],
"enum_titles": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"],
"min": 0,
"max": 14,
"group": "settings"
},
{
"name": "Filter alarm timer",
"address": "25",
"reg_type": "holding",
"type": "value",
"enum": [0, 1, 2, 3],
"enum_titles": ["45 days", "60 days", "90 days", "180 days"],
"readonly" : true,
"group": "status"
},
По идее должны заработать при выходе версии wb-2404
Не знаю только как прописать маппинг для таких значений:
Правильно понимаю, что по регистрам SOFFIO Primo RCS-350-P отличается от вашей SOFFIO Primo RCS-650-P? У нас в вики есть от реализация для SOFFIO Primo RCS-350-P.
Должны совпадать, но поиск гуглом не выдал результата на вики, а только лишь пару тем здесь, причем неутешительных…
Поэтому я и писал шаблон сам с нуля
Ну будет дубль)
Считаю что на WiKi необходимо написать полное название серии совместимых установок…
В Вики указаны только те модели с которыми был проверен шаблон. Если вы сможете проверить шаблон из Вики и он у вас будет работать, мы добавим и вашу модель в список.
Согласен, модели добавлять надо после проверки, но вот название марки писать надо…
Собственно поэтому я и не нашел эту статью в вики, так как искал Royal Clima
Спасибо, добавил.
Еще вопрос
есть два значения для состояния байпаса
{
"name": "Bypass ON",
"reg_type": "holding",
"address": "18:1:1",
"type": "switch",
"readonly": true,
"group": "status"
},
{
"name": "Bypass OFF",
"reg_type": "holding",
"address": "18:2:1",
"type": "switch",
"readonly": true,
"group": "status"
},
А возможно ли их объединить в один свитч ?
а то както “не красиво”
Думаю, только через виртуальное устройство, но в данном случае (для шаблона) это не вариант.
Кажется, нужное вам решение описано в разделе «Писать в один регистр, читать из другого» на странице Подключение стороннего Modbus-устройства к контроллеру Wiren Board — Wiren Board
Периодически теряется связь с ПВУ…
И лог забивает ошибками:
09-04-2024 01:39:50.356 [wb-mqtt-serial] WARNING: </dev/ttyMOD3 9600 8 N 1>: closed due to repetitive errors
09-04-2024 01:39:50.356 [wb-mqtt-serial] DEBUG: [modbus] failed to read 1 holding(s) @ 9 of device modbus:7: Serial protocol error: request timed out
09-04-2024 01:39:50.356 [wb-mqtt-serial] DEBUG: [modbus] failed to read 1 holding(s) @ 9 of device modbus:7: Serial protocol error: request timed out
09-04-2024 01:39:47.327 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 8334 us
09-04-2024 01:39:47.321 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Write: 07 03 00 09 00 01 54 6e
09-04-2024 01:39:47.321 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 60000 us
09-04-2024 01:39:47.321 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 1000000 us
09-04-2024 01:39:47.321 [wb-mqtt-serial] DEBUG: [serial client] </dev/ttyMOD3 9600 8 N 1>744844466: Wait until 744844466
09-04-2024 01:39:47.318 [wb-mqtt-serial] DEBUG: [modbus] failed to read 1 holding(s) @ 15 of device modbus:7: Serial protocol error: request timed out
09-04-2024 01:39:44.289 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 8334 us
09-04-2024 01:39:44.283 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Write: 07 03 00 0f 00 01 b4 6f
09-04-2024 01:39:44.283 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 60000 us
09-04-2024 01:39:44.283 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 60000 us
09-04-2024 01:39:44.281 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 1000000 us
09-04-2024 01:39:43.283 [wb-mqtt-serial] DEBUG: [serial client] </dev/ttyMOD3 9600 8 N 1>744840429: Wait until 744840429
09-04-2024 01:39:43.283 [wb-mqtt-serial] DEBUG: [serial port] Setup /dev/ttyMOD3 port: 9600 8 N 1
09-04-2024 01:39:43.283 [wb-mqtt-serial] WARNING: </dev/ttyMOD3 9600 8 N 1>: closed due to repetitive errors
09-04-2024 01:39:43.279 [wb-mqtt-serial] DEBUG: [modbus] failed to read 1 holding(s) @ 14 of device modbus:7: Serial protocol error: request timed out
09-04-2024 01:39:40.251 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 8334 us
09-04-2024 01:39:40.245 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Write: 07 03 00 0e 00 01 e5 af
09-04-2024 01:39:40.245 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 60000 us
09-04-2024 01:39:40.245 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 1000000 us
09-04-2024 01:39:40.245 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 1000000 us
09-04-2024 01:39:40.241 [wb-mqtt-serial] DEBUG: [serial client] </dev/ttyMOD3 9600 8 N 1>744837388: Wait until 744837388
09-04-2024 01:39:40.241 [wb-mqtt-serial] DEBUG: [modbus] failed to read 1 holding(s) @ 13 of device modbus:7: Serial protocol error: request timed out
09-04-2024 01:39:37.212 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 8334 us
09-04-2024 01:39:37.206 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Write: 07 03 00 0d 00 01 15 af
09-04-2024 01:39:37.206 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 60000 us
09-04-2024 01:39:37.204 [wb-mqtt-serial] DEBUG: [port] /dev/ttyMOD3: Sleep 1000000 us
09-04-2024 01:39:36.205 [wb-mqtt-serial] DEBUG: [serial client] </dev/ttyMOD3 9600 8 N 1>744833352: Wait until 744833352
09-04-2024 01:39:36.205 [wb-mqtt-serial] DEBUG: [serial port] Setup /dev/ttyMOD3 port: 9600 8 N 1
09-04-2024 01:39:36.205 [wb-mqtt-serial] WARNING: </dev/ttyMOD3 9600 8 N 1>: closed due to repetitive errors
В чем может быть ошибка?
Добрый день.
Пришлите диагностический архив и сам шаблон. Посмотрю настройки. Также не помешает фото подключения.
Похоже проблема в частоте скорости общения устройства по modbus
в шаблоне прописаны
"response_timeout_ms": 10000,
"frame_timeout_ms" : 5000,
"guard_interval_us": 1000000,
при такой конфигурации запросы идут с паузой 1 сек постоянно
Как в шаблоне указать правильно чтобы запросы шли с интервалом например в 5 секунд ?