Умный дом, опыт построения, бег по граблям (MajorDomo, Tasmota и Алиса) / Хабр

Умный дом, опыт построения, бег по граблям (MajorDomo, Tasmota и Алиса) / Хабр Анемометр

Что можно было бы сделать лучше

Наверняка — почти всё. У меня всё получилось всё настолько быстро, что я не успел прочитать, как это делать правильно. Очевидные косяки есть такие:

  • Можно было бы использовать зигби. Но при моём количестве устройств две точки Keenetic в меш сети вполне тянут всё на вайфае, так что не хотелось дополнительной магии. А проблемы интерференции сетей в отдельном домике в подмосковье не существует.
  • Можно было бы писать в один топик все показатели от датчика CO2/температуры/влажности. А потом парсить. Но было лень, да и места в очереди не жалко.
  • Все устройства на микроконтроллерах можно было сделать с self discovery, чтобы не писать конфиг в HA, а он сам их находил и отрисовывал нужные иконки и контролы. Но лень.
  • Можно было бы использовать что-то вроде ESPHome, что позволяет прошивку и обновление устройств по воздуху. Но с моим пятком датчиков мне стало лень в этом разбираться, так что сделал как шесть лет назад.
  • Наверняка, ты, читатель, тоже увидел, что можно было сделать лучше или проще — подскажи!

Что можно сделать ещё

Так же у меня возникали следующие мысли:

  • Поставить сервопривод на регулятор котла, чтобы менять температуру воды. У меня нет бойлера, так что регулировать температуру надо на котле. И бывает нужно тёплую, а бывает — кипяток. Бегать крутить ручку неудобно. Так же можно регулировать и отопление, но меня не обламывает это делать руками при изменении погоды. Хотя можно было бы приглушать отопление на ночь…
  • Ребёнок просил сделать алярм на случай, если проспал все будильники. Думаю, что датчик движения плюс станция вполне решат эту задачу.
  • Иногда хочется умных штор, но пока что это из той серии, что проще сделать руками. Да и для них надо добавлять специальные устройтва, от которых скорее всего останутся следы в стенах. Так что отложим.
  • Ещё наверное дойду до того, чтобы поставить датчики протечек, газа и огня. Протечки уже случались, и было бы неплохо хотя бы оперативно на это смочь среагировать.

Автоматический полив цветочков

Листая каталог компонентов, случайно наткнулся на набор для полива, который состоит из датчика влажности земли (втыкается в землю), реле и небольшого насоса.Процесс шёл всё быстрее, и вот уже ещё один контроллер сообщает мне о влажности земли и сам поливает цветочки.

Правда, пока я пришёл к выводу, что собирать такое на каждый горшок — дороговато. Достаточно просто засунуть его в один горшок и при его высыхании слать напоминалку (лучше поливать всё одинаково, чем забыть на пару недель). Кроме станции, напоминалки у меня так же настроены в телеграмм, но настройка этого настолько тривиальна, что даже писать об этом стыдно.

Алиса, открой ворота

Въедливый читатель наверняка заметил, что Алиса на текущем этапе мне ворота не откроет. Она по них не знает. И здесь нам на помощь приходит интеграция с умным домом яндекса. Которая тоже настраивается за 10 минут и передаёт туда все устройства, которые ты указал, и которые ему понятны.

Теперь я могу управлять домом тремя способами:

  1. Админка Home Assistant через локальную сеть;
  2. Та же админка через интернет, выкинутая туда штатными средствами Keenetic — KeenDNS;
  3. Алиса, которая дёргает Home Assistant через пункт 2.

Видел много статей, которые предлагали другие средства вроде использования Blink или “домовёнка кузи” — но зачем умножать сущности, если можно этого не делать?

Как дополнительный неочевидный бонус, такая интеграция позволяет раздать управление умным домом через Алису всему семейству, чего штатно в Умном Доме Яндекса до сих пор, кажется, нет.

Беспроводные выключатели, кнопки и пульты

Часть производителей смешивает понятия выключателя и кнопки, поэтому название может отличаться от тех конструкции и поведения, к которым мы привыкли. 
Во избежание путаницы оставлены оригинальные названия устройств.
Aqara
Wireless Mini Switch

Модель: WXKG11LM

SH модель: lumi.sensor_switch.aq2

Подключается

ПротоколZigbee
Показаниякнопка, заряд
Условия для сценариянажатие, двойное нажатие, долгое нажатие, уровень заряда
СсылкиAqaraAliexpressЯндекс Маркет
Wireless Mini Switch (Advanced)

