Основное окно Home Assistant
Основное окно Home Assistant

Очередная статья c теорией и практикой на тему домашней автоматизации.

Предисловие

Являюсь давним читателем хабра, но только сейчас созрел написать статью. 

В ней будет отображено как текущее состояние дел, так и немного истории. Конкретного финиша нет: совершенствовать можно почти до бесконечности. 

Рассчитываю как поделиться идеями и опытом, так и набраться критики и предложений. 

Статья написана с точки зрения программиста, электроника - это для меня хобби. Здесь не будет схем подключения блока питания к контроллеру, а больше логические моменты. В конце статьи будут ссылки на Github со всякими велосипедами.

Возможно, что по итогу нужно будет сделать еще одну статью с забытыми/опущенными подробностями и ответами на вопросы.

Просьба сильно не пинать за хаос в щитах, все очень часто переделывается и быстрее выходит кинуть соплями. Потихоньку привожу все в порядок.

Исходные данные

  • Квартира, 3 комнаты, раздельный санузел, 2 балкона, примерно 82м2.

  • Советский ремонт с элементами хайтека (хай-така), дает возможность проводить эксперименты не сильно переживая за внешний вид.

  • Желание изучить что-то новое и сделать что-то необычное.

  • Собирать как можно больше данных, а потом уже разбираться, что с ними делать.

С чего все начиналось

Все началось в 2011 году с датчика температуры DS18B20, висящего за окном и подключённого через самодельный адаптер в COM-порт домашнего сервера (тогда ещё на Windows 2003). 

Далее были опыты с реле через DS2413 (да и в целом с шиной 1W) через Owfs под FreeBSD. 

На тот момент сказывались отсутсвие опыта и финансов, так что эксперименты далеко не зашли. 

Конкретного ТЗ я не ставил, однако хотелось делать все без батарейного питания и на проводах, чему отсутсвие современного ремонта очень поспособствовало. 

Первый опыт с диодными лентами
Первый опыт с диодными лентами

Версия 1

Однажды я наткнулся на интересный проект от @ClusterM Clunet . Подкупила полная независимость от мастера: все устройства могут общаться напрямую через шину, а сервер остаётся для сбора статистки и шлюза в интернет. 

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

  • 0 USB шлюз - использовался для проброса шины на домашний сервер.

  • 2 контроллер настенного выключателя в комнате - обычный, двухклавишный. Был скрипт на ВКЛ/ВЫКЛ, так и на двойные нажатия.

  • 3 контроллер люстры в комнате - 5 лампочек, на каждую по реле. Ручное управление.

  • 4 контроллер света в углу коридора - датчик движения, диодная лента. Автоматическое и ручное управление.

  • 5 контроллер света возле двери - датчик открытия двери, датчик движения, диодная лента. Автоматическое и ручное управление.

  • 6 контроллер лент в комнате - ручное управление. Дополнительно еще блок из 4-х управляемых розеток в коробке из-под мороженного.

  • 7 контроллер света в коридоре - датчик движения, диодная лента. Автоматическое и ручное управление.

  • 8 контроллер света в туалете - датчик движения, диодная лента. Автоматическое и ручное управление. 

  • 9 контроллер света в ванной - так и не дошел до установки.

  • 10 контроллер клавиатуры - 10 цифровых кнопок, использовался для тестов.

  • 12 контроллер аквариума - управление мощными 3W сборками светодиодов (белый, желтый, синий, красный), управление/контроль температуры, циклы закат/рассвет, платформа для игр с I2C датчиками (BMP280, BH1750, SHT31, DS3231).

Собиралось на Atmega88. Начинал с Atmega8, но захотелось больше аппаратных ШИМ.Вся система была сделана одной шиной (проводом 3х2.5 и 3х1.5), т.к. основой был ATX блок питания на 600W.

Раньше сервером был ящик, собранный из остатков после апгрейда стационарного пк, но тут был собран мини-сервер на базе ASRock J3710-ITX. В качестве ОС я выбрал Debian, т.к. много сталкиваюсь с ним на работе. Дополнительно была проложена шина 1Wire с кучей датчиков температуры: комнаты, улица и стояки отопления (которых у меня в квартире аж целых три). Подключал через самодельный адаптер на DS2480 и FT232.

В целом, устройства жили сами по себе, но хотелось плюшек с «телефонным» управлением. Была написана система управления и мониторинга, хотя это было больше похоже на набор плохо связанных между собой скриптов. 

Функции: 

  • Журнал всех сообщений на шине (удобно для отладки)

  • Сбор и вывод всех датчиков (температура , влажность и т.д)

  • Обновление прошивки устройств

  • Управление светом/розетками

  • Формулы для просчета автояркости

  • Homebridge для яблок 

Бонусом ещё сделал приложение под Android/iOS с частичным функционалом. 

Т.к. Было желание передвинуть сервер, шлюз переехал вначале на роутер с OpenWRT (Linksys WRT1200AC, отличнейший аппарат), а потом уже на RaspberryPi.

Временами я ловил потери пакетов, зависания. Ситуацию немного улучшил переход на витую пару для данных, но на 100% я победить не смог. 

