Это статья написана для напоминания, что умный дом стал намного ближе, чем мы думали.

Home Assistant-это open-source платформа для автоматизации, работающая на Python 3. Позволяет отслеживать и контролировать все устройства в доме и автоматизировать действия. Идеально может работать на одноплатном компьютере Raspberry PI.

> Посмотреть демо



Что такое умный дом можно почитать в википедии тут и тут.

Давайте по порядку:

1. Центральное ядро

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

ПК-отличный вариант, если требуется большая нагрузка на сервер, т.к. производительности даже старых ноутбуков хватит вполне (только если вы не будете крутить 4К видео или использовать 10 камер с HEVC кодированием). Из минусов- в 95% случаев активное охлаждение и чтобы подключить обычное реле всегда приходится использовать дополнительные костыли.

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

image

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

Есть еще много экзотических вариантов автоматизации своего очага, например, кровать-будильник на Всемирной выставке 1851 года (изобретатель Теофиль Картер). Или любимое извращенство- ардуино с шилдами (прощу прощение за несерьезный мем)

image

2. Внешние датчики, контроллеры, элементы управления.

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

— DIY решения и ардуиноподбные решения
— Китайские решения (пример Sonoff)
— Дорогие красивые решения (пример nest)

3. Софт

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

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

4. Сторонние сервисы

Помогают подключить разные существующие решения и автоматизировать действия на смартфонах и ПК. Типичный пример IFTTT.

Что делать если я не умею программировать или у меня есть деньги?
Отдельно стоят решения современных экосистем от Samsung, Xiaomi, Amazon, Apple, Google и т.д. Соглашусь, что порой их решения выглядят намного красИвее, но средняя заработная плата русского человека примерно 500$, что не позволяет ощутить всю гамму вкусов.

Итак, поехали!

Рекомендуется к приобретению:

1. Raspberry Pi 3 (вероятно подойдут и более старые) 35$
2. MicroSD на 16ГБ не ниже 10 класса( чем быстрее, тем лучше) с адаптером к компьютеру 7$
3. Зарядник MicroUSB на 5В и больше чем 2А 0$ (подошел от старого телефона)
4. Ваше драгоценное время. Бесценно.
5. Опционально монитор с HDMI

Давайте устанавливать:

1. Скачать удобную программу для записи на флешку. Я рекомендую портативную версию
2. Зайти на сайт и скачать последнюю версию Hassbian
3. Разархивировать основной образ в любую папку.
4. Открыть Etcher
5. Выбрать наш основной образ
6. Выбрать нашу флешку для записи
7. Нажать кнопку старт
8. ???
9. Profit

После записи, извлекаем флешку и вставляем в распберри пи.

ОБЯЗАТЕЛЬНО НАДО ВСТАВИТЬ В МАЛИНУ ИНТЕРНЕТ-ШНУР!!!

При подаче питания должна загореться красная лампочка и зеленая начать хаотично мигать. Ждем с кружкой чая 10 минут.

После этого нам надо найти уже веб интерфейс нашей системы умного дома. Для этого есть несколько способов:

1) Посмотреть через hdmi нашу командную строку и найти там IP вида 192.168.1.х ( или любого другого)
2) посмотреть в настройках роутера какой DHCP сервер присвоил адрес новому устройству
3) Воспользоваться сканером сети (например, Advanced IP Scanner Portable)

После этого открываем браузер (не программу для скачивания браузеров, а именно браузер)
И вводим наш IP + :8123 (у меня это 192.168.1.101:8123)

И вуаля! Наша система загрузилась!



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

Все шаги я записал на видео, поэтому не стесняемся и заходим на видео.



Дорогие читатели, напишите в комментариях, что еще очень хочется увидеть?