Модель: WXKG12LM

SH модель: lumi.sensor_switch.aq3

Подключается

Есть особенности

ПротоколZigbee
Показаниякнопка
Условия для сценариянажатие, двойное нажатие, долгое нажатие
Особенностиотсутствует встряхивание
СсылкиЯндекс Маркет
Выключатель одноклавишный (2022)

Модель: WXKG03LM_rev1

Не подключается

ПротоколZigbee
Сенсорный двухлинейный выключатель Livolo ZigBee

Модель: VL-C702Z-11

Не подключается

ПротоколZigbee
Выключатель одноклавишный (2022)

Модель: WXKG03LM_rev2

Подключается

ПротоколZigbee
Показаниякнопка, заряд
Условия для сценариянажатие, двойное нажатие, долгое нажатие, заряд
Выключатель двухклавишный (2022)

Модель: WXKG02LM_rev1

SH модель: lumi.sensor_86sw2

Не подключается

ПротоколZigbee
Выключатель двухклавишный (2022)

Модель: WXKG02LM_rev2

SH модель: lumi.remote.b286acn01

Подключается

Есть особенности

ПротоколZigbee
Показаниякнопка, заряд
Условия для сценариянажатие, двойное нажатие, долгое нажатие, заряд
Особенностиотсутствует нажатие, двойное, долгое нажатие на 2 клавиши
D1 ◦ Выключатель двухклавишный

Модель: WXKG07LM

SH модель: lumi.remote.b286acn02

Подключается

Есть особенности

ПротоколZigbee
Показаниякнопка
Условия для сценариянажатие, двойное нажатие, долгое нажатие
Особенностиподключилась только левая клавиша. Правая не работает.
H1 ◦ Выключатель двухклавишный

Модель: WRS-R02

SH модель: lumi.remote.b28ac1

Не подключается

ПротоколZigbee 3.0
Opple ◦ Выключатель на 2 кнопки

Модель: WXCJKG11LM

Не подключается

ПротоколZigbee 3.0
Opple ◦ Выключатель на 4 кнопки

Модель: WXCJKG12LM

Не подключается

ПротоколZigbee 3.0
Opple ◦ Выключатель на 6 кнопок

Модель: WXCJKG13LM

Не подключается

ПротоколZigbee 3.0
Ikea Tradfri
Беспроводная кнопка

Модель: E1743

Не подключается

ПротоколZigbee
Lonsonho
Беспроводная кнопка

Модель: TS0041

Не подключается

ПротоколZigbee
Moes
Кнопка с возможность поворота

Модель: ERS-10TZBVK-AA

Не подключается

ПротоколZigbee
Xiaomi Mi (Mijia)
Беспроводная кнопка ◦ Wireless Mini Switch

Модель: WXKG01LM (YTC4040GL)

Подключается

Есть особенности

ПротоколZigbee
Показаниякнопка, заряд
Условия для сценариянажатие, двойное нажатие, заряд
Особенностиотсутствует долгое нажатие
СсылкиAliexpressЯндекс Маркет

Влажность, температура, co2

Как я уже упоминал выше, у меня уже шесть лет работает собранный на коленке датчик. Оставалось только прикрутить к нему публикацию данных через MQTT. Что тоже было сделано с лёгкостью, приводящей в изумление.
Опять же не буду на этом останавливаться — конфиг для HA есть в репозитории.
Умный дом, опыт построения, бег по граблям (MajorDomo, Tasmota и Алиса) / Хабр

Внешние розетки и удлинители

 Особенность для всех розеток: пока что нет поддержки энергомониторинга и розетка не может выступать в качестве условия в сценариях

Внимание, мошенники!

Кстати, про Яндекс.Станции. С рук покупать очень не советую – оказалось, что есть станции по подписке – продается конкретному человеку и 3 года он должен платить по 400 рублей в месяц. Никому такую передавать нельзя – она залочена на учетку того, кому ее Яндекс отдал.

То есть они не для продажи. Ни на коробке, ни на станции, ни при включении она ничем не отличается от обычной (только, кажется, глуховатые, кстати). Но через 10 минут работы говорит «оплатите подписку» и вообще не работает никак. Поддержка Яндекса может проверить по номеру, но отвечают через день – явно долго для проверки при покупке.

Встраиваемые выключатели

 Особенность для всех встраиваемых выключателей: пока что нет поддержки энергомониторинга и выключатель не может выступать в качестве условия в сценариях