Эта система у меня просуществовала с 2015 по 2020 г, но в итоге я решил отказаться. Причина достаточно проста: когда все делаешь сам, то все ошибки нужно исправлять самому. А отсутсвие времени/знаний растягивает этот процесс на месяцы. 

Немного фото/скриншотов
Новая версия шлюзов из USB в Clunet/1Wire
Новая версия шлюзов из USB в Clunet/1Wire
Модуль комнаты (6)
Модуль комнаты (6)
Модуль комнаты (6)
Модуль комнаты (6)
Модуль двери (5)
Модуль двери (5)
Модуль туалета (8)
Модуль туалета (8)
Первая версия шлюза Clunet/USB
Первая версия шлюза Clunet/USB
Модуль люстры (3)
Модуль люстры (3)
Приложение на Android
Приложение на Android

Версия 2 - текущая

Я долго изучал варианты готовых систем, но все никак не мог на чем-то остановиться. Уже даже начал задумываться о zigbee/z-wave, но отказался из-за их заточенности под готовые устройства. Интересным вариантом показался CAN, т.к. помехозащищенность и есть готовые трансиверы. Даже написал тестовый P2P протокол по аналогии с Clunet (назвал… Clucan), но необходимость делать остальную часть платы никуда не делась. 

И тут мне попался российский контроллер MegaD ( https://ab-log.ru ). Я так понял, что проект начинался с самоделки на ATmega328,  а потом перерос в готовый продукт. По соотношению цена/функционал он был очень интересным вариантом для теста. Из минусов: отсутствие нормального p2p, нет возможности сделать расширенную логику (функционал при пропадании сервера, есть только базовые команды). Минусы закрывались тем, что разводка теперь шла звездой и я в любой момент мог  поменять контроллер на любой другой.

Раз уж менять железо, то можно и поменять мозги. Самому писать всю панель времени не хватало, решил попробовать взять готовое решение: из всех мне понравился HomeAssistant. Бонусом шло мобильное приложение. Первое время, пока у меня было старое и новое железо, clunet работал через временный MQTT шлюз, а потом я отказался от него полностью. 

Основной экран системы
Основной экран системы
Еще пару фото интерфейса

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

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

Сервер тоже обновился. Хранить кучу разных сервисов на одной системе не очень удобно, да и не очень безопасно. От знакомых наслушался про вируталки и решил попробовать: выбор был из ESXi (бесплатная версия) и Proxmox. Для дома особой разницы я не нашел, в итоге выбрал ESXi за красивую панель управления и хорошую базу знаний. Очень доволен, можно проводить различные тесты, делать разные окружения.

Далее, будут подробности обо всех частях системы.

Щит 1 (снизу) и щит 3 (сверху)
Щит 1 (снизу) и щит 3 (сверху)
Щит 2
Щит 2
Цифровизация советского выключателя
Цифровизация советского выключателя

Свет

  • Комната (пока только одна): диодные ленты, люстра. По освещённости: включаются только 1 раз в сутки. По приходу: при сработке входной двери в ближайшие 5мин и отсутсвие людей в комнате. Люстра управляется вручную или через HomePod.

  • Коридор: диодные ленты.  По датчику движения, при открытии входной двери.

  • Туалет: диодные ленты, лампочка. При открытой двери свет горит, при закрытой по датчику движения. Лампочка используется только вручную.

  • Ванна: диодные ленты, лампочка. При открытой двери, свет включается по движению на 45с. При закрытой двери - сразу на 10м. Лампочка используется только вручную.

  • Шкафы/антресоли: диодные ленты. Да-да, данных много не бывает и у меня стоит автоматика в некоторых из них.

  • Кухня: диодные ленты, лампочки. Диодные ленты расположены над рабочим столом, там же стоит и датчик движения для них. Включаются по движению на одну минуту. Лампочки управляются вручную или через HomePod.Весь свет отключается, если нет движения более 5 минут.

Для всех диодных лент я ограничил максимальную яркость в районе 80% (значение ШИМ 3008 из 4095) для продления их срока службы.

Датчик и подсветка рабочей поверхности на кухне. С помощью изоленты подбираю оптимальный радиус сработки
Датчик и подсветка рабочей поверхности на кухне. С помощью изоленты подбираю оптимальный радиус сработки
Подсветка кухонного шкафа. Белый кружок - врезной геркон
Подсветка кухонного шкафа. Белый кружок - врезной геркон
Апгрейд кладовки
Крепление ленты на клеевую подложку и усиление суперклеем
Крепление ленты на клеевую подложку и усиление суперклеем

Мультимедиа

В основной комнате стоит Yamaha RX-V685. Удобен тем, что в нем есть API позволяющее управлять из-вне (yamaha-nodejs https://www.npmjs.com/package/yamaha-nodejs или интеграция в Home Assistant). Есть интеграция в Spotify, позволяющая управлять через Spotify API (ранее был самописный скрипт, теперь через  home assistant). Так же, использовал в качестве TTS в связке с raspberry (через google), но raspberry понадобилась для других задач и доработки отложились. Пробовал включать интернет-радио через Yamaha (API), но как-то не прижилось.

Недавно поставил две Apple HomePod (обычный и mini) - практика английского и управление устройствами через HomeKit. В планах сделать на ней TTS ( daapd или что-то подобное).

Подключен телевизор LG, через Home Assistant на него дублируются уведомления.

Комбо сенсоры 

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

У проекта MegaD есть интересный вариант - combo sensor. Сразу получаем температуру, влажность, освещенность (подробнее чуть ниже), ик передатчик (не использую), со2 (опция, ибо дорогой. Ставил только в комнатах и на кухне), датчик шума (опция, не использовал).

На квартиру получилось 9 датчиков. 

Осталась старая шина 1W, из нее используются: 3 датчика на стояках отопления, 1 в трубе тиона, 1 на балконе.

На улице висят 2 “Outdoor sensor” от MegaD (температура, влажность, освещенность).

Для расчета уличной температуры беру данные с 4 датчиков (2 уличных комбо, 1W улица, 1W тион) и выбираю наименьше, так же и с освещенностью. Для влажности считаю среднее по датчикам.

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

Датчики освещенности

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

Вытяжки

На всю квартиру стоят 3 вытяжки: 

  • Ванна: S&P SILENT-200 CZ DESIGN. Включается по влажности (минимум на 30 мин) или движении при закрытой двери (минимум на 10 мин).

  • Туалет: S&P SILENT-200 CZ. Включается по движению при закрытой двери, минимум на 10 минут.

  • Кухня: S&P SILENT-300 CZ PLUS DESIGN. Включается под датчику co2 или влажности, минимум на 10 минут.

Во всех есть возможность принудительного включения на 1 час через HomeKit/HomeAssistant. 

Для управления всеми вытяжками я начал пробовать использовать таймеры (сущность timer в home assistant). Это позволяет поставить таймер сразу на продолжительное время и не переживать, что вытяжка выключится автоматикой. Например, я ставлю вытяжку в ванной на 10 часов , когда вешаю сушиться постиранную одежду. 

Также, недавно поставил на все вытяжки регулятор оборотов, т.к. брал с запасом и  на полной мощности они шумноваты. Получился интересный алгоритм: если в помещении кто-то находится , то скидываем обороты в район 20-40%. после ухода - возвращаем обратно на 100%. 

Если планы запускать их по общему уровню со2 в квартире, но еще не придумал алгоритм. Сейчас стоит только на кухне при превышении 1400ppm.

Климат

Основа у меня Tion 3S. Начитался статей на хабре и взял - доволен. 

Была модель О2 , взял 3-ю из-за рекуперации и блютуза. Штатный пульт не о чем, да и хотелось  автоматики. Написал шлюз (висит на RPi Zero W), пробрасывающий управление с BT на MQTT. Пробовал делать разные сценарии, но в итоге пришел к тому, что он всегда включён на первой скорости. Разовые скачки CO2 не так заметны, да и нивелируются общим объёмом воздуха в квартире (плюс вытяжки).

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

Увлажнитель Redmond RHF-3310S. Работает, но редко зависает (показывает 95% влажности и отказывается работать). Управляется через общий с тион-ом BT шлюз. Воду лью из осмоса.

Главная проблема, что с приточной вентиляцией нужно очень много воды, а заливать ее лень. А ещё, его иногда чистить нужно…

Кондиционер MHI SRK20ZSX-W

Хороший аппарат с очень высокой энергоэффективностью. Управление с ДУ пульта, WiFi только докупным блоком.

Нашёл проект MHI-AC-Ctrl ( https://github.com/absalom-muc/MHI-AC-Ctrl ), использую уже достаточно давно - проблем нет. Из минусов - не все функции поддерживется, но это особенность протокола самого кондиционера: штатные проводные пульты имеют те же ограничения. Например, отсутствие 3D обдува или управление горизонтальным потоком воздуха.

Недавно нашел идею “форсуночного увлажнения” (или “увлажнение водяным туманом”). Информации мало и в основном только от продающих (т.е. Заинтересованных) магазинов. Думаю, что это связано с ценой: базовые комплектации (без установки) начинаются от 100 000 RUB, а дорогие запросто могут быть от 1 000 000 RUB. Заказал себе на тест комплект у наших китайских друзей, с доставкой DHL вышло в районе 25 000 RUB (еще будет растаможка, т.к. очень вероятно, что посылка может не пройти по лимитам).

Безопасность

По всей квартире стоят датчики движения (PIR) в составе комбо-сенсоров и датчики на открытие дверей (включая межкомнатные и некоторые шкафы). Подключено это все к компоненту Alarm Panel, на данный момент управляется только с телефона.

Сделал режим “In-home security”: на любое изменение состояния любых датчиков дверей приходит оповещение на телефон. Полезно, когда дома строители и нет времени за ними детально следить.

Видеонаблюдение от Ubiquiti: G4 Dome + G4 Doorbell, запись на Cloud Key Gen2 Plus (5TB HDD). Подключено в home assistant через модуль Unifi Protect ( https://github.com/briis/unifiprotect )

Недавно решился на самопальный СКУД: электронный замок ATIS Lock Ch и распознавание лиц с G4 Doorbell через deepstack ( https://deepstack.cc ). Работает отлично, но хочется добавить второй фактор, что бы нельзя было открыть замок фотографией на экране смартфона.  Алгоритм:

  • Нажатие на кнопку звонка в doorbell.

  • Фотка с камеры отправляется в telegram и deepstack.

  • Результат распознавания уходит в telegram.

  • При успешном совпадении (более 80% ), открывается дверь и выводится имя на экран doorbell.

  • Иначе (или, при 2 секундном таймауте на случай подвисания deepstack), срабатывает дверной звонок (обычный советский, через реле).

Пример уведомлений от системы
Пример уведомлений от системы
Накладной электромеханический замок. Не дошли руки спрятать проводку от него
Накладной электромеханический замок. Не дошли руки спрятать проводку от него
G4 Doorbell со стандартным приветствием
G4 Doorbell со стандартным приветствием

Водоснабжение

Датчики протечки Neptun SW005. Пока только уведомление на смартфон, в дальнейшем буду ставить Neptun PROFI 12В (уже куплены) для автоматического перекрытия подачи воды.

Накопительный бойлер 50л на 2кВт. Используется только на время ежегодного отключения горячей воды. Подключен через контактор, включается только при дешевом тарифе на электроэнергию. В планах сделать полностью автоматическое управление: если температура ГВС опустилась ниже определенного порога и длится это больше определенного времени, то включаем подогрев и коммутируем подачу воды.

Счетчики стоят обычные (от ЖКХ), уже куплены БелЦЕННЕР ETК-м Ду 15 с импульсным выходом. Можно добавить алгоритм на подобии: если вода течет без остановки более N минут/часов, то это может означать утечку. На старых счетчиках пробовал делать распознавание через мини-камеры (что-то вроде “для обследования труб”), но не очень удобно позиционировать и часто ловили блики. Понравился проект AI-on-the-edge-device  ( https://github.com/jomjol/AI-on-the-edge-device ), который делает распознавание прямо на ESP32-CAM. Работает неплохо, но начался ремонт стояков водоснабжения и пришлось разобрать конструкцию.

Фото устройств из интернета
Модуль ESP32 с камерой и вспышкой
Модуль ESP32 с камерой и вспышкой
USB-эндоскоп
USB-эндоскоп

Обратный осмос. Пока без автоматики (стоит только повышающий насос), в планах добавить отдельный счетчик (для более точного подсчета литров для замены фильтров) и клапан для автоматической промывки системы (что бы не застаивалась вода).

Поставил два электронных манометра (китайский ноу-нейм). Удобно, что подключаются по i2c и отдают значения сразу в Бар-ах. Планирую использовать для контроля наличия воды в магистрали и состояния вводных фильтров (их еще нет, но обязательно будут).

Установленный манометр
Установленный манометр

Хочется сделать аварийный запас воды (управление через приводы на краны и включение по датчикам давления), но пока идей нет. Подобия расширительного бачка не нравятся тем, что там будет заставиться вода и часть полезного объема занята воздухом.

Датчик температуры на трубе отопления
Датчик температуры на трубе отопления

Электроэнергия 

Учет количества и мониторинг параметров сделал через китайский счетчик DDS238 (подключен по импульсному выходу и RS485 к Megad).

Стоят два ИБП: APC Smart-UPS 1500 (только на сервера и сетевое оборудование, АКБ 4х60а/ч) и APC Smart-UPS 3000 (на всю квартиру, кроме мощных потребителей: ПММ, стиральная машина и т.д. Штатные АКБ). Оба с Network Management Card, данные уходят по MQTT в home assistant через самописный шлюз.

Каждая MegaD стоит на небольшом слаботочном щите. Для каждой выделен MeanWell DRC-100A (не всегда хватает 100W, планирую попробовать перейти на PSC-160A-C) с батареей на 26а/ч. С каждого БП снимается выход “A/C OK”, который используется для определения наличия питания 200V: при пропадании сети диодные ленты переходят в аварийный режим и светятся максимум на 40%.

В планах поставить IoTaWatt для мониторинга потребления отдельных линий питания, но пока смущает цена. 

Есть идеи копить дешевую электроэнергию и тратить ее во время дорогих тарифов (через подобие Grid Tie инвертора), но рассматриваю это больше как игрушку, т.к. не уверен в экономической выгоде от этого.

Выносные АКБ для APC 1500
Выносные АКБ для APC 1500
Вводной щит. УЗО есть, оно находится на лестничной клетке
Вводной щит. УЗО есть, оно находится на лестничной клетке

Сеть и мозги системы 

Ядро - Home Assistant (конфиг будет в конце статьи). Устройства подключаются через Mosquitto (MQTT). Данные хранятся в MySQL. Крутится это на виртуалке c Debian на ESXi.

Сеть построена на Mikrotik CCR1009-7G-1C-1S+ / CRS328-24P-4S+  и Cisco SG350-20. Wifi на Ubiquiti UniFi AC HD (2 шт) + Cloud Key Gen2 Plus.

Интернет Ethernet(основной провайдер) + GPON (резерв, коробка Huawei HG8245Hv5). GPON коробка перенастроена так, что все VLANы уходят транком в мою сеть: IPTV, PPPoE, VoIP. IPTV я не использую, PPPoE и VoIP подняты на микротике.

Телефонию поднял на бесплатной версии 3CX (да, asterisk я не осилил). Туда подключен транк от GPON (городской телефон, безлимит по городу), Zadarma и друга (такой же Кулибин с 3CX и GPON, подымали транк между квартирами ради интереса). В качестве клиентов использую софтфоны  на iOS/Android (у 3cx они очень удобные, в т.ч. Звонок приходит через PUSH, не нужно держать подключение к серверу) и трубку Gigaset CL660HX (выбирал по внешнему виду) с IP-базой от Gigaset C530A-IP (в магазине была возможность взять только базу без трубки. Запитал через активный POE сплиттер). Удобно, что можно пользоваться городским телефоном, когда находишься где-то в городе или даже за границей.

DMR HotSpot - собран на RPi ZeroW. Малоизвестная штука, используется для проброса цифровой (DMR и не только) радиосвязи в интернет. Управляется виртуалкой с HBLink. Чуть больше подробностей: http://blog.marxy.org/2019/02/pi-star-hotspot-getting-started.html https://www.pistar.uk

В Home Assistant добавлены датчики ping’a на основные сетевые устройства. При сбое отправляется уведомление на телефон (нужен будет резерв, т.к. при отказе роутера уведомление просто не дойдет).

Самосборный сервер с ESXi
Самосборный сервер с ESXi
Скрытая установка узла связи среди банок с закатками. Стоечные уши отлично развернулись на 90 градусов и стали настенным креплением
Скрытая установка узла связи среди банок с закатками. Стоечные уши отлично развернулись на 90 градусов и стали настенным креплением
Серверная на шкафу. До выбора стойки еще не дошел, так что собрана она из досок от упаковки ПММ
Серверная на шкафу. До выбора стойки еще не дошел, так что собрана она из досок от упаковки ПММ

Прочее

Print-server на базе Kyocera FS-1040 и RPi ZeroW. Шаринг сделал через CUPS (удобно, что смартфоны подцепили его без настройки), а для экономии электричества сделал авто-отключение принтера через модуль tea4cups (управляет реле).

Висит датчик пыли HM3301. Пока так и не придумал, как его использовать…

“Умное” зеркало Welt-Wasser MIRA 5070-1 (на всех фото из интернета видна эмблема, но на самом деле ее нет). Понравилось тем, что легко разбирается и внутри все собрано модульно. Подогрев вывел на свое реле, включается при нахождении в ванной более 20 секунд (при закрытой двери). Подсветка синхронизирована с освещением ванной. Сенсорная кнопка сбоку зеркала переключает подсветку на 100% яркости.

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

Идеи-планы

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

Весь штатный свет (выключатели и лампы/люстры) подключить к автоматике. Добавит возможность “выключить весь дом” и использование в сценариях.

Датчики занятости помещения. На данный момент, все алгоритмы сводятся к “датчик движения + таймаут”, что не совсем правильно. Хочется сделать более продвинутое решение, которое будет учитывать больше датчиков. Как минимум, если в закрытой комнате кто-то двигался, то не стоит убирать флаг присутствия по таймауту.

Датчик Гейгера (например, на СБМ-20) или “датчик третьей мировой”. Практической пользы минимум, разве что отправлять на narodmon. Больше для развлечения.
Домофон. Еще не решил, что с ним можно сделать, но чешутся руки добавить ему мозгов.

Робот-пылесос iclebo omega. На борту linux, даже есть доступ в консоль через UART. Хочу добавить хотя бы возможность удаленного запуска (ESP модуль, например).

Экран waveshare 7”, куплен и лежит. Сделать сенсорный терминал для управления на основе RPi или аналогов.

Автосмыв туалета - жду сервоприводы.

Была обновлена подводка отопления, появились терморегуляторы. Надо бы и до них добраться…

Экран Waveshare, монитор на 15", OrangePi. Тестовая среда для домашнего терминала
Экран Waveshare, монитор на 15", OrangePi. Тестовая среда для домашнего терминала

Бонусом, фото кошки, пьющей из высокотехнологичной системы увлажнения воздуха:

Ссылки:

Конфиг HASS

Бридж для MegaD

Бридж для BT

Бридж для APC

Комментарии (42)


  1. MilashchenkoEA
    05.10.2021 12:21
    +29

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


    1. putnik
      05.10.2021 12:49
      +6

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


      1. MilashchenkoEA
        05.10.2021 14:35

        Да, цены на хорошие стройматериалы (и все с этим связанное) высокие.


    1. LuWan Автор
      05.10.2021 15:11
      +4

      Нет смысла делать ремонт, пока не готов хотя бы предварительный проект по автоматике. :)


  1. icelord2
    05.10.2021 12:23
    +1

    Алюминиевая проводка.... шикарно ))) Но в целом: автор заморочился на все 100% )


  1. ole325
    05.10.2021 12:28

    в копилку идей:
    1) вытяжка в туалете от звука смыва, до этого момента можно на пониженной мощности; длительность можно регулировать по уровню СО2, тем самым определяем кратность обмена и сколько человек находился тоже влияет.
    2) в ванной оптимально проветривать по факту ее покидания, т.е. свет не горит AND влажность превышена.

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

    По терморегуляторам отопления, термоголовки нормальные очень хорошо справляются, желание регулировать - дорогие вложения, много гемора и на выходе +/- тоже самое. Еще система инертна.


    1. LuWan Автор
      05.10.2021 15:17
      +1

      1) Думаю, может быть ненадежно - ложные сработки. Вариант с СО2 хороший, но дороговат сам датчик. Сделать по уже существующему свету ничего не стоило.

      2) Почему? Если включить вытяжку заранее (даже на пониженных оборотах), то получаем уменьшение запотевания. Да и дышится легче. :)

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

      Если квартира делается исключительно на автоматике, то только без фиксации. У себя я допускаю вариант, что нужно будет вернуть все к изначальному состоянию.

      Спасибо. :)


    1. unsignedchar
      06.10.2021 12:38

      Мощность вытяжки — 20 Вт. Ее можно просто включать вместе со светом на пару часов. Хороший датчик стоит денег, а таймер — почти бесплатно ;)


      1. ole325
        06.10.2021 13:44

        Мне в душевой не нравится 15 Вт Вытяжка пока моешься и вытираешься, слишком задувает.


  1. atd
    05.10.2021 13:15
    +3

    Зачётный киберпанк! Но плюс за идею и желание к реализации! ))


  1. Gromushka
    05.10.2021 13:15
    +5

    Не понимал и не понимаю критику ремонтов и прочего, причин может быть масса, почему люди живут так, как они живут, фото для иллюстрации решений, а не для оценки окружения, краски, обоев или ободранных стен. ИМХО.

    Поэтому никакой критики этой стороны от меня не будет.

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

    Вот этот вот все - это не решение, это не технология, это непонятно что. Макет, как максимум.

    Ну и как по мне, датчики протечек и авто-свет, тут как бы обычно, температура в доме автоматом, тоже, датчики отопления, но сортир и унитаз с сервоприводами?

    Это что интересно, лень нажать на кнопку когда поднимаешь задницу? Проветривание ванной, или туалета, ну если нет окна, то наверное актуально, но решается простейше без всякой автоматики, тупо таймер на 5-10-15 минут по желанию. Помылся, сходил куда надо, выходя дернул за веревочку, оно через таймаут вырубится. Нафига?

    В общем минус не поставить, работа большая, плюс - тоже не поставить, работы как бы нет, есть временно повешенные детали, не до конца продуманная коммуникация и больше планов на сделать еще, чем довести имеющееся до конца.

    Вот написал комментарий.


    1. elve
      05.10.2021 13:44

      Так судя по описанию это макет и есть ). Проект еще далек от завершения =)


    1. LuWan Автор
      05.10.2021 15:20
      +1

      Да, это все и есть макет. Proof of concept, если пожелаете. Те части, которые не меняются определенное время, я потихоньку привожу к нормальному состоянию.

      Ну и как по мне, датчики протечек и авто-свет, тут как бы обычно, температура в доме автоматом, тоже, датчики отопления, но сортир и унитаз с сервоприводами? 

      Это что интересно, лень нажать на кнопку когда поднимаешь задницу? Проветривание ванной, или туалета, ну если нет окна, то наверное актуально, но решается простейше без всякой автоматики, тупо таймер на 5-10-15 минут по желанию. Помылся, сходил куда надо, выходя дернул за веревочку, оно через таймаут вырубится. Нафига?

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

      В общем минус не поставить, работа большая, плюс - тоже не поставить, работы как бы нет, есть временно повешенные детали, не до конца продуманная коммуникация и больше планов на сделать еще, чем довести имеющееся до конца. 

      Вот написал комментарий.

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


    1. vladkorotnev
      06.10.2021 04:28

      Ну хрен его знает, у нас в офисе уже пару лет как стоит унитаз с сероприводами штатно с завода, как в крышке, так и в бачке. В магазинах тоже таких всё больше. Видимо, фича таки полезная и/или популярная :-)


  1. DiSi
    05.10.2021 13:33
    +3

    "макетная плата" в которой живут... двойственные чувства. сделано много по автоматике и общему концепту но реализация... просто больно смотреть тем более что сил вложено много и средств тоже но та же подсветка шкафа которая без отражателей профилей и потом понятно будет срываться и не переживет все. и все остальное..

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


    1. LuWan Автор
      05.10.2021 15:26

      Я с вами согласен, все в соплях. Все придет со временем.

      Чуть подробнее я ответил в комментарии выше.


  1. Barnaby
    05.10.2021 13:40
    +1

    А как так данные агрегировать?


    1. LuWan Автор
      05.10.2021 15:27

      Все датчики идут как отдельные сущности, а в таком варианте удобнее все выводить на одном экране. Пример:


  1. Kill_Voice
    05.10.2021 15:28
    +1

    А в чем проблем использования готовых zigbee устройств? Они компактны и работают от батарейки 100 лет, без всяких проводов и вот этого всего)


    1. LuWan Автор
      05.10.2021 15:29

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

      С радиоэфиром могут случиться помехи, а батарейки... Заменить раз в год одну-две не проблема, а когда устройств 10? А если 100?


      1. Kill_Voice
        05.10.2021 16:10
        +3

        Полагаю у вас более религиозная составляющая в этом вопросе. У меня порядка 20 датчиков BLE и ZigBee(свет, протечки, движения, двери, воздух), за 2 года батарейки в них не разу не менял их состояние из того же HA мониторится. Потери связи не наблюдал, всё управляется простым raspberry pi c контролером CC2531. Количество устройств на рынке кажется удовлетворит любого искушенного гика, это реле, моторы, лампа, жалюзи, кнопки, розетки и черт знает что ещё. Если готового не хватает то купите ZigBee, BLE или WiFi контроллер и прошейте его сами как душе угодно, хоть тот же ESP2866. Обязательно попробуйте, уверен вам понравится!


  1. Godless
    05.10.2021 18:20

    Есть вопросец... Есть у вас подобное решение для, возможно, одной из комнат ? Или всем ямаха и хоумподы заправляют?


    1. mavrikk
      06.10.2021 11:25

      SnapCast


  1. telobezumnoe
    06.10.2021 01:25

    себе освещение делал в санузлах немного по другой логике, так как у пирометрических датчиков движения была небольшая задержка, и не комфортно входить в темное помещение, сделал так, что при открытии двери сразу 1.5 мин зажигался свет, а затем если с датчика движения приходит сигнал, то при открытой двери освещение продолжает быть включенным и выключается через 2 мин после прекращения движения. ( так как датчик на пример не фиксирует движения когда чистишь зубы или что то ещё) если дверь закрыта и есть движение то освещение включается на полтора часа от последнего времени фиксации движения ( люблю поваляться в ванной, и чтоб не выключалось освещение) выключение же настроено если дверь закрылась, и спустя 3 сек нет сигнала с датчика движения, когда выходишь и закрываешь дверь. вентиляция в ванной работает по показаниям влажности. в комнате есть ещё датчик, и когда в ванной влажность на 10 процентов выше, то она включается, и выключается когда разница становится не больше 5х процентов. санузел же просто по таймеру, если больше 30 секунд там включено освещение (так же геркон и pir датчик движения) и выключается спустя минуту после того как освещение выключается. все работает как и автономно логика защита в контроллерах, так и через mqtt, более сложные сценарии реализованы на телефоне через таскер.


    1. LuWan Автор
      07.10.2021 10:43

      У меня PIRы включаются минимум на 5 секунд и максимум не ограничен (пока есть движение). После закрытия дверей в санузлах есть задержка 7 секунд (5 + 2 секунды на погрешность), если pir еще активен - оставляем свет минут на 10, иначе выключаем. Можно как-бы совсем не выключать - человек из закрытого санузла не "смоется", но есть шанс ложных сработок и не хочется оставлять свет на весь день.


      1. telobezumnoe
        07.10.2021 17:34

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


  1. usa_habro_user
    06.10.2021 04:07
    +2

    так и набраться критики и предложений

    Домашняя автоматизация, по моему мнению, должна быть "разумной и достаточной" - автоматизировать нужно лишь то, что реально и ежедневно (либо часто) пригодится в общежитии, а не пытаться автоматизировать все, что только возможно (потому, что это не будет востребовано с весьма высокой вероятностью). Короче, как и в программном обеспечении, нужно бороться по мере сил с "фичедемоном", и почаще доставать "бритву Оккама".

    Например, для включения "прикроватных" ламп мы используем такой дивайс, как The Clapper (изобретение, которому чуть-ли не 40 лет - никаких микропроцессоров, но работает просто отлично). Для ночного "бордюрного" освещения я использую вот такие лампочки, работающие на 3 AAA батарейках. Когда-то я прикупил их десятка два, и расставил по дому в нужных местах. Всех забот - раз в полтора года заменить батарейки! Термостаты у меня стоят программируемые, но не "умные" (притом принципиально - слишком дорого может обойтись "облачной сбой" или взлом учетной записи).

    Для контроля освещения я уже не один десяток лет использую старый добрый X10. И что с того, что он не "модный и молодежный"? Проблем с этими дивайсами не было от слова совсем (за очень долгий период), на eBay-е их полным-полно, по бросовым ценам. Работают независимо от интернета, но у меня на всякий случай "прикручены" к Google Home (через OpenHAB).

    Про некоторые другие компоненты я писал в статьях не так давно.

    P.S. Сорри за личный вопрос, но предположу, что вы не женаты, и, скажем так... женщина в доме не живет? ;)


    1. LuWan Автор
      07.10.2021 10:54

      Почти все устройства у меня используются в обиходе, от этого задачи и строятся. Может, со стороны это кажется обильным, но "изнутри" есть ощущение, что сделано еще очень мало и хочется продолжать.

      Например, для включения "прикроватных" ламп мы используем такой дивайс, как The Clapper(изобретение, которому чуть-ли не 40 лет - никаких микропроцессоров, но работает просто отлично).

      Интересно, но мне больше понравилось голосовое управление. :) Зависит, конечно, от облака(колонки), но есть и ручное управление с телефона (локальное) или выключатель на стене.

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

      Вопрос количества устройств с батарейками. Пульты, дозаторы мыла, авто брелоки - и это только часть списка, где нужно иногда менять батарейки. Чаще всего - в самый неподходящий момент. Если можно сделать со стационарным питанием - я выберу этот вариант. ¯\_(ツ)_/¯

      От облака, кстати, у меня зависят только колонки - все остальное на 100% локальное.

      P.S. Сорри за личный вопрос, но предположу, что вы не женаты, и, скажем так... женщина в доме не живет? ;)

      Да, жены нет, но женщина бывает. И она не против этого, скорее даже интересно. :)


  1. select26
    06.10.2021 11:56
    +1

    Вы меня извините, но время потраченное вами на написание столь подробной статьи, лучше было потратить на приведение в порядок узлов и коммуникаций. И проблема не в эстетике, а в надежности работы.
    Утверждаю не голословно - хорошо знаком и с устройствами ab-log, и сам конструировал подобные устройства и занимался автоматизацией. То что у вас на фотографии - использовать за пределами лабораторного стенда нельзя.


    1. LuWan Автор
      07.10.2021 10:57

      В одном из комментариев писал, что привожу все в порядок по мере готовности.

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


  1. shadrap
    06.10.2021 13:29
    +1

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

    но в целом хорошо , что народ так заморачивается )

    От себя добавлю ,что в домашних условиях пришел к тому , что комбинация пира с Микроволновым датчиком практически идеальна в качестве детектора присутствия-движения, избавляет от всех ложных срабатываний и не-срабатываний то же. В уличных условиях все сложнее в разы - там я сам промучился со всеми этими алиэкспрессными "новинками" и в итоге начал покупать на авито профессиональные бу сенсоры от сигнализаций, типа Бош или Хонейвилл и переделывать их под свои контроллеры, тут же прекратился этот бесконечный гемор с ложными срабатываниями. Кстати в итоге это выходит примерно в те же деньги. В качестве контроля территории сейчас экспериментирую с лидаром.

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


    1. telobezumnoe
      06.10.2021 22:40

      у меня микроволновый видит в том числе и движение соседей, можно его сделать направленным?


      1. unsignedchar
        06.10.2021 22:55

        можно его сделать направленным?


        Подключить направленную антенну на 5.8 ГГц?


      1. shadrap
        07.10.2021 11:31

        смотря опять же какой если вот такой ,то нет , только чувствительностью, он проникает через все что можно, но в домашних условиях в принципе работает неплохо и через ЖБ стены не пробивает. Если продвинутый с профессионального датчика , то да , они сами по себе направленные и сзади экранируются металлической пластиной.

        Вообще вот тот что с Али - это плохой вариант , если вы рассматриваете его работу с вифи модулем, там наводок много довольно . Люди специально у вифи модулей антенны переделывают в диполь. Есть варианты 10ГГц - они получше но и подороже.


    1. LuWan Автор
      07.10.2021 11:00

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

      А как датчик реагирует на животных (кота, например)? И как животные реагируют на него?

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

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

      Я сейчас использую датчики для масла - они дольше живут.

      А какой у них интерфейс?


      1. shadrap
        07.10.2021 11:23
        +1

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

        к сожалению интерфейс аналоговый. Но я сто лет назад купил у каких-то поляков Лан- контроллер с кучей Ацп входов и тут вот он и пригодился.


  1. jo_b1ack
    06.10.2021 20:18

    киберпанк, который мы заслужили))


  1. dabrahabra
    06.10.2021 22:42

    По поводу домофона - его нужно завести в 3CX. Добавит ещё десяток интересных сценариев.


    1. LuWan Автор
      07.10.2021 11:31

      На сколько сложно обычный аналоговый домофон подключить к 3CX? И какие есть варианты сценариев? У меня только появляется мысль о том, что придется объяснять работникам ЖЭСа, почему я не дома и отвечаю через домофон...

      Я пока больше смотрю на снятие статуса трубки (идет вызов или нет) и нажатие кнопки открытия двери.


      1. Lizardinius
        09.10.2021 18:38

        На сколько сложно обычный аналоговый домофон подключить к 3CX?

        Зависит от того, на сколько элегантное решение вы желаете. Если идти «в лоб» то нужно 2 ключа и самая простейшая usb звуковая карта (или цап+ацп), припаяться к штатным кнопкам, динамику и микрофону с согласованием уровней или опторазвязкой. Если хотите отдельное устройство, которое на провод в замен трубки вешается, то тут возможно придётся слегка заморочиться. Ну а подцепить аудио и микрофон в любой софт не должно быть сложно.
        Ну это просто оценка от дилетанта, скорее всего будет несколько подводных камней, но сомневаюсь что вариант «в лоб» не взлетит.


  1. Cobra-GT
    16.10.2021 23:40

    Спасибо за статью! Некоторые интересные решения для себя приметил. Можете поподробнее про телефонию рассказать? Что и в каком порядке подключать? Планирую в ближайшее время так же использовать домашний телефон. Зачем там Zadarma?


    1. LuWan Автор
      18.10.2021 08:55

      Там все достаточно просто. Прикидываете VLAN телефонии с оптики на свое оборудование (как именно - ищите по своей модели GPON коробки), подымаете сервер телефонии (можете попробовать начать с бесплатной 3cx, она попроще будет), туда прописываете транк по настройкам из GPON коробки ( в случае с Huawei мне помог https://github.com/4nth0nySLT/Huawei-Decoder ). Если совсем затык, все же это не совсем официальный способ, можно попробовать VoIP шлюз (тут не подскажу -не настраивал).

      Зачем там Zadarma?

      Бывает, что нужно звонить в другие страны и это выходит бюджетнее, чем через городской.