Royal Clima RCV: различия между версиями

Материал из Wiren Board
(Создание страницы посвященной управлению приточной установкой RCV-500)
 
(Добавил 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 регистров, однако начиная с 9 они заполнены 0. Запись иных значений не приводит к изменению состояния.
Для чтения доступно 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>


== Полезные ссылки ==
== Полезные ссылки ==

Версия 13:43, 20 января 2024


Применимость

Данная страница будет полезна владельцам приточных установок RCV-500 и RCV-900

На данный момент страница не содержит информацию по моделям с постфиксом LUX (c WIFI), поскольку авторы страницы ими не располагают

Таблица регистров

Адрес Тип Возможные значения Описание
0 Col2 0 или 1 Состояние прибора (включен/выключен)
1 - - Неизвестно
2 Col2 1,2,3 Чтение режима производительности приточной установки
3 Col2 1,2,3 Управление производительностью приточной установки (на запись)
4 Col2 Col3 Температура воздуха в градусах Цельсия до прохождения нагревательного элемента. Из полученного значения необходимо вычесть 15. После разблокировки вычитание не требуется - показывает температуру по модулю.
5 - - Неизвестно
6 Col2 0 или 1 Индикатор необходимости обслуживания фильтра (1 - требуется ТО), если послать значение 0, то индикатор и 8 регистр будут сброшены
7 Col2 15-30 с шагом в 5 или с 0 до 35 с шагом 1 Температура до которой необходимо нагревать воздух
8 Col2 0-(максимальное значение неизвестно) Время работы в часах с момента последней замены фильтра
9 - - Неизвестно

Предположительно какие-то 2 регистра являются индикаторами низкой уличной температуры и статусом работы электрического нагревателя.

Для чтения доступно 25 регистров, однако начиная с 10 они заполнены 0. Запись иных значений не приводит к изменению состояния.

Предположительно посылка значения 0 на 1 регистр разблокирует диапазон регулировок уставки температуры с 0 до 35 градусов. И из-за этого слетает корректное вычитывание уличной температуры

Шаблон приточки

Сохранить файл по следующему пути /etc/wb-mqtt-serial.conf.d/templates/config-royalclima-rcv.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": "Время работы фильтра"
            }
        }
    }
}

Известные проблемы:

  • Кнопка "Обслуживание завершено" не протестирована
  • Температура наружного воздуха по видимому показывается без учета знака, значит должен быть регистр который его обозначает. Предополжительно это значок снежинки (индикаторами низкой уличной температуры).
  • Максимальное значение аптайма неизвестно, предположительно 65 535 (максимальное значение беззнакового 16 битного числа)
  • Шаблон не приведен к единому виду

Дополнительные полезные команды для разработки и тестирования

Проверка шаблонов и конфигурации:

wb-mqtt-serial -g

Запрос на чтение 0 регистра:

modbus_client --debug -mrtu -b9600 -pnone -s1 /dev/ttyMOD3 -a1 -t0x03 -r0

Запрос на запись значения в 0 регистр:

modbus_client --debug -mrtu -b9600 -pnone -s1 /dev/ttyMOD3 -a1 -t0x06 -r2 0

Полезные ссылки

Страница моделей на сайте производителя

Тема на портале поддержки Wirenboard