Голосом

Для того, чтобы подключить Zigbee устройство голосом, нужно проделать следующие шаги:

Про анемометры:  Датчики газа для arduino

  • Сказать Алисе из Станции 2: “Алиса, найди устройство” или “Алиса, найди несколько устройств
  • Сразу после активации поиска нужно перевести устройство в режим подключения (Способ сброса указан в инструкции, а также в таблице ниже)

Движения

Aqara
Датчик движения и освещения ◦ Motion Sensor

Модель: RTCGQ11LM

Подключается

ПротоколZigbee
Показаниядвижение, освещённость, заряд
Условия для сценариядвижение, нет движения (1/2/5/10 мин), освещённость, заряд
Сброснажать и удерживать кнопку до тех пор, пока индикатор не моргнёт 3 раза
СсылкиAqaraAliexpressЯндекс Маркет
Irbis
Датчик движения ◦ Motion Sensor

Модель: IRHMS10

Не подключается

ПротоколZigbee
Life Control
Датчик движения ◦ Motion Sensor

Модель: MCLH-05

Подключается

ПротоколZigbee
Показаниядвижение
Условия для сценариядвижение, нет движения (1/2/5/10 мин)
ОсобенностиОтсутствует уровень заряда
СсылкиLife ControlAliexpressЯндекс Маркет
Philips Hue
Датчик движения, освещённости, температуры

Модель: SML001

Не подключается

ПротоколZigbee 3.0
Показаниядвижение, освещённость, заряд
Особенностидатчик не передаёт показания, в сценариях участвовать не может
Sonoff
Датчик движения

Модель: SNZB-03

Не подключается

ПротоколZigbee 3.0
Tuya
Датчик движения

Модель: JMWZG06

Не подключается

ПротоколZigbee
Датчик движения

Модель: TS0202

Не подключается

ПротоколZigbee
Booox Mini Датчик движения

Модель: ZMS-102

Не подключается

ПротоколZigbee
Xiaomi Mi (Mijia)
Датчик движения

Модель: RTCGQ01LM

Подключается

ПротоколZigbee
Показаниядвижение, заряд
Условия для сценариядвижение, нет движения (1/2/5/10 мин), заряд
СсылкиAliexpressЯндекс Маркет
Триколор
Датчик движения

Модель: GS SMHM-I1

Не подключается

ПротоколZigbee

История рождения моего умного дома

На момент начала моей автоматизации, у меня были штук 6 устройств SonOff (у них родное приложение и облако – eWeLink), управлял розетками на даче. И поставил камеры Xiaomi Dafang (камеры не понимали русский, но это PTZ, FullHD, да еще и стоили всего 2 тысячи рублей каждая).

Камеры принесли на дачу постоянный интернет (мобильный), роутер. А также облако Xiaomi. Итого, 2 облака – Xiaomi eWeLink. Надо было собирать в единую панель управления. Первым был установлен HomeAssistant, даже игрался с камерами (хотел на датчик движения у камер прикрутить и сохранять в системе).

Но дальше скриншотов, и то не всегда, дело не пошло. С SonOff вообще не смог подружить. Решив, что логика для розеток все-таки важнее, начал играться с MajorDomo, который имел для этих устройств коннектор, а также более-менее понятный интерфейс настроек (субъективно, да, php html, объектно-ориентированная модель).

Первый тревожный звоночек пришел от Роскомнадзора – в попытке убить телеграмм (безуспешной) они прибили доступ ко многим облакам, в том числи и Xiaomi. В середине зимы было очень неприятно оказаться без видеонаблюдения за дачей, расположенной в 100 км от дома..

Итог – камеры перепрошиты на Dafang Hack (прошивка делающая локальный RTSP сервер потокового видео) и первая моя Raspberry c MotionEyeOS (локальный видео сервер), а также белый IP дома и VPN между домом и дачей (на роутерах Mikrotik). Локальный сервер держит архив на 500Гб (пара месяцев с двух камер), питается от аккумулятора (до 3 дней без света).

Для логики нужно не только управлять, но и контролировать, для этого купил SonOff POW R2 – это фактически, счетчик электроэнергии с выключателем на 16А (стоимость по 750 рублей). Это позволило при включении посудомоечной машины, бойлера для воды (суммарно 4 кВт) блокировать розетку с чайником.

Сейчас это модно называется DemandResponse. А так же стало возможно контролировать работоспособность насосов водоснабжения и канализации (по графику дренаж включается и на графике мощности есть пики, по которым можно понять, много ли воды и вообще, не завис ли поплавок!) – дистанционная диагностика оборудования.

