BAC-6000ALN: различия между версиями

Материал из Wiren Board
(Создал страницу)
 
 
(не показано 27 промежуточных версий 3 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE: Термостат BAC-6000 Series}}
{{DISPLAYTITLE: Подключение термостата BAC-6000ALN к контроллеру Wiren Board}}
[[Image: BAC-6000 Series.png|300px|thumb|right| Термостат BAC-6000 Series, белый]]
[[Image: BAC-6000 Series.png|300px|thumb|right| Термостат BAC-6000ALN]]
== Работа по Modbus ==
Термостатом можно управлять по протоколу [[Протокол_Modbus|Modbus RTU]]. На физическом уровне он подключается через интерфейс [[RS-485]].


Настраивать термостат можно с помощью утилиты [[Modbus-client|modbus_client]], использовать [[Working with WB devices without a controller|приложение для компьютера на ОС Windows]] или из веб-интерфейса контроллера Wiren Board.
== Описание ==
Бюджетный термостат с Modbus.


В этой статье мы будем использовать утилиту <code>modbus_client</code>, а подключаться к контроллеру через [[SSH]]. Синтаксис и параметры командной строки можно посмотреть на странице утилиты в разделе [[Modbus-client#Аргументы командной строки|Аргументы командной строки]].
== Подключение к контроллеру ==
[[Image: BAC-6000 AB LN.jpg |200px|thumb|right| Подключение термостата]]
Подключите устройство к шине [[RS-485]] с соблюдением распиновки. Если после подключения термостат не заработает — попробуйте поменять провода A и B местами, иногда производители [https://support.wirenboard.com/t/i-snova-bht-6000/17048/16 паяют их не так], как написано на корпусе устройства.


== Подготовка к работе ==
{| class="wikitable noclear"
{{Wbincludes:Modbus: Preparing for work}}
|+Распиновка разъёма
!Номер клеммы !!Описание
|-
|Red
|A
|-
|White
|B
|}


== Изменение настроек термостата ==
== Представление в веб-интерфейсе ==
Все настройки, доступные для изменения через RS-485 выведены в [[#Настройка для работы с ПО | веб-интерфейс]], но вы можете их изменять из командной строки с помощью утилиты <code>modbus_client</code>. Для этого нужно записать значения в [[#Таблица modbus-регистров | регистры термостата]]. Если вы никогда не использовали утилиту <code>modbus_client</code>, смотрите раздел [[#Подготовка к работе | Подготовка к работе]].
{{SupportedSinceRelease
| release= wb-2207
| deb= wb-mqtt-serial
| version= 2.69.3
|content=
{{WebUIAddDevice
| template=BAC-6000ALN
}}
}}


В примерах термостат подключен к интерфейсу <code>/dev/ttyRS485-1</code>, имеет настройки интерфейса <code>9600/None/1/8</code> и доступен по адресу <code>2</code>.
<gallery mode="packed" heights="150px" caption="Представление в веб-интерфейсе контроллера Wiren Board">
Image: Devices View BAC-6000ALN.png| Карточка устройства
Image: BAC-6000ALN, Connecting to the web interface.png| Выбор шаблона BAC-6000ALN
Image: BAC-6000 Series, Connecting to the web interface.png| Выбор шаблона BAC-6000 Series
</gallery>


=== Установка параметров подключения ===
{{Wbincludes:Modbus Aliens}}
Вы можете перед началом работы с термостатом назначить ему modbus-адрес, но параметры подключения изменить нельзя.
=== Параметры порта ===
{{RS485ConnectionParameters
| baud_rate=9600
| parity=None
| data_bits=8
| stop_bits=1
}}


По умолчанию в термостате заданы параметры: Адрес — 1, Скорость — 9600 бит/с, Четность — Even, Бит — 1.
Производитель не предоставил возможности их изменять.


У всех устройств Wiren Board параметры интерфейса по умолчанию: Скорость 9600 бит/с, Четность — None, Бит — 2. Поэтому для использования термостата на одной линии с ними, в устройствах Wiren Board нужно установить параметр <code>Бит = 1</code>.
=== Modbus-адрес ===
По умолчанию в термостате задан modbus-адрес 1,  


'''Modbus-адрес''' термостата устанавливается из сервисного меню и не может быть изменен через RS-485. Настройка делается нажатием кнопок на корпусе термостата:
Изменить modbus-адрес можно из сервисного меню. Настройка делается нажатием кнопок на корпусе термостата:
# Выключите термостат нажатием на кнопку <code>ON/OFF</code>.
# Выключите термостат нажатием на кнопку <code>ON/OFF</code>.
# Зажмите одновременно кнопки <code>M</code> и <code>Fan</code> на 5 секунд — термостат войдет в сервисный режим.
# Зажмите одновременно кнопки <code>M</code> и <code>Fan</code> на 5 секунд — термостат войдет в сервисный режим.
Строка 33: Строка 61:
Теперь вы можете подключиться к термостату по-новому modbus-адресу.
Теперь вы можете подключиться к термостату по-новому modbus-адресу.


=== Общий алгоритм настройки ===
=== Карта регистров ===
# Ищете адрес регистра и функцию записи.
Таблица регистров термостата BAC-6000ALN. Значения температуры при чтении нужно умножить на <code>0.5</code>, а при записи разделить.
# Смотрите возможные значения.
# Записываете в регистр значение, которое попадает в диапазон возможных.
 
=== Блокировка кнопок ===
 
Мы хотим заблокировать физические кнопки на термостате:
# Состояние блокировки хранится в регистре '''Lock buttons''' с адресом <code>0x06</code>. Функция записи — <code>0x06</code>.
# Возможные значения: 0 — Unlock, 1 — Lock.
# Теперь запишите значение '''1''' в регистр '''Lock buttons''':
#:<syntaxhighlight lang="bash">
~#  modbus_client --debug -mrtu -pnone -s1 /dev/ttyRS485-1 -a2 -t0x06 -r0x05 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 1)
[03][06][00][05][00][01][59][E9]
Waiting for a confirmation...
<03><06><00><05><00><01><59><E9>
SUCCESS: written 1 elements!
</syntaxhighlight>
 
Кнопки термостата заблокированы. Для разблокировки запишите в регистр '''Lock buttons''' значение 0 — Unlock.
 
===Чтение и запись значений температуры===
Значение температуры нужно конвертировать перед записью или после чтения.
 
Прочитаем значение текущей уставки из регистра '''Set temperature''', 0x04 — получим:
<syntaxhighlight lang="bash">
~#  modbus_client --debug -mrtu -pnone -s1 /dev/ttyRS485-1 -a2 -t0x03 -r0x04
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 1)
[03][03][00][04][00][01][C4][29]
Waiting for a confirmation...
<03><03><02><00><32><40><51>
SUCCESS: read 1 of elements:
        Data: 0x0032
</syntaxhighlight>
 
В документации к термостату указан '''коэффициент конвертации — 0.5'''. Это значит, что при чтении мы должны умножить полученное значение на коэффициент, а при записи разделить.
 
Нами было считано значение <code>0x0032</code> — это число 50, умножим его на коэффициент: <code>50 × 0.5 = 25 °С</code>
 
Теперь запишем в регистр значение 12°C: <code>12 / 0.5 = 24</code>:
<syntaxhighlight lang="bash">
~#  modbus_client --debug -mrtu -pnone -s1 /dev/ttyRS485-1 -a2 -t0x06 -r0x04 24
Data to write: 0x18
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 1)
[03][06][00][04][00][18][C9][E3]
Waiting for a confirmation...
<03><06><00><04><00><18><C9><E3>
SUCCESS: written 1 elements!
</syntaxhighlight>
 
== Настройка для работы с ПО ==
[[Image: Devices View BAC-6000 Series.png |300px|thumb|right| Представление BAC-6000 Series в веб-интерфейсе]]
 
Перед настройкой термостата в веб-интерфейсе, установите в нем [[#Установка параметров подключения | параметры подключения]].
 
=== Шаблон устройства ===
'''ВНИМАНИЕ:''' шаблон пока не включен в поставку [[Драйвер wb-mqtt-serial|wb-mqtt-serial]], поэтому вам нужно самостоятельно сохранить шаблон в файл и загрузить на контроллер в папку <code>/usr/share/wb-mqtt-serial/templates</code>.
 
Шаблон <code>config-bac-6000-series.json</code>:
<syntaxhighlight lang="json">
{
"device_type": "BAC-6000 Series",
"device": {
  "name": "BAC-6000 Series",
  "id": "bac-6000-series",
  "channels": [
    {
    "name": "Lock buttons",
    "reg_type": "holding",
    "address": "0x05",
    "type": "wo-switch",
    "format": "s16"
  },
  {
    "name": "Room temperature",
    "reg_type": "holding",
    "address": "0x03",
    "type": "temperature",
    "format": "s16",
    "scale": 0.5
  },
  {
    "name": "Fan Speed: 0 — Auto",
    "reg_type": "holding",
    "address": "0x01",
    "type": "range",
    "format": "s16",
    "max": 3
  },
  {
    "name": "Set Mode",
    "reg_type": "holding",
    "address": "0x02",
    "type": "range",
    "format": "s16",
    "max": 2
  },
  {
    "name": "Set temperature [10 ­… 30]",
    "reg_type": "holding",
    "address": "0x04",
    "type": "range",
    "format": "s16",
    "scale": 0.5,
    "max": 30
  }
  ]
}
}
</syntaxhighlight>
 
После копирования шаблона на контроллер перезапустите службу <code>wb-mqtt-serial</code>:
<syntaxhighlight lang="bash">
service wb-mqtt-serial restart
</syntaxhighlight>


Теперь выберите шаблон термостата в разделе '''Serial Device Driver Configuration''' веб-интерфейса:
{|class="wikitable sortable" style="text-align:center;"
# Откройте веб-интерфейс и перейдите '''Configs''' → '''Serial Device Driver Configuration'''.
! Регистр/ адрес
# Выберите один из двух интерфейсов связи и установите параметры интерфейса: Baud rate — 9600 бит/с, Parity — N, Data bits — 8, Stop bits — 1.
! '''Тип'''
# Нажмите на кнопку '''+ Device''' и в поле '''Device N''' выберите '''BAC-6000 Series''', где N — порядковый номер устройства.
! Чтение/ запись
# В поле '''Slave id''' укажите modbus-адрес термостата.
! '''Формат'''
# Сохраните настройки нажатием на кнопку '''Save'''.
 
Теперь устройство будет доступно на вкладке '''Devices'''.
 
Вы можете изменить шаблон по своему усмотрению — смотрите описание шаблонов в статье [[Драйвер wb-mqtt-serial:Примеры написания шаблонов | Драйвер wb-mqtt-serial]].
 
== Таблица modbus-регистров==
Таблица регистров термостата BAC-6000ALN.
 
{|class="wikitable sortable"
! Назначение
! Назначение
! Длина, байт
! Адрес, Hex
! Функция чтения
! Функция записи
! Возможные значения
|-
|-
| Power
| 0
| 1
| holding
| 0x00
| RW
| 0x03
| u16
| 0x06
| style="text-align:left;" | Status <br> 0x005a — OFF, 0x00a5 — ON
| 0x005a — OFF, 0x00a5 — ON
|-
|-
| Fan Speed
| 1
| 1
| 0x01
| holding
| 0x03
| RW
| 0x06
| 0 ­- 3
| 0 — Auto, 1 — Hign, 2 — Mid, 3 — Low
| style="text-align:left;" | Fan Speed <br> 0 — Auto, 1 — Hign, 2 — Mid, 3 — Low
|-
|-
| Set Mode
| 2
| 1
| holding
| 0x02
| RW
| 0x03
| 0 ­- 2
| 0x06
| style="text-align:left;" | Mode <br> 0 — Cooling, 1 — Heating, 2 — Ventilation
| 0 — Cooling, 1 — Heating, 2 — Ventilation
|-
|-
| Room temperature
| 3
| 1
| holding
| 0x03
| R
| 0x03
| u16
| -
| style="text-align:left;" | Room Temperature
| -
|-
|-
| Set temperature
| 4
| 1
| holding
| 0x04
| RW
| 0x03
| u16
| 0x06
| style="text-align:left;" | Temperature Setpoint<br>10…30
| 10…30
|-
|-
| Lock buttons
| 5
| 1
| holding
| 0x05
| RW
| 0x03
| 0 ­- 1
| 0x06
| style="text-align:left;" | Lock Buttons<br>0 — Unlock, 1 — Lock
| 0 — Unlock, 1 — Lock
|}
|}


== Документация ==
== Полезные ссылки ==
[https://aliexpress.ru/item/1005001730852715.html Описание термостата на Aliexpress]
[https://aliexpress.ru/item/1005002358881907.html Описание термостата на Aliexpress]
 
{{Wbincludes:Device Page Footer}}

Текущая версия на 13:30, 30 января 2024

Термостат BAC-6000ALN

Описание

Бюджетный термостат с Modbus.

Подключение к контроллеру

Подключение термостата

Подключите устройство к шине RS-485 с соблюдением распиновки. Если после подключения термостат не заработает — попробуйте поменять провода A и B местами, иногда производители паяют их не так, как написано на корпусе устройства.

Распиновка разъёма
Номер клеммы Описание
Red A
White B

Представление в веб-интерфейсе

Чтобы устройство появилось на вкладке Устройства в веб-интерфейсе контроллера Wiren Board, добавьте новое serial-устройство и выберите шаблон BAC-6000ALN.

Параметры подключения

Устройством можно управлять по протоколу Modbus RTU. На физическом уровне оно подключается через интерфейс RS-485. Вы можете автоматизировать работу с устройством с помощью сценариев.

Параметры порта

Значение
по умолчанию
Название параметра
в веб-интерфейсе
Параметр
9600 Baud rate Скорость, бит/с
8 Data bits Количество битов данных
None Parity Бит чётности
1 Stop bits Количество стоповых битов

Производитель не предоставил возможности их изменять.

Modbus-адрес

По умолчанию в термостате задан modbus-адрес — 1,

Изменить modbus-адрес можно из сервисного меню. Настройка делается нажатием кнопок на корпусе термостата:

  1. Выключите термостат нажатием на кнопку ON/OFF.
  2. Зажмите одновременно кнопки M и Fan на 5 секунд — термостат войдет в сервисный режим.
  3. Кратким нажатием на кнопку M выберите параметр D.
  4. Кнопками вверх ↑ и вниз ↓ установите новый адрес термостата.
  5. После установки адреса подождите 5 секунд, термостат применит новые настройки и выйдет из сервисного режима.
  6. Включите термостат нажатием на кнопку ON/OFF.

Теперь вы можете подключиться к термостату по-новому modbus-адресу.

Карта регистров

Таблица регистров термостата BAC-6000ALN. Значения температуры при чтении нужно умножить на 0.5, а при записи разделить.

Регистр/ адрес Тип Чтение/ запись Формат Назначение
0 holding RW u16 Status
0x005a — OFF, 0x00a5 — ON
1 holding RW 0 ­- 3 Fan Speed
0 — Auto, 1 — Hign, 2 — Mid, 3 — Low
2 holding RW 0 ­- 2 Mode
0 — Cooling, 1 — Heating, 2 — Ventilation
3 holding R u16 Room Temperature
4 holding RW u16 Temperature Setpoint
10…30
5 holding RW 0 ­- 1 Lock Buttons
0 — Unlock, 1 — Lock

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

Описание термостата на Aliexpress


Поддерживаемые контроллером Wiren Board системы верхнего уровня, приложения, способы программирования, протоколы и устройства
Протоколы
Опрос датчиков и работа с устройствами (в базовой комплектации) 1-WireDLMS/COSEM Modbus RTU/TCP Master ГОСТ МЭК 61107 СПОДЭС (ГОСТ Р 58940-2020)
Опрос датчиков и работа с устройствами (с помощью модулей расширения) KNXeBUSOpenThermZ-WaveZigbee
Опрос контроллера из систем верхнего уровня и с других устройств KNX Modbus RTU/TCP SlaveMQTTOPC UASNMPZabbix МЭК 104SmartWeb (Гидролого)
Системы верхнего уровня
Системы мониторинга и SCADA GrafanaHome Assistant IntraHouse IntraSCADASprut.hubMasterSCADANagiosSimpLight SCADARapid SCADASAYMONZabbix iRidium Server
Приложения
Управление с телефона MQTT DashiRidiumHome Assistant Apple HomeДом с АлисойСалют! Умный дом
Голосовые помощники Siri Салют Алиса
Способы программирования
Языки программирования ПЛК FBD, ST, LD, SFC (МЭК 61131-3)
Визуальное программирование Node-RED
Упрощённый текстовый движок правил wb-rules
Стандартное программирование Python C++ Go Node.js
Протестированные устройства сторонних производителей
Адаптеры протоколов ECODim DALI GW2 HDL KNX-DALI Gateway M/DALI.1 Arlight DALI-LOGIC-LITE-PS-x1
Аудиоресиверы сетевые URRI A1
Датчики климата DS18B20 и клоныKvadro 1WIRE-RS485 RLDA NL-3DPAS-M RLDA NL-1S111Wellpro WP3066ADAMДаджет MT8057/MT8057SРД MSU21РД MSU24РД MSU34+TLPРД MSU34+THLPЭксис ИВТМ-7 М 3
Датчики уровня ЭСКОРТ ДБ-2
Универсальные датчики TESLiOT (BLE)
Диммеры DALI Philio PAD07-RU Uniel UCH-M131RC/0808 Uniel UCH-M141RC/0808 РД DDL04R РД DDL24 РД DDL84R-V РД DDM845R
Домофоны VIZIT (ВИЗИТ), Элтис, Цифрал, Техком, Метаком, Beward и другие координатного типа
Конвекторы Varmann QTherm
Кондиционеры Haier YCJ-A002 Z-Wave ИК-передатчик PAR01-RUGREE (ONOKOM-AIR-GR-1-MB-B) AUX (ONOKOM-AIR-AUX-1-MB-B) Mitsubishi Electric (ONOKOM-AIR-ME-1-MB-B) Daikin (ONOKOM-AIR-DK-1-MB-B) Hisense (ONOKOM-AIR-HS-3-MB-B) Haier (ONOKOM-AIR-HR-1-MB-B)
Рекуператоры / вентиляция Рекуператор VAKIO Base Smart ПВУ Royal Clima Soffio Primo RCS-350-PВентиляционная установка KomfoventRoyal Clima VENTO
Контроллеры вентиляции и климата Mautomatics JL204C5 (Breezart 550 Lux) GTC (General Thermo Controllers) Syberia 5.0 SystemAir VR 300Тепломаш КЭВ-БЛОК-МК
Контроллеры холодильного оборудования Carel BASIC(PYEZ)/EASY(PJEZ) Danfoss EKC 204A1/AK-CC 210 Danfoss EKC 202B Danfoss EKC 202D Danfoss ERC 211/ERC 213/ERC 214 Eliwell IDPlus 974
Метеостанции Netatmo Urban Weather Station Сокол-М
Модули ввода-вывода Wellpro WP8026ADAM Wellpro WP8027ADAM Wellpro WP8028ADAM Wellpro WP9038ADAM
Модули реле РД DRB88 Rubetek TZ78 ICP DAS tM-P3R3 ICP DAS LC-103 Uniel UCH-M111RX/0808 Uniel UCH-M121RX/0808
Моторы для штор/Электрокарнизы Akko AM82 Dooya DM35EQ Dooya DT82 WinDeco Somfy SDN SunFlower KT82TV Somfy RS485 RTS transmitter Беспроводные Dooya/Somfy Dauerhaft CM5 Dauerhaft Roll 35/45 A-OK AM68 (LM100)
Панели управления Cityron ПУ-3 (Modbus) Sonoff NSPanel (fw NXPanel) EKF PRO-Screen Skirell Panel
Счётчики воды Пульсар Пульсар-М Элехант СВД-15 Элехант СВД-20 Счётчики с импульсным выходом
Счётчики тепла Пульсар
Счётчики электроэнергии CSQ PD561Z-9SY Peacefair PZEM-016 Eastron SDM120M Eastron SDM220M Меркурий 200 Меркурий 201 Меркурий 203.2T Меркурий 204 Меркурий 206 Меркурий 208 Меркурий 230 Меркурий 231 Меркурий 234 Меркурий 236 Меркурий 238 Милур 104 Милур 105 Милур 107 Милур 305 Милур 307 Нева МТ 113 Нева МТ 123 Нева МТ 124 Нева МТ 323 Нева МТ 324 Энергомера CE301 Энергомера CE102M Энергомера CE303 Энергомера CE308
Термостаты BAC-002ALN BAC-6000ALN BAC-6000ELNW BHT-6000 Series Heatit Z-TEMP2 Hessway Siemens RDF302 Ridan Greencon-R
Увлажнители CAREL Humisonic
Управление двигателями (преобразователи частоты) Vacon/Danfoss 10 Danfoss VLT Microdrive FC51 T13-400W-12-H/T13-750W-12-H
Прочее DIYShelly UNITasmotaESPHome
Устройства с аналоговым или цифровым выходом
Низковольтная нагрузка Реле с управляющим напряжением 12–24 В Светодиоды Низковольтные вентиляторы Низковольтные сигнальные лампы
Датчики с аналоговым выходом Датчики температуры, давления и другие, имеющие на выходе ток или напряжение
Счётчики с импульсным выходом Счётчики электроэнергии, воды, тепла и другие с импульсным выходом
Устройства с выходом «открытый коллектор» Устройства с выходом «открытый коллектор»
Устройства с питанием 220 В Лампы Контакторы и другое оборудование с питанием от 220 В