--- 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 умеет пробрасывать все девайсы. Теперь могу просить сири сделать потеплее) Многие из вас могли не понять примерно треть написанного. И это наглядная иллюстрация нынешнего состояния умных домов и простоты их настройки. ```