Так же для управления низковольтными устройствами (включение дизельного отопителя, насоса аэрации воды для очистки, отключения зарядника от аккумулятора, когда нет напряжения в сети СНТ) был куплен клон SonOff G4 – четырехканального реле с радиопультом (еще 1100 рублей).

Второй «звоночек» пришел от eWeLink – с выходом в массы устройства контроля напряжения SonOff POW R2 поток через их сервер, видимо, стал превышать их возможности (ток, напряжение, мощность активная, мощность реактивная, мощность полная, коэффициент мощности и все это 5 раз в секунду с каждого такого устройства) и они решили, что датчики будут телеметрию слать один раз в минуту.

Итог – модуль MojorDomo для локального режима SonOff и окончательный переход на MajorDomo на Orange Pi (стоила около 1000 рублей всего, пришлось осваивать Linux, а точнее – Armbian и по инструкциям ставить MajorDomo).

Клапаны и вентили

Важно! Данный тип не поддерживается, но устройства могут добавиться как другой тип. Работоспособность не гарантируется!

Лампочки

 Особенность для всех ламп: пока что нет поддержки RGB (смен цветов) и режимов (сцен)
Aqara
E27 ◦ Умная лампочка

Модель: ZNLDP12LM

Подключается

ПротоколZigbee
Управлениевкл/выкл, изменить яркость, изменить цветовую температуру
СсылкиAqaraAliexpressЯндекс Маркет
Gledopto
E14 RGB ◦ Лампочка разноцветная

Модель: GL-B-001P

Не подключается

ПротоколZigbee 3.0
Особенностине работает (добавляется с температурой и яркостью, но на изменения не реагирует)
СсылкиAliexpress
MR16 RGB 2700-6500K 300lm ◦ Лампочка разноцветная

Модель: GL-S-004Z

Подключается

Есть особенности

ПротоколZigbee
Управлениевкл/выкл, изменить яркость, изменить цветовую температуру
Сбросвыключить и включить 6 раз
Особенностиотсутствует RGB (смена цветов)
СсылкиAliexpress
Ikea Tradfri
E27 2700K ◦ Лампочка тёплый белый

Модель: LED1836G9

SH модель: TRADFRI bulb E27 WW 806lm

Подключается

ПротоколZigbee
Управлениевкл/выкл, изменить яркость
E14 2700K ◦ Лампочка тёплый белый

Модель: LED1649C5

Подключается

ПротоколZigbee
Управлениевкл/выкл, изменить яркость
GU10 2700K 400lm ◦ Лампочка тёплый белый

Модель: 20410421

Подключается

ПротоколZigbee
Управлениевкл/выкл, изменить яркость
GU10 2700K 400lm ◦ Лампочка тёплый белый

Модель: LED1650R5

Подключается

ПротоколZigbee
Управлениевкл/выкл, изменить яркость
Сбросвыключить и включить 6 раз
Life Control
E27 ◦ Умная лампочка разноцветная

Модель: MCLH-02

Подключается

Есть особенности

ПротоколZigbee
Управлениевкл/выкл, изменить яркость, изменить цветовую температуру
Особенностиотсутствует RGB (смена цветов), криво изменяется цветовая температура
СсылкиAliexpressЯндекс Маркет
Philips Hue
E27 ◦ Умная лампочка белая

Модель: уточняется

Подключается

Есть особенности

ПротоколZigbee
Управлениевкл/выкл, изменить яркость
СсылкиPhilips
E27 ◦ Умная лампочка белый и цветная атмосфера

Модель: LCA001

Подключается

Есть особенности

ПротоколZigbee
Управлениевкл/выкл, изменить яркость, изменить цветовую температуру
Особенностиотсутствует RGB (смена цветов)
GU10 2700K 400lm ◦ Умная лампочка

Модель: LWG004

Подключается

ПротоколZigbee
Управлениевкл/выкл, изменить яркость
Trust
E27 2700K ◦ Умная лампочка тёплый белый

Модель: ZLED-2709

Подключается

ПротоколZigbee
Управлениевкл/выкл, изменить яркость
E14 2200K ◦ Умная лампочка

Модель: ZLED-EC2206

Подключается

ПротоколZigbee
Управлениевкл/выкл, изменить яркость
GU10 2700K 350lm ◦ Умная лампочка

Модель: ZLED-G2705

Подключается

