ПВУ Royal Clima Soffio Primo

Темплейт собрал и проверил - работает


Рабочий темплейт в теме ниже…
Обидно конечно что ReadOnly каналы выглядят как R/W…
Нельзя ли в канале указать что его отображать надо как ReadOnly?

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
так как увидел такую информацию:
2024-03-27_11-01-09


Файл конфига ниже в теме…

Осталась пара вопросов
не нашел где прочитать про составление темплейтов…

1)- как в канале указать множитель?
Канал “Fan running time record”
ведет счет в 0,1 часа…хорошо бы перевести в часы…

  1. Регистр 19 на запрос через ssh выдает Data: 0x0070
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 и смотрел бы, как меняется при этом данный регистр. Если меняется, то посмотрел бы на зависимость.

1 лайк

Вы можете уточнить точную модель вашей ПВУ?

Марка
Royal Climo
Серия приточно-вытяжных установок
Soffio Primo
модели

  • RCS-250-P
  • RCS-350-P
  • RCS-500-P
  • RCS-650-P (моя модель)
  • RCS-1200-P
  • RCS-1600-P

Также аналогичная инструкция и перечень регистров идут к установкам:

  • ENPRO серия EHR-S хххх
  • VENTING серия VHBQi DxxxTGA
  • NOXA серия NXERV xxxxV1

Добавил пару пропущенных регистров
и прописал единицы измерения времени


config-royal-clima-soffio-primo.json (12,3 КБ)

В конфиге уже прописаны 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

Не знаю только как прописать маппинг для таких значений:
2024-03-27_19-42-49

Правильно понимаю, что по регистрам SOFFIO Primo RCS-350-P отличается от вашей SOFFIO Primo RCS-650-P? У нас в вики есть от реализация для SOFFIO Primo RCS-350-P.

Должны совпадать, но поиск гуглом не выдал результата на вики, а только лишь пару тем здесь, причем неутешительных…
Поэтому я и писал шаблон сам с нуля

Ну будет дубль)

Считаю что на WiKi необходимо написать полное название серии совместимых установок…

1 лайк

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

В Вики указаны только те модели с которыми был проверен шаблон. Если вы сможете проверить шаблон из Вики и он у вас будет работать, мы добавим и вашу модель в список.

Согласен, модели добавлять надо после проверки, но вот название марки писать надо…

Собственно поэтому я и не нашел эту статью в вики, так как искал Royal Clima

Спасибо, добавил.

1 лайк

Дополнил и улучшил :slight_smile:

config-royal-clima-soffio-primo.json (14,3 КБ)

Еще вопрос
есть два значения для состояния байпаса

			{
				"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"
			},

А возможно ли их объединить в один свитч ?

а то както “не красиво” :slight_smile:
2024-03-29_12-19-55

Думаю, только через виртуальное устройство, но в данном случае (для шаблона) это не вариант.

Кажется, нужное вам решение описано в разделе «Писать в один регистр, читать из другого» на странице Подключение стороннего 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 секунд ?