Конвектор varmann. Температура NTC резистора x10

Продолжая обсуждение из темы Управление конвектором varmann:

Добрый день. Подключил 2 конвектора с использованием шаблона (шаблон в начальной теме) - все ок работает. Хочу добавить температуру. К одному из конвектров подключил датчик
Ниже вывод от двух, не помню просто номер нужного

    
      root@wirenboard-AEUQHNW4:~# modbus_client --debug -mrtu -b9600 -pnone -s1 /dev/ttyRS485-1 -a0x0012 -t0x03 -r0x0001
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 1)
[12][03][00][01][00][01][D7][69]
Waiting for a confirmation...
<12><03><02><00><C1><FC><17>
SUCCESS: read 1 of elements:
	Data: 0x00c1 
root@wirenboard-AEUQHNW4:~# modbus_client --debug -mrtu -b9600 -pnone -s1 /dev/ttyRS485-1 -a0x0014 -t0x03 -r0x0001
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 1)
[14][03][00][01][00][01][D7][0F]
Waiting for a confirmation...
<14><03><02><FE><6C><F5><CA>
SUCCESS: read 1 of elements:
	Data: 0xfe6c

В документе вот так

Пробую добавить в шаблон.
Пробовал двумя способами


{
  "name": "Temperature",
  "reg_type": "input",
  "readonly": true,
  "address": 1,
  "type": "text",
  "format": "u16"
}
{
  "name": "Temperature",
  "reg_type": "input",
  "address": 1,
  "type": "temperature",
  "format": "u16"
}

Но в логах ошибки и значения нет в интерфейсе


QHNW4 serial[1179]: ModbusRTU::ReadRegisterRange(): failed to read 2 holding(s) @ 6 of device modbus:20: Serial protocol error: request timed out
янв 14 18:05:02 wirenboard-AEUQHNW4 serial[1179]: ModbusRTU::ReadRegisterRange(): failed to read 2 holding(s) @ 6 of device modbus:18: Serial protocol error: request timed out
янв 14 18:05:02 wirenboard-AEUQHNW4 serial[1179]: device modbus:18 disconnected
янв 14 18:05:02 wirenboard-AEUQHNW4 serial[1179]: device modbus:20 disconnected

Подскажите что я делаю не так? И еще вопрос как данное значение перевести в цельсии

Добрый день.

Holding

Читаете holding как input?

Не очень понятно, какое отношение регистр 6 имеет к указанному для температуры 1.

Вот так

{
        "name":"Temperature",
        "reg_type":"holding",
        "readonly":true,
        "address":1,
        "type":"temperature",
        "format": "u16"
      },

отобразил какое то число
image_2024-01-15_09-55-43

как перевести 227 в градусы?

И конвектор оказался слишком “умный” При подключении NTC - он перешел в какой-то авто режим и не дает управлять скоростью вентилятора. Это для меня критично к сожалению((

Какое значение ожидаете?

от 17 до 23 градусов где то

Логично. Значит примените scale 0.1, как и указано в таблице.

Спасибо.

Вот тут нашел

Для расширения функций приборов дополнительно введено два битовых флага в старшем байте регистра «HeatChill»:
0b00000001 - флаг отключения вентилятора;
0b00000010 - флаг включения ручного режима вентилятора

Получается 5 разных значений регистр может принимать

Подскажите как это настроить получается on_value и off_value сюда не подходят.

Я не уверен что верно понимаю задачу.
Рпишите какие контролы и какого типа хотите создать.

Задача была следующая.
Управление конвертерами через wiren

  1. Управление скоростью вентилятора
  2. Включить выключить нагрев

Задача решена, конфигом из прошлой темы.
Т.к. данный конвектор позволяет отслеживать температуру- хочется это тоже видеть. Но конвектор переходит в авто режим.
Исходя из документации кажется что управление через регистр 0x0003 HeatChill может решить проблему перехода в авто режим.

Вот так в документации


Получается что в регистр 0x0003 можно записать 5 разных значений
3 режима обычных

0x0001 – нагрев
0x0002 – охлаждение
0x0003 - нагрев\охлаждение

2 доп режима (два битовых флага в старшем байте регистра)

0b00000001 - флаг отключения вентилятора;
0b00000010 - флаг включения ручного режима вентилятора

Вопрос как описать конфигурацию такого элемента управления

Может быть это руками закинуть без создания элемента управления. Только не пойму как быть с этим “два битовых флага в старшем байте регистра”

modbus_client --debug -mrtu -b9600 -pnone -s1 /dev/ttyRS485-1 -a0x0010 -t0x06 -r0x0003 0x01

В документации как раз есть пример работы с отдельными битами.
Адрес:смещение:длина

2 Likes

Спасибо за ссылку. В статье очень подробный шаблон есть для wiren. Но опять таки даже там в примере не выводится температура. Думаю не с проста)

Не выводится температура, т.к. не подключали датчики температуры к конвектору.

1: Точность показаний NTC датчиков, в сравнении с цифровыми ниже.
2: NTC датчики как и любые другие аналоговые не имеют защиты от искажения данных.
3: Зачем замерять температуру у конвектора? Если можно поставить отличный датчик температуры воздуха WB-MSWv4. И не привязываться к месту установки конвектора

Нет никаких возражений по всем пунктам. За пример еще раз спасибо.
Просто есть датчик и есть такая функция у конвектора поэтому подумал почему бы и нет.
Для меня это совсем не критично. Самая критичная функция это управление ̶ш̶у̶м̶о̶м̶ ̶в̶е̶н̶т̶и̶л̶я̶т̶о̶р̶а̶ скоростью вентилятора.

Тогда не забудьте сразу увеличить время, до срабатывания режима защиты (Максимум 250 секунд)