ПротоколZigbee
Управлениевкл/выкл, изменить яркость
Сбросвыключить и включить 6 раз
GU10 2200-6500K 350lm ◦ Умная лампочка

Модель: ZLED-TUNEG6

Подключается

ПротоколZigbee
Управлениевкл/выкл, изменить яркость, изменить цветовую температуру
Сбросвыключить и включить 6 раз
GU10 350lm ◦ Умная лампочка разноцветная

Модель: ZLED-RGBG6

Подключается

Есть особенности

ПротоколZigbee
Управлениевкл/выкл, изменить яркость, изменить цветовую температуру
Сбросвыключить и включить 6 раз
Особенностиотсутствует RGB (смена цветов)

Локальное управление яндекс.розетками

Вокруг красота, и я всем могу управлять через HA. Кроме розеток, что в целом пофигу, но я начал комплексовать и начал думать, что можно с этим делать. И тут подумал о том, что Keenetic и HA оба находят у меня устройства tuya, и это ЖЖЖ явно не спроста!

Про анемометры:  Измерение концентрации CO2 с помощью Arduino и датчика MQ-135: схема и программа

Долго ли коротко ли, оказалось, что Яндекс Розетки построены на OEM решении Tuya. Что в общем скорее хорошо, чем плохо, поскольку работает это решение хорошо, и добавочной стоимости это не создаёт.Но мне хотелось управлять ими через HA, то что я сначала переподцепил их через родное приложение и попробовал интеграцию с облачной туей.

У меня она не взлетела, и тут я обнаружил, что есть хитрый способ подключить их локально через расширение LocalTuya — но тут потребовались пляски с бубном, девелоперский аккаунт и получение локального ключа. Однако, всё заработало, и теперь я могу ими управлять как из локальной сети, так и через УДЯ (Умный Дом Яндекса), куда прокинул их через тот же HA и KeeneticDNS.

Ну, а теперь по порядку, немного теории

Умным домом принято называть что угодно, от 2 лампочек, управляемых по таймеру до сложной системы, реагирующей на множество факторов и делающей жизнь владельца комфортной.

  • В любом случае речь про управление устройствами, кратко их можно собрать в группы:

  • Бытовая техника (пылесосы, телевизоры, чайники, кондиционеры)

  • Реле/выключатели (вкл/выкл)

  • Лампочки/ленты (меняют цвет и яркость)

  • Датчики (мощность, напряжение, температура, влажность, концентрация газов)

  • Диммеры (пропорциональный выходной сигнал)

  • Исполнительные устройства (регуляторы температуры, привод штор)

  • Шлюзы (пульты, универсальные передатчики команд)

Построение умного дома начинается с выбора платформы. Разные платформы имеют разную функциональность, стоимость, сложность настройки. Например:

  •  Умный дом Яндекс – нет логики, только команды, много совместимых устройств

  •  Xiaomi (Aqara) – простые скрипты

  • Google Home – простые скрипты, много совместимых устройств

  • Domoticz – ограничен набор устройств, развитая логика

  • IFTTT – ограничен набор устройств, развитая логика

  • HomeAssistant – ограничен набор устройств, развитая логика, настройка интерфейса плагинами

  • Majordomo (php) – развитая логика, открытый проект, активно развивается, требует умения программировать.

Нужно заметить, что платформы от именитых производителей умеют работать друг с другом. То есть их экосистемы можно объединять, что существенно расширяет перечень подключаемых устройств. Кстати, о подключениях тут есть 2 аспекта: как подключаться физически и как общаться с концентратором умного дома.

Физически можно связываться через локальную компьютерную сеть (проводную или беспроводную), сеть малого радиуса (Bluetooth, ZigBee) или просто по радио или инфракрасному каналу (последнее обычно только в одну сторону работает).

Что же касается «языка» на котором общаются устройства, то тут вариантов много, но можно разделить на открытые (общедоступные) типа mqtt (сервис коротких сообщений через центральный сервер) или web-hook (обычные прямые ссылки на веб-сервер на борту устройства) и закрытые типа протокола Xioami/Redmond и прочих, которые известны только производителям.

Устройства – это хорошо, но что же ими управляет? Центральное устройство/ центр управления. Кстати, хабы типа Aqara это нифига не центральный модуль, а всего лишь концентратор сети ZigBee или какой иной, понравившейся производителю – логика остается в самих устройствах или на телефоне пользователя или в облаке.