Спасибо за внимание!
Поделиться с друзьями
-->

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


  1. gudvinr
    22.06.2017 14:20

    Home Assistant среди популярных решений сейчас мне больше всего нравится (по сравнению с openhab/domoticz/iobroker/и т.д.), но интересно, есть ли решения для IoT хабов на Go?


    Вопрос не совсем в рамках топика, но в тегах есть domoticz, да и в начале обзор систем в целом.


    1. SergeySavkin
      22.06.2017 15:14

      Iot на GO не встречал в просторах сети. А почему именно Go для умного дома? Общая тенденция систем- отказ от требований программирования.


  1. rasswet
    22.06.2017 14:35

    начало хорошее, спасибо
    жду продолжения.


    1. SergeySavkin
      22.06.2017 15:14

      Рад стараться!


  1. undisclosed
    22.06.2017 15:05

    Интересует сравнение с Domoticz.


    1. SergeySavkin
      22.06.2017 15:17

      К сожалению, у Domoticz отрицательный рост посетителей ( а значит развитие замедляется)


      1. Bluefox
        22.06.2017 20:57

        А как посмотреть такую статистику?


        1. SergeySavkin
          22.06.2017 23:11

          есть неплохой ресурс для просмотра статистики любого сайтаhttps://www.similarweb.com/


  1. LastNormal
    22.06.2017 16:26

    Хм… Домашний ассистнт оригинально подключается к EIB/KNX (что знаю о том пою :) ) через KNX/IP шлюз. Между тем EIB (European Installation bus) довольно общирная аудитория не DIY а именно «взрослых» умных домов (за конские бабки :) ). Проблема в том что сам шлюз стоит немалых денег.
    Тот же OpenHub можт черз eibd подключаться напрямую usb-usb (в отличие от IPшлюза usb порт есть во всех инсталляциях — чеерз него идеет программирование/отладка и т.п.)
    Ну и для честности надо вспоминать (хотя я пришеел к выводу что идея утопическая и не справлятся с современными требованиями) сть решение БЕЗ центрального устройства. Тот же EIB. Там выход из строя любого устройства нее сказывается на остальной работе (если конечно это нее БП и неет реезерва :) )

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


    1. Avenit
      22.06.2017 17:05

      IP шлюз стоит не сильно дороже, около $300. Обычно сейчас есть во всех инсталляциях по умолчанию. Т.к. позволяет управлять системой с iRidium Mobile напрямую.


      1. SergeySavkin
        22.06.2017 17:33

        iRidium Mobile выглядит красиво, но, исходя из посещаемости сайта, могу сделать вывод, что он не очень популярный.


  1. Avenit
    22.06.2017 16:55

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

    Вообще не считаю Rasberry Pi хорошим вариантом для сервера умного дома. Причин несколко:
    1) Низкая производительность, как только накрутишь туда нормально логики.
    2) Низкая надежность носителя на основе SD карты
    3) Встроенные порты не считаю достоинством, т.к. накручивать на них как Вы сказали простое реле не стоит, это снижает надежность самого сервера.
    4) Сеть через USB. Медленно и может отваливаться.
    5. Нужен корпус, радиаторы…

    Поэтому лучше выбрать решение на базе например процессора j1800. По цене они уже от $90 стоят вместе с корпусом и БП. Добавить туда SSD или HDD и память и можно работать.


    1. SergeySavkin
      22.06.2017 17:22

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

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


    1. Imbecile
      22.06.2017 20:40

      Пилю свой велосипед на малинке с виндой и дотнетом.
      Субъективно, с указанными недостатками пока не столкнулся.
      По пунктам:
      1) Пока производительности хватает. Веб сервер, логика на вкл/выкл пяти релешек, SQLite, несколько датчиков, таймер с минутным интервалом обработки задач расписаний. Да, видео пока не гонял. Может тогда не хватит производительности, но будем посмотреть.
      2) Год sd-карточка, правда без серьёзной нагрузки, отработала. Думаю, если будут серьёзные проблемы, то организовать бекап SQLite файла в облако, NAS или ещё куда — не проблема.
      3) Я не сильно разбираюсь в железе, поэтому судить о надёжности платы по наличию встроенных портов, не могу. Можете раскрыть немного, почему снижается надёжность?
      4) Почему сеть через USB? На плате есть WiFi и Ethernet.
      5) Корпус и радиаторы на алиэкспрессе — копейки.


      1. hexenmeister
        22.06.2017 22:39

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

        Надежность от наличия портов конечно не снижается, но пользоваться нестандартными портами чревато проблемами в будующем (кто знает, будет ли малиносовместимое железо лет через… надцать?). У меня все или через USB, или по сети. Сдохнет железо, возьму любое другое, где линукс запуститься.

        А сетевой контроллер на малине действительно внутри через USB подключен.


  1. sisaenkov
    22.06.2017 16:59

    В сравнении с Domoticz, интерфейс мне нравится больше. По функционалу пока неясно.
    Как обстоят дела у Home Assistant с:


    • API
    • скоростью работы, прожорливостью
    • приложением под Android или возможностью прикрутиться к ImperiHome
    • созданием сценариев через GUI (blocky, etc.), либо написанием кода
    • уведомлениями в Telegram, Pushbullet, etc.
    • как реализовано отслеживание пользователей по GPS


    1. Avenit
      22.06.2017 17:09

      • уведомлениями в Telegram, Pushbullet, etc.
      • как реализовано отслеживание пользователей по GPS


      легко в любой системе сделать на скриптах.


      1. sisaenkov
        22.06.2017 17:20

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


        1. SergeySavkin
          22.06.2017 17:58

          он входи в стандартные компоненты https://home-assistant.io/components/device_tracker.gpslogger/


    1. SergeySavkin
      22.06.2017 17:19
      +1

      API есть по ссылке https://home-assistant.io/developers/api/
      Скорость работы и прожорливость не замерял
      Android IOS через сайт. https://home-assistant.io/docs/frontend/mobile/
      Настройка через GUI я не видел.
      Telegram модуль. PushBullet
      GPS logger


    1. SergeySavkin
      22.06.2017 17:28

      ImperiHome надо вручную прикрутить через MQTT


      1. Avenit
        22.06.2017 21:15

        он с MQTT штатно не работает. Нужно писать свою прокладку.


    1. danyaShep
      22.06.2017 23:21

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


    1. shep
      22.06.2017 23:34

      Кушает немного. Вот график с Raspberry pi 3. Пока в тестовом режиме: razbberry + z-wave диммер + z-wave розетка + livolo выключатель + контроль присутствия — на данный момент 80 сущьностей вместе со сценами, группами и автоматизацией.


      Создание сценариев через GUI только появилось. Шаг в лево, шаг вправо, получаешь сообщение, что какой-то функционал не поддерживается. Вообще, все конфигурирование и сценарии в YAML.


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


      1. sisaenkov
        22.06.2017 23:40

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


        Установил OwnTrack для отслеживания. Из трех вариантов, сходу, он почему-то лучше всех заработал.


  1. Megababay
    22.06.2017 23:07

    Не нашел информации по xiaomi. Можно подружить?


    1. SergeySavkin
      22.06.2017 23:08

      1. llIaman
        23.06.2017 10:23

        Я думаю вопрос был про «xiaomi smart home».


    1. sayplzz
      23.06.2017 10:23

      У меня около 2х месяцев работает home-assistant с xiaomi датчиками и лампами. Лампы входят в стандартные компоненты: https://home-assistant.io/components/light.yeelight/

      Чтобы подружить xiaomi gateway с всеми zigbee датчиками я использую: https://github.com/Danielhiversen/homeassistant

      Для xiaomi пылесоса (удобно настроил логику, чтобы убирал когда никого нет дома и в определенные часы, а также напоминает на почту после 3х уборок почистить контейнер): https://github.com/rytilahti/python-mirobo

      Для wifi розеток и очистителя воздуха: https://github.com/xavV/xiaomi

      Для wifi камеры (сам не использовал): https://github.com/samtap/fang-hacks

      Почти все разработки уже скоро появяться в стандартных компонентах home-assistant

      Ну и курим ветку: https://community.home-assistant.io/t/beta-xiaomi-gateway-integration/8213/1903

      Работают датчики просто отлично. Совет убрать ghost проблему (иногда ложного срабатывания для датчиков движения): https://community.home-assistant.io/t/beta-xiaomi-gateway-integration/8213/1569


  1. alexeyshulzhenko
    23.06.2017 14:38

    Пользуюсь Home Assistant уже пол года и так и не придумал как справиться с оборудованием HDL. Нашел пару решений на гитхабе, но ничего толком не работало) Буду благодарен, если кто-то расскажет как подключал оборудование на протоколе Smart BUS


    1. Avenit
      23.06.2017 15:45

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


  1. malysh1980
    26.06.2017 10:32

    было бы здорово увидеть следующий пост с примерами инсталляций и настройками.