15
правок
Fahreeve (обсуждение | вклад) (Создание страницы посвященной управлению приточной установкой RCV-500) |
Fahreeve (обсуждение | вклад) (Добавил 9 регистр и поправил предназначение 2 и 3 регистра. Добавил первую версию шаблона. Добавил полезные команды и известные проблемы.) |
||
Строка 16: | Строка 16: | ||
| 1 || - || - || Неизвестно | | 1 || - || - || Неизвестно | ||
|- | |- | ||
| 2 || | | 2 || Col2 || 1,2,3 || Чтение режима производительности приточной установки | ||
|- | |- | ||
| 3 || Col2 || 1,2,3 || Управление производительностью приточной установки | | 3 || Col2 || 1,2,3 || Управление производительностью приточной установки (на запись) | ||
|- | |- | ||
| 4 || Col2 || Col3 || Температура воздуха в градусах Цельсия до прохождения нагревательного элемента. Из полученного значения необходимо вычесть 15 | | 4 || Col2 || Col3 || Температура воздуха в градусах Цельсия до прохождения нагревательного элемента. Из полученного значения необходимо вычесть 15. После разблокировки вычитание не требуется - показывает температуру по модулю. | ||
|- | |- | ||
| 5 || - || - || Неизвестно | | 5 || - || - || Неизвестно | ||
Строка 26: | Строка 26: | ||
| 6 || Col2 || 0 или 1 || Индикатор необходимости обслуживания фильтра (1 - требуется ТО), если послать значение 0, то индикатор и 8 регистр будут сброшены | | 6 || Col2 || 0 или 1 || Индикатор необходимости обслуживания фильтра (1 - требуется ТО), если послать значение 0, то индикатор и 8 регистр будут сброшены | ||
|- | |- | ||
| 7 || Col2 || 15-30 с шагом в 5 || Температура до которой необходимо нагревать воздух | | 7 || Col2 || 15-30 с шагом в 5 или с 0 до 35 с шагом 1 || Температура до которой необходимо нагревать воздух | ||
|- | |- | ||
| 8 || Col2 || 0-(максимальное значение неизвестно) || Время работы в часах с момента последней замены фильтра | | 8 || Col2 || 0-(максимальное значение неизвестно) || Время работы в часах с момента последней замены фильтра | ||
|- | |||
| 9 || - || - || Неизвестно | |||
|- | |- | ||
Строка 35: | Строка 37: | ||
Предположительно какие-то 2 регистра являются индикаторами низкой уличной температуры и статусом работы электрического нагревателя. | Предположительно какие-то 2 регистра являются индикаторами низкой уличной температуры и статусом работы электрического нагревателя. | ||
Для чтения доступно 25 регистров, однако начиная с | Для чтения доступно 25 регистров, однако начиная с 10 они заполнены 0. Запись иных значений не приводит к изменению состояния. | ||
Предположительно посылка значения 0 на 1 регистр разблокирует диапазон регулировок уставки температуры с 0 до 35 градусов. И из-за этого слетает корректное вычитывание уличной температуры | |||
== Шаблон приточки == | |||
Сохранить файл по следующему пути <code>/etc/wb-mqtt-serial.conf.d/templates/config-royalclima-rcv.json</code> | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"title": "royalclima_rcv_template_title", | |||
"device_type": "royalclima_rcv", | |||
"group": "g-climate-control", | |||
"device": { | |||
"name": "Royal Clima RCV", | |||
"id": "royalclima_rcv", | |||
"guard_interval_us": 60000, | |||
"groups": [ | |||
{ | |||
"title": "Main", | |||
"id": "main" | |||
}, | |||
{ | |||
"title": "Temperature", | |||
"id": "temperature" | |||
}, | |||
{ | |||
"title": "Maintenance", | |||
"id": "maintenance" | |||
} | |||
], | |||
"parameters": { | |||
"device_adress": { | |||
"title": "ModBus address", | |||
"description": "device_address_desc", | |||
"reg_type": "holding", | |||
"address": "1", | |||
"default": 1, | |||
"min": 1, | |||
"max": 16, | |||
"order": 2, | |||
"group": "main" | |||
} | |||
}, | |||
"channels": [ | |||
{ | |||
"name": "onoff", | |||
"reg_type": "holding", | |||
"address": "0", | |||
"type": "switch", | |||
"on_value": 1, | |||
"off_value": 0, | |||
"group": "main" | |||
}, | |||
{ | |||
"id": "fanspeed", | |||
"name": "fanspeed", | |||
"reg_type": "holding", | |||
"write_address": "3", | |||
"address": "2", | |||
"type": "range", | |||
"min": 1, | |||
"max": 3, | |||
"group": "main" | |||
}, | |||
{ | |||
"name": "Outdoor Temperature", | |||
"reg_type": "holding", | |||
"address": "4", | |||
"type": "value", | |||
"units": "deg C", | |||
"offset": -15, | |||
"max": 99, | |||
"round_to": 1, | |||
"readonly": true, | |||
"group": "temperature" | |||
}, | |||
{ | |||
"name": "Temperature Setpoint", | |||
"reg_type": "holding", | |||
"address": "7", | |||
"type": "range", | |||
"min": 0, | |||
"max": 35, | |||
"group": "temperature" | |||
}, | |||
{ | |||
"name": "Need filter replacement", | |||
"reg_type": "holding", | |||
"address": "6", | |||
"type": "switch", | |||
"group": "maintenance", | |||
"readonly": true | |||
}, | |||
{ | |||
"name": "Filter uptime", | |||
"reg_type": "holding", | |||
"address": "8", | |||
"type": "value", | |||
"units": "h", | |||
"max": 9999, | |||
"round_to": 1, | |||
"group": "maintenance", | |||
"readonly": true | |||
}, | |||
{ | |||
"name": "Maintenance complete", | |||
"reg_type": "holding", | |||
"format": "u16", | |||
"address": "6", | |||
"type": "pushbutton", | |||
"on_value": 0, | |||
"group": "maintenance" | |||
} | |||
], | |||
"translations": { | |||
"en": { | |||
"royalclima_rcv_template_title": "Royal Clima RCV", | |||
"device_address_desc": "Modbus-address" | |||
}, | |||
"ru": { | |||
"royalclima_rcv_template_title": "Royal Clima RCV", | |||
"Main": "Основное", | |||
"Temperature": "Температура", | |||
"Maintenance": "Обслуживание", | |||
"ModBus address": "Адрес ModBus", | |||
"device_address_desc": "Modbus-адрес", | |||
"onoff": "Статус установки", | |||
"fanspeed": "Cкорость вентилятора", | |||
"Outdoor Temperature": "Температура воздуха", | |||
"Temperature Setpoint": "Уставка температуры", | |||
"Maintenance complete": "Обслуживание совершено", | |||
"Need filter replacement": "Требуется замена фильтра", | |||
"Filter uptime": "Время работы фильтра" | |||
} | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
Известные проблемы: | |||
* Кнопка "Обслуживание завершено" не протестирована | |||
* Температура наружного воздуха по видимому показывается без учета знака, значит должен быть регистр который его обозначает. Предополжительно это значок снежинки (индикаторами низкой уличной температуры). | |||
* Максимальное значение аптайма неизвестно, предположительно 65 535 (максимальное значение беззнакового 16 битного числа) | |||
* Шаблон не приведен к единому виду | |||
== Дополнительные полезные команды для разработки и тестирования == | |||
Проверка шаблонов и конфигурации: | |||
<syntaxhighlight lang="bash"> | |||
wb-mqtt-serial -g | |||
</syntaxhighlight> | |||
Запрос на чтение 0 регистра: | |||
<syntaxhighlight lang="bash"> | |||
modbus_client --debug -mrtu -b9600 -pnone -s1 /dev/ttyMOD3 -a1 -t0x03 -r0 | |||
</syntaxhighlight> | |||
Запрос на запись значения в 0 регистр: | |||
<syntaxhighlight lang="bash"> | |||
modbus_client --debug -mrtu -b9600 -pnone -s1 /dev/ttyMOD3 -a1 -t0x06 -r2 0 | |||
</syntaxhighlight> | |||
== Полезные ссылки == | == Полезные ссылки == |
правок