Насколько я понял, большинство облачных сервисов не поддерживают логику. То есть в «Яндекс доме» можно узнать температуру и включить обогреватель. Но заставить Яндекс следить за температурой и держать в комфортном диапазоне – нет!

Для реализации логики нужен центральный блок, причем желательно локальный. Вот тут вариантов масса – поставить на свой домашний комп программу управления, собрать отдельный сервер, разместить сервер в облаке.

Как ни странно, дешевые микро ПК на ARM процессорах, например OrangePi, Nano Pi и прочие фруктовые Пи вполне тянут систему с базой данных, брокером сообщений и веб-интерфейсом. Не говорю уже про Raspberry – это вообще, как заговоренные.

Из программных серверов умного дома можно выделить популярные: Blynk (есть вариант облака и локальный), IFTTT (чисто облако, но с мобильным приложением), Home Assistant, Domotics, Majordomo.

Поддерживаемые типы устройств

  • Беспроводная кнопка
  • Выключатель (беспроводной и встраиваемый)
  • Релейные модули
  • Умная розетка (внешняя и встраиваемая)
  • Умная лампа
  • Датчик движения
  • Датчик открытия
  • Датчик освещённости
  • Датчик вибрации
  • Датчик протечки
  • Датчик температуры и влажности

Конкретные модели могут не поддерживаться из-за особенностей реализации со стороны производителей. Также на данный момент пока что не поддерживаются следующие типы устройств:

  • Привод для штор или жалюзи
  • Удлинитель
  • Умный замок
  • Термоголовка
  • Куб управления
  • Диммер
  • Датчик дыма
  • Датчик газа

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

Есть несколько способов запустить процесс настройки:

Полная локализация

Так как умный дом к этому моменту управлял в том числе зарядкой аккумулятора и переключением на инвертор в случае аварии, зависеть от облака на «вражеских» серверах, а так же наличия связи с интернет показалось не очень разумной идеей.

Очередной шаг – перепрошивка всех устройств на Tasmota, отказ от протокола eWeLink и уход на MQTT. Это, кстати, открыло путь в полный лоукост – прошивка легко настраивается, а плата Wemos из Китая стоит всего 120 рублей, при этом на борту 12 линий для подключения периферии, АЦП, WiFi.

Так число устройств в умном доме увеличилось раза в 3 – выключатели, датчики напряжения на АКБ, датчики температуры и влажности (кстати, оказалось, что лучший AM2301 – это AM2320! Программно совместим с AM2301, который еще называют DHT21, но при этом стабилен, не глючит и не зависает).

Тут Остапа понесло и в умном доме появились солнечные панели, 2 контроллера (один PWM, второй – MPPT), датчики тока от солнечных панелей в систему и на АКБ (просто по напряжению на клеммах степень заряда не измерить). От АКБ, кстати, на этот момент питаются 3 камеры, 2 микросервера, 2 роутера, общее потребление примерно 40Вт постоянно.

После примерно полугода, когда все было настроено и отлажено пришла беда – умерла карта памяти. Свежего бэкапа не оказалось – все ждал идеального состояния, не дождался. Изучил, какие карты бывают – узнал про MicroSD A2 – это карты с контроллером, как у SSD дисков – то есть много и часто писать/читать мелкие файлы им не страшно.

Настроил, по памяти восстановил логику и оформление, сделал бэкап. Через месяца три началось неладное – зависания, тормоза при открытии графиков за месяц. Анализ (я почти стал спецом по Linux) показал, что база данных тупит из-за очень большого числа накопленных данных.

Пришлось делать удаление старых данных, оставляя только по 2 отсчета за минуту для данных старше месяца. Помогло, но не сильно. Надежда была на плату с большим объемом памяти – Orange Pi One Plus (700 рублей), но не судьба.

В итоге куплена Raspberry Pi4 c 2Гб памяти на борту, а для этой палаты есть оптимизированный образ MajorDomo – и о чудо, там все отлично – БД крутится полностью в памяти, раз в час сбрасывается на карту бэкап, в случае незапланированного падения, при загрузке восстанавливается состояние на начало часа.

Все это было отлично, управляется с компьютера, с телефона (экран на картинке – там 2 таких сцены, одна для управления и климата, вторая для телеметрии).

Но вот беда – чтобы включить свет надо все равно тянуться за телефоном и тыкать мелкие кнопки. А на даче еще и родители бывают, а для них много кнопок на экране – слишком сложно.

Появление голосового управления

