490 lines
13 KiB
Markdown
Executable File
490 lines
13 KiB
Markdown
Executable File
---
|
||
title: "🏠 Умный дом — автоматика"
|
||
aliases: ["Умный дом", "Home automation", "Modbus", "home-automation"]
|
||
tags: ["family", "how-to", "smarthome", "modbus"]
|
||
updated: "2026-05-17"
|
||
related: ["[[family/how-to/router-bishkek-asus]]"]
|
||
---
|
||
# 🏠 Умный дом — автоматика
|
||
|
||
## AT2 — калибровка PWM
|
||
|
||
```
|
||
P73 31700
|
||
P74 0
|
||
|
||
Pwm/freq
|
||
10/3.3
|
||
15/6
|
||
20/10
|
||
25/15.8
|
||
26/18.5
|
||
28/21.2
|
||
29/23.3
|
||
30/25.6
|
||
32/31.3
|
||
33/33.6
|
||
35/38
|
||
36/41.3
|
||
37/41.8
|
||
38/43.3
|
||
40/46.1
|
||
41/47.9
|
||
42/48.2
|
||
44/50
|
||
45/51.6
|
||
46/51.9
|
||
47/52.6
|
||
48/53.5
|
||
49/54.2
|
||
50/54.8
|
||
52/56.2
|
||
54/57.2
|
||
56/58.3
|
||
58/59.2
|
||
59/59.6
|
||
60/60
|
||
|
||
Hz : PWM
|
||
0 : 0
|
||
1 : 0
|
||
2 : 0
|
||
3 : 0
|
||
4 : 48
|
||
5 : 55
|
||
6 : 63
|
||
7 : 70
|
||
8 : 78
|
||
9 : 85
|
||
10 : 92
|
||
11 : 97
|
||
12 : 102
|
||
13 : 107
|
||
14 : 112
|
||
15 : 117
|
||
16 : 120
|
||
17 : 123
|
||
18 : 126
|
||
19 : 129
|
||
20 : 132
|
||
21 : 135
|
||
22 : 138
|
||
23 : 141
|
||
24 : 144
|
||
25 : 147
|
||
26 : 149
|
||
27 : 151
|
||
28 : 153
|
||
29 : 155
|
||
30 : 157
|
||
31 : 159
|
||
32 : 161
|
||
33 : 163
|
||
34 : 165
|
||
35 : 167
|
||
36 : 169
|
||
37 : 171
|
||
38 : 173
|
||
39 : 175
|
||
40 : 177
|
||
41 : 179
|
||
42 : 181
|
||
43 : 183
|
||
44 : 185
|
||
45 : 187
|
||
46 : 190
|
||
47 : 194
|
||
48 : 198
|
||
49 : 202
|
||
50 : 206
|
||
51 : 210
|
||
52 : 214
|
||
53 : 218
|
||
54 : 222
|
||
55 : 226
|
||
56 : 220
|
||
57 : 228
|
||
58 : 236
|
||
59 : 245
|
||
60 : 255
|
||
```
|
||
|
||
## Карта Slave ID — датчики и реле
|
||
|
||
```
|
||
Датчики
|
||
Гостиная - 1 (modbus bridge virt. sensor - 101)
|
||
Детская - 2 (modbus bridge virt. sensor - 102)
|
||
Спальня - 3 (modbus bridge virt. sensor - 103)
|
||
|
||
Tuya Zigbee thermal Sensor - 100
|
||
|
||
Vent control - 10 (0A)
|
||
Газ котёл вкл - 20 (14)
|
||
|
||
Заслонки:
|
||
Relay module - 11 (0B): reg 2-17, on: 256, off: 512
|
||
|
||
Спальня
|
||
Закрыто (Синий): 1
|
||
30% (Красный): 2
|
||
60% (Жёлтый): 3
|
||
Открыто (Коричневый): 4
|
||
|
||
Гостиная правый:
|
||
5: Закрыто, -6(вытяж), 7: 66%, 8: Открыто
|
||
Гостиная левый:
|
||
9: Закрыто, -10(вытяж), 11: 66%, 12: Открыто
|
||
Детская:
|
||
13 Закрыто ... 16: Открыто
|
||
|
||
Кухня отток: 6: откр, 10: закр
|
||
|
||
Relay module - 12 (0C)
|
||
Кабинет:
|
||
1: Закрыто ... 4: Открыто
|
||
Север:
|
||
5: Закрыто ... 8: Открыто
|
||
|
||
Вытяж Ванная: 9: откр, 10: закр
|
||
Вытяж Кабинет: 11: откр, 12: закр
|
||
Вытяж Туалет 1: 13: откр, 14: закр
|
||
Вытяж Душевая 2: 15: откр, 16: закр
|
||
|
||
Relay module - 13 (0D) (ZONT)
|
||
Радиаторы 2эт:
|
||
9: ванная
|
||
10(н/п): коридор
|
||
11(н/п): северная
|
||
12: детская левый
|
||
13: детская правый
|
||
14(н/п): гостевая
|
||
15: спальня левый
|
||
16: спальня правый
|
||
регистры записи из зонт reg+1! 256 - on, 512 - off
|
||
чтение статусов 1-8, 9-16 возвр. 1 или 0
|
||
|
||
Заслонки пластиковые: время открытия/закрытия ~3.5-3.8
|
||
|
||
Relay module 14 (0E)
|
||
Тёплый пол (ZONT)
|
||
[1: Лест.коридор - н.п.]
|
||
2: Гостиная ближний
|
||
[3: Столовая - н.п.]
|
||
4: Кухня
|
||
[5: Туалет 1 - н.п.]
|
||
6: Ванная 2
|
||
7: Душевая 2
|
||
8: Гардеробная
|
||
13: Гостиная дальний
|
||
[14: Прихожая - н.п.]
|
||
15: Кабинет правый
|
||
16: Кабинет левый
|
||
регистры записи из зонт reg+1! 256 - on, 512 - off
|
||
чтение статусов 1-8, 9-16 возвр. 1 или 0
|
||
|
||
ZONT relays
|
||
1: Конвектор кухня
|
||
2: Конвектор терраса
|
||
3: Конвектор гостиная средний
|
||
4: Конвектор гостиная левый
|
||
[5: Радиатор лестница - н.п.]
|
||
6: Радиатор кабинет
|
||
7: Насос тёплые полы
|
||
[8: Конвектор котельная - н.п.]
|
||
```
|
||
|
||
## Карта регистров контроллера вентиляторов
|
||
|
||
```
|
||
(home assistant = reg - 1)
|
||
|
||
Slave id 10 (0A)
|
||
AT2-1
|
||
Run (Relay 5, orange) - 28 (ha: 27) (D10): 0 - ON, 1 - OFF
|
||
PWM (brown) - 13 (ha: 12) (D6)
|
||
|
||
AT2-2
|
||
Run (Relay 4, green) - 22 (ha: 21) (D4): 0 - ON, 1 - OFF
|
||
PWM (blue) - 12 (ha: 11) (D5)
|
||
|
||
set_percentage:
|
||
- service: modbus.write_register
|
||
data:
|
||
hub: rtu
|
||
slave: 10
|
||
address: 12
|
||
value: "{{ (percentage * 255 / 100) | int }}"
|
||
- service: modbus.write_register
|
||
data:
|
||
hub: rtu
|
||
slave: 10
|
||
address: 13
|
||
value: 1
|
||
|
||
Vent 3
|
||
Relay 1 (Вент 3 белый) - 25 (ha: 24) (D7)
|
||
Relay 2 (Вент 4 белый) - 26 (ha: 25) (D8)
|
||
Relay 3 (Вент 4 синий) - 21 (ha: 20) (D3)
|
||
|
||
40001 : Slave ID (1..247) R/W EEPROM
|
||
|
||
PWM 0..255
|
||
40011 : D3 R/W EEPROM
|
||
40012 : D5 R/W EEPROM
|
||
40013 : D6 R/W EEPROM
|
||
40014 : D9 R/W EEPROM
|
||
40015 : D10 R/W EEPROM
|
||
40016 : D11 R/W EEPROM
|
||
|
||
DIGITAL 0/1
|
||
40021 : D2 R/W EEPROM
|
||
40022 : D3 R/W EEPROM
|
||
40023 : D4 R/W EEPROM
|
||
40024 : D5 R/W EEPROM
|
||
40025 : D6 R/W EEPROM
|
||
40026 : D7 R/W EEPROM
|
||
40027 : D8 R/W EEPROM
|
||
40028 : D9 R/W EEPROM
|
||
40029 : D10 R/W EEPROM
|
||
40030 : D11 R/W EEPROM
|
||
40031 : D12 R/W EEPROM
|
||
40032 : D13 R/W EEPROM
|
||
|
||
|
||
0 : Slave ID (1..247) R/W EEPROM
|
||
|
||
PWM 0..255
|
||
10 : D3 R/W EEPROM
|
||
11 : D5 R/W EEPROM
|
||
12 : D6 R/W EEPROM
|
||
13 : D9 R/W EEPROM
|
||
14 : D10 R/W EEPROM
|
||
15 : D11 R/W EEPROM
|
||
|
||
DIGITAL 0/1
|
||
20 : D2 R/W EEPROM
|
||
21 : D3 R/W EEPROM
|
||
22 : D4 R/W EEPROM
|
||
23 : D5 R/W EEPROM
|
||
24 : D6 R/W EEPROM
|
||
25 : D7 R/W EEPROM
|
||
26 : D8 R/W EEPROM
|
||
27 : D9 R/W EEPROM
|
||
28 : D10 R/W EEPROM
|
||
29 : D11 R/W EEPROM
|
||
30 : D12 R/W EEPROM
|
||
31 : D13 R/W EEPROM
|
||
```
|
||
|
||
## Контроллер AT2 — параметры
|
||
|
||
```
|
||
Как задавать параметры
|
||
|
||
1. PRG – войти в параметры.
|
||
|
||
|
||
2. Стрелками выбрать номер параметра.
|
||
|
||
|
||
3. FUNC/DATA – открыть параметр.
|
||
|
||
|
||
4. Стрелками изменить значение.
|
||
|
||
|
||
5. FUNC/DATA – сохранить.
|
||
|
||
|
||
6. PRG – выйти.
|
||
|
||
|
||
|
||
|
||
---
|
||
|
||
Что выставить для управления Arduino (0–5 В + RUN через X1)
|
||
|
||
1) Источник частоты — внешний аналог
|
||
|
||
P10 = 2
|
||
|
||
|
||
2) Источник RUN/STOP — внешние входы
|
||
|
||
P11 = 2
|
||
|
||
|
||
3) Назначение X1 как RUN (вперёд)
|
||
|
||
P50 = 5
|
||
|
||
|
||
4) Калибровка входа 0–5 В
|
||
|
||
P74 = 2096 (минимум, 0 В)
|
||
|
||
P73 = 15720 (максимум, 5 В)
|
||
|
||
|
||
(Если нужно точнее — потом подстроишь)
|
||
|
||
5) Максимальная рабочая частота (если нужно 50 Гц)
|
||
|
||
P06 = 50
|
||
|
||
|
||
Да, есть ещё несколько коротких и реально важных моментов, которые стоит учесть, чтобы всё работало корректно и безопасно. Тоже без простыней.
|
||
|
||
|
||
---
|
||
|
||
1) Выбор режима остановки
|
||
|
||
Параметр:
|
||
|
||
P12 — режим остановки
|
||
Рекомендовано:
|
||
|
||
P12 = 1 (плавное торможение / deceleration stop)
|
||
|
||
|
||
Если оставить “0” (инерционная остановка), мотор будет раскручиваться сам по себе при STOP.
|
||
|
||
|
||
---
|
||
|
||
2) Время разгона и торможения
|
||
|
||
Если Arduino будет резко менять напряжение 0–5 В, а инвертор сможет резко менять частоту — нагрузка может дёрнуться.
|
||
|
||
Параметры:
|
||
|
||
P34 — ускорение
|
||
|
||
P42 — торможение
|
||
|
||
|
||
Рекомендовано для мягкой работы:
|
||
|
||
P34 = 20–50
|
||
|
||
P42 = 20–50
|
||
|
||
|
||
(значения = Гц/сек)
|
||
|
||
|
||
---
|
||
|
||
3) Логика входов X1–X6 — активны «на землю»
|
||
|
||
На стр. 3 инструкции написано:
|
||
|
||
> Short port Xn and COM, input effective
|
||
|
||
|
||
|
||
То есть вход активируется замыканием на COM.
|
||
Это важно при подключении оптопары — выход PC817 должен замыкать X1 → COM.
|
||
|
||
|
||
---
|
||
|
||
4) Выходы SP1 и SP2 — open collector
|
||
|
||
Можно использовать для:
|
||
|
||
получение сигнала RUN
|
||
|
||
сигнал ошибки
|
||
|
||
сигнал «достигнута частота»
|
||
|
||
|
||
Выбирается параметрами P58 / P60.
|
||
Например:
|
||
|
||
P58 = 3 → SP1 выдаёт fault indication (авария)
|
||
|
||
|
||
Полезно при интеграции с Arduino.
|
||
|
||
|
||
---
|
||
|
||
5) Верхний предел частоты
|
||
|
||
Параметр:
|
||
|
||
P06 — максимальная рабочая частота (default 65 Гц)
|
||
|
||
|
||
Если не хочешь случайно подать 5 В и получить перегруз:
|
||
|
||
→ поставь P06 = 50 (или твою номинальную частоту).
|
||
|
||
|
||
---
|
||
|
||
6) Источник отображаемой величины
|
||
|
||
Параметр:
|
||
|
||
P62
|
||
|
||
|
||
Если хочешь видеть на дисплее выходную частоту, а не заданную:
|
||
|
||
P62 = 1
|
||
|
||
|
||
Если хочешь видеть температуру радиатора — P62 = 4.
|
||
|
||
|
||
---
|
||
|
||
7) Режим питания 5V/10V OUT
|
||
|
||
На схеме есть вывод 5V/10V power output.
|
||
|
||
Это питание для внешних потенциометров.
|
||
Не путать с аналоговым входом.
|
||
|
||
Твой Arduino должен давать своё напряжение на VI1, НЕ на этот 5/10V OUT.
|
||
|
||
|
||
---
|
||
|
||
8) Ограничения тока (опционально)
|
||
|
||
Если двигатель маленький, можно ограничить ток:
|
||
|
||
P78–P85 — защитные лимиты
|
||
Обычно трогать не нужно.
|
||
|
||
|
||
|
||
---
|
||
|
||
9) Параметры сброса
|
||
|
||
Полный сброс параметров:
|
||
|
||
P77 = 54321
|
||
|
||
|
||
На случай, если что-то настроится неправильно.
|
||
|
||
|
||
---
|
||
|
||
Если хочешь, могу собрать короткую финальную таблицу всех параметров, которые ты реально используешь, чтобы не искать по PDF.
|
||
```
|
||
|
||
## Xiaomi / Tuya — локальный сервер
|
||
|
||
```
|
||
Четыре способа управления тёплым полом. Термостаты я взял на али, от не очень понятного производителя, но дёшево и с вайфаем. Родное для него приложение Smart Life сразу увидело все три термостата и данные бодро пошли на китайские сервера Tuya. В качестве основного средства автоматизации и управления умным домом я выбрал опенсорсный сервер Home Assistant. Есть интеграции под все на свете, выглядит не убого и шустро работает на запылившемся на полке микрокомпьютере raspberry pi 3. Сперва я завёл интеграцию через официальный плагин от Tuya, зарегистрировавшись на их сайте IoT разработчиков и получив нужные ключи api. Теперь данные через китайские сервера шли на мой локальный. Но оказалось, что их api не умело все возможности моего термостата. Например он умеет показывать температуру воздуха и температуру самого пола. А через сервер приходила только температура воздуха. При этом родное приложение Smart Life умело все. Огорчившись, я нашёл неофициальную интеграцию Tuya девайсов для Home Assistant. Она умеет работать с данными девайсами локально, в обход китайских серверов. Но не поддерживает термостаты как класс. Поэтому я нашёл форк с поддержкой термостатов, сделал свой форк, дописал туда несколько строк на питоне для корректной работы именно моей модели, заодно сделал пул реквест и наконец-то заимел полнофункциональный термостат на своём локальном сервере. Ну а самим девайсам запретил ходить во внешний мир на роутере. И вишенкой на торте является интеграция с Apple HomeKit, куда Home Assistant умеет пробрасывать все девайсы. Теперь могу просить сири сделать потеплее) Многие из вас могли не понять примерно треть написанного. И это наглядная иллюстрация нынешнего состояния умных домов и простоты их настройки.
|
||
``` |