И вот тут я задумался, что пора подключать голосовой помощник. Сначала думал про Google Assistant/Home, но увидав, что они творят со своим президентом, да еще к новому году отключили поддержку русского на колонках (оставив только на телефонах), решил, что вполне реально повторение с отключенными облаками Xiaomi и eWeLink.

В итоге, Алиса от Яндекса. Каково же было мое удивление, когда увидел, что есть стандартный коннектор (навык Алисы) к MajorDomo! Яндекс станция мини отлично подошла по функциям и размеру, более того, нашел и обратный коннектор – из MajorDomo можно выдавать команды на устройства, подключенные к Алисе – пультам кондиционеров, телевизиров и даже роботу-пылесосу.

Про анемометры:  Счетчики сжиженного газа купить в Москве недорого, каталог товаров по низким ценам в интернет-магазинах с доставкой

И это не считая проговаривания статусов типа «внимание, работаем от аккумуляторов!». Соединение с Алисой можно сделать двумя способами – через платный сервис Connect (2 тысячи рублей в год, бонусом облачные бэкапы) или через Яндекс.

Диалоги – для этого надо SSL сертификат на сайт, белый IP, и выставленный в интернет сайт с MajorDomo, то есть свет или отопление сможет отключить случайный прохожий. В общем, 2к в год – не большая цена за сохранение комфорта, да и SSL покупать не надо.

Естественно, управление через Яндекс – это чисто функция комфорта, основная логика реализована на локальном уровне.

Итак, затраты:

Количество физических устройств не соответствует числу управляемых каналов – одно 8 канальное реле – это датчик тока и 8 выключателей! Так что общее число устройств в системе – 68 (и это не считая Яндекс.Станции и устройства не на даче, только то, что управляется локально!).

Предпосылки

Мне всегда казалось, что умный дом это и сложно и какой-то бессмысленный выпендрёж.

Сложно — потому что надо изучать всякие там зигби, ставить шлюзы, контроллеры, интегрировать какие-то штуки, и вообще по хорошему надо нанимать бородатых дядек, которые сделают всё как нужно. И ещё и наверняка проводку для этого менять надо.

Выпендрёж — потому что меня всегда смущал основной вариант умного дома — управление светом. До сих пор не могу понять, зачем управлять им голосом, хлопками или датчиками движения. Поднять пятую точку и нажать выключатель — хоть какая-то разминка!

Кроме того, живу я с детьми по съёмной жилплощади, а хозяева за такую самодеятельность вряд ли спасибо скажут. Да и с собой не прихватишь при выезде. Как мне казалось.

Тем не менее, накопилось значительное количество несистематизированных огрызков:

  1. Ещё в далёком 2022 я собрал свой датчик CO2, температуры и влажности.
  2. На новый год ребёнок выпросил себе светодиодную ленту. Потратив какое-то время, я выбрал RGB ленту с умным контроллером MagicHome, которая внезапно сопряглась с Алисой. И это было прикольно.
  3. На новый год мы украсили на улице ёлку гирляндами. Когда мне надоело включать её руками, я заказал розетку яндекса и составил расписание включения. Заодно подключил так же уличный свет, выключатель которого висел крайне неудобно. К слову, розетки с честью выдержали нерегламентированные -15 на улице и продолжали бодро щёлкать реле.
  4. Периодически я призывал домой клининговый сервис, и каждый раз был квест с тем, как им оставить и забрать ключи. Очень хотелось решить это при помощи какого-то способа удалённого управления раздвижными воротами.
  5. У детей завелось две Яндекс.Станции, с которыми они активно общаются и слушают музыку.

В общем, я решил, что критическая масса накопилась, и пора бы посмотреть, что можно сделать. Я думал, это будет долгоиграющий проект на долгие зимние вечера, но внезапно всё получилось буквально за пару вечеров, чему я страшно удивился.

Приводы для штор или жалюзи

Важно! Данный тип не поддерживается, но устройства могут добавиться как другой тип (например, освещение - "вкл" и "выкл" вместо "открыть" и "закрыть"). 
Работоспособность не гарантируется!

Релейные модули

 Особенность для всех релейных модулей: пока что нет поддержки энергомониторинга и релейный модуль не может выступать в качестве условия в сценариях

Сердце умного дома

Какое-то время я листал имеющиеся решения, и в глазах рябило от жутких разноцветных квадратов и прочих решений, интерфейсы к которым писали очевидно враждебные рептилоиды. В конце концов я нашёл то, что не вызывало отторжения и даже выглядело симпатично — Home Assistant. Выглядеть инсталлиция может, например, так.

Рассказывать долго про него буду, на хабре уже есть десятки статей, скажу лишь, что установка заняла примерно полчаса. Из которых 20 минут я придумывал, как мне работать с машинкой без клавиатуры и удалённого доступа.

Когда я вошёл в поднятую инсталляцию, он быстренько подцепил мой Keenetic City роутер, выдал информацию про все устройства, сам нашёл диодную ленту и телевизор. Что меня приятно удивило. Так же удивился количеству и качеству имеющихся интеграций. К тому моменту я смирился, что надо будет что-то писать на питоне, но этого так и не потребовалось.

Скажи «друг» и войди

Сначала я решил попробовать задачку, которая болела больше всего — открывать ворота.Лезть внутрь них и что-то добавлять мне очень не хотелось, как и делать так, чтобы они работали только через умный дом — это лучший способ в один прекрасный момент остаться за закрытыми дверьми.

Забудьте про безопасность, динамические ключи и прочие вещи, которые давали вам спокойно спать. Пара трансмиттер-ресивер за 200 рублей может считать ключ от ворот CAME при нажатии на кнопку открытия ворот, и воспроизвести сигнал. Остаётся дело за малым — затащить это в Home Assistant.

Мне казалось, что MQTT это какая-то страшная аббревиатура, и сейчас я обложусь литературой и буду вникать, но… Оказалось, что это обычный pubsub, для которого есть библиотеки Arduino, и который цепляется в Home Assistant парой строчкой конфига. Всё это есть в репозитории по ссылкам выше, так что не буду останавливаться здесь подробнее. За вечер мне удалось и считать сигнал и воспроизвести его и затащить кнопкой в Home Assistant.
Умный дом, опыт построения, бег по граблям (MajorDomo, Tasmota и Алиса) / Хабр

Минус у такого решения только один. Ворота довольно тупые, и единственная кнопка, которая у них есть — это “изменить текущее состояние”. Поэтому нельзя быть уверенным, ты открываешь ворота, закрываешь, или останавливаешь процесс. К счастью, это по большей части решает видеокамера, направленная на них.

Да, можно было бы залезть в сами ворота и поставить там таймер на закрытие, который есть штатно, но повторюсь, что мне очень не хотелось что-то разбирать из местного хозяйства. Так что минимальная инвазивность решения для меня искупила его минусы.

Список устройств

Маленькое напоминание: список постоянно пополняется, и в его развитии можете принять участие и вы, если располагаете информацией, которой здесь нет (подробнее смотрите плашку вверху страницы). В списке проверено 120 устройств.

Умный дом и дети

Детям очень зашла эта несложная магия, а старшая даже написала в УДЯ небольшой сценарий:

  1. Заходишь к ней, и колонка говорит “закрой дверь и выключи свет!” — и повторяет это, пока не сделаешь, как велено.
  2. Включается стробоскопическое красно-синее освещение и страшная музыка.
  3. Колонка говорит “Её я уже съела, а теперь и ты попался!”

Управляется это, правда, не хитрой автоматикой, а ребёнком, спрятавшимся в шкафу. Но вау эффект на детей делает. Тут мог бы быть смайлик, но сами знаете.

Кроме того, можно придумывать небольшие игры и шутки:

Управление и коммутация

В этой группе собраны устройства, которые либо сами управляют нагрузкой, либо отдают такую команду другим устройствам (пример – беспроводные кнопки).

Управление яндекс станциями

Это уже в общем-то из серии “потому что могу”. Заметил, что есть интеграция с яндекс станциями, которая позволяет говорить в них Алисой. Вроде бы фигня, но настроил, чтобы Алиса говорила мне о том, что пора проветрить, и предупреждала, что пора заваривать чай к стендапу (очень помогает его не продолбать).

Через приложение дом с алисой

Plus.pngDevice .pngУмный дом, опыт построения, бег по граблям (MajorDomo, Tasmota и Алиса) / ХабрZigbeedevice.png
Для того, чтобы подключить Zigbee устройство через приложение “Дом с Алисой”, нужно проделать следующие шаги:

  • Нажать на в правом верхнем углу основного экрана
  • Перейти в Устройство умного дома
  • Нажать на Начать Zigbee поиск поиск в самом вверху
  • Выбрать, Найти одно устройство или Искать несколько устройств
  • Сразу после активации поиска нужно перевести устройство в режим подключения (Способ сброса указан в инструкции, а также в таблице ниже)
Оцените статью
Анемометры
Добавить комментарий