Home Assistant-это open-source платформа для автоматизации, работающая на Python 3. Позволяет отслеживать и контролировать все устройства в доме и автоматизировать действия. Идеально может работать на одноплатном компьютере Raspberry PI.
> Посмотреть демо
Что такое умный дом можно почитать в википедии тут и тут.
Давайте по порядку:
1. Центральное ядро
Умный дом нуждается в центральном контроллере (хаб, сервер и т.д.). Это связующее звено между всеми элементами умного дома и пользователем. Бывают распределенные системы без центрального контроллера, но все равно нужен один сборщик информации, который покажет пользователю все актуальные новости каждого устройства
ПК-отличный вариант, если требуется большая нагрузка на сервер, т.к. производительности даже старых ноутбуков хватит вполне (только если вы не будете крутить 4К видео или использовать 10 камер с HEVC кодированием). Из минусов- в 95% случаев активное охлаждение и чтобы подключить обычное реле всегда приходится использовать дополнительные костыли.
Специализированные контроллеры — отличный вариант, если вам нужна надежность и отказоустойчивость. Вероятность отказа промышленного контроллера (при правильных руках) приближается к вероятности появления зомби апокалипсиса. Но есть и минус- программировать и настраивать могут либо те, кто уже автоматизировал несколько конвейеров, либо человек в мозгу которого не нейроны а релейные схемы. И чаще всего интерфейс у них, мягко говоря, аскетичный. К сожалению, я не такой умный, поэтому это вариант точно не для меня.
И тут мы приходим к самому современному варианту — это дешевые одноплатные компьютеры на базе ARM архитектуры. Сейчас их выбор просто огромен, но самый популярный родоначальник Raspberri pi. Из плюсов маленькое энергопотребление, есть пользовательские выводы и удовлетворительная производительность для запуска несложных программ.
Есть еще много экзотических вариантов автоматизации своего очага, например, кровать-будильник на Всемирной выставке 1851 года (изобретатель Теофиль Картер). Или любимое извращенство- ардуино с шилдами (прощу прощение за несерьезный мем)
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)
undisclosed
22.06.2017 15:05Интересует сравнение с Domoticz.
SergeySavkin
22.06.2017 15:17К сожалению, у Domoticz отрицательный рост посетителей ( а значит развитие замедляется)
Bluefox
22.06.2017 20:57А как посмотреть такую статистику?
SergeySavkin
22.06.2017 23:11есть неплохой ресурс для просмотра статистики любого сайтаhttps://www.similarweb.com/
LastNormal
22.06.2017 16:26Хм… Домашний ассистнт оригинально подключается к EIB/KNX (что знаю о том пою :) ) через KNX/IP шлюз. Между тем EIB (European Installation bus) довольно общирная аудитория не DIY а именно «взрослых» умных домов (за конские бабки :) ). Проблема в том что сам шлюз стоит немалых денег.
Тот же OpenHub можт черз eibd подключаться напрямую usb-usb (в отличие от IPшлюза usb порт есть во всех инсталляциях — чеерз него идеет программирование/отладка и т.п.)
Ну и для честности надо вспоминать (хотя я пришеел к выводу что идея утопическая и не справлятся с современными требованиями) сть решение БЕЗ центрального устройства. Тот же EIB. Там выход из строя любого устройства нее сказывается на остальной работе (если конечно это нее БП и неет реезерва :) )
По поводу малины, уже сам рализовал пару проектов на ней, но постоянно боюсь одного — рано или поздно сдохнет карточка, от постоянного чтения записи… некрасивеенько получится. Конечно есть реезервная копия с полностью установлеенной и настроенной системой (и это плюс в клонировании)…Avenit
22.06.2017 17:05IP шлюз стоит не сильно дороже, около $300. Обычно сейчас есть во всех инсталляциях по умолчанию. Т.к. позволяет управлять системой с iRidium Mobile напрямую.
SergeySavkin
22.06.2017 17:33iRidium Mobile выглядит красиво, но, исходя из посещаемости сайта, могу сделать вывод, что он не очень популярный.
Avenit
22.06.2017 16:55Имхо бестолковый пост, установка ничем не отличается от установки Raspbian.
Вы бы хоть бы добавили информацию о самой системе автоматизации, как она устроена, как взаимодействует с другими компонентами.
Вообще не считаю Rasberry Pi хорошим вариантом для сервера умного дома. Причин несколко:
1) Низкая производительность, как только накрутишь туда нормально логики.
2) Низкая надежность носителя на основе SD карты
3) Встроенные порты не считаю достоинством, т.к. накручивать на них как Вы сказали простое реле не стоит, это снижает надежность самого сервера.
4) Сеть через USB. Медленно и может отваливаться.
5. Нужен корпус, радиаторы…
Поэтому лучше выбрать решение на базе например процессора j1800. По цене они уже от $90 стоят вместе с корпусом и БП. Добавить туда SSD или HDD и память и можно работать.SergeySavkin
22.06.2017 17:22Согласен, что это простой пост. Это Tutorial где и как что нажать с небольшим введением. Всю остальную часть было решено вынести за пределы этой статьи.
По распберри. Может и не плохая идея использовать J1800.
Imbecile
22.06.2017 20:40Пилю свой велосипед на малинке с виндой и дотнетом.
Субъективно, с указанными недостатками пока не столкнулся.
По пунктам:
1) Пока производительности хватает. Веб сервер, логика на вкл/выкл пяти релешек, SQLite, несколько датчиков, таймер с минутным интервалом обработки задач расписаний. Да, видео пока не гонял. Может тогда не хватит производительности, но будем посмотреть.
2) Год sd-карточка, правда без серьёзной нагрузки, отработала. Думаю, если будут серьёзные проблемы, то организовать бекап SQLite файла в облако, NAS или ещё куда — не проблема.
3) Я не сильно разбираюсь в железе, поэтому судить о надёжности платы по наличию встроенных портов, не могу. Можете раскрыть немного, почему снижается надёжность?
4) Почему сеть через USB? На плате есть WiFi и Ethernet.
5) Корпус и радиаторы на алиэкспрессе — копейки.hexenmeister
22.06.2017 22:39Производительности сильно зависит от программного обеспечения. В моем случае более 40 акторов (рэле, диммеры, жалюзи, отопление,..) и более 40 различных датчиков вполне себе резво обслуживаются моим Cubietruck.
Надежность от наличия портов конечно не снижается, но пользоваться нестандартными портами чревато проблемами в будующем (кто знает, будет ли малиносовместимое железо лет через… надцать?). У меня все или через USB, или по сети. Сдохнет железо, возьму любое другое, где линукс запуститься.
А сетевой контроллер на малине действительно внутри через USB подключен.
sisaenkov
22.06.2017 16:59В сравнении с Domoticz, интерфейс мне нравится больше. По функционалу пока неясно.
Как обстоят дела у Home Assistant с:
- API
- скоростью работы, прожорливостью
- приложением под Android или возможностью прикрутиться к ImperiHome
- созданием сценариев через GUI (blocky, etc.), либо написанием кода
- уведомлениями в Telegram, Pushbullet, etc.
- как реализовано отслеживание пользователей по GPS
Avenit
22.06.2017 17:09- уведомлениями в Telegram, Pushbullet, etc.
- как реализовано отслеживание пользователей по GPS
легко в любой системе сделать на скриптах.
sisaenkov
22.06.2017 17:20Интересуют базовые средства. Вопрос с локацией совершенно не хочется решать скриптами.
SergeySavkin
22.06.2017 17:58он входи в стандартные компоненты https://home-assistant.io/components/device_tracker.gpslogger/
SergeySavkin
22.06.2017 17:19+1API есть по ссылке https://home-assistant.io/developers/api/
Скорость работы и прожорливость не замерял
Android IOS через сайт. https://home-assistant.io/docs/frontend/mobile/
Настройка через GUI я не видел.
Telegram модуль. PushBullet
GPS logger
danyaShep
22.06.2017 23:21нативные приложения в бетах. Но и сайт хорошо на мобильнике работает.
Сценарии через гуй пока в зачаточном состоянии — только недавно появились. Текстовый конфиг в любом случае не очень сложный.
Уведомления все есть. Пользователей можно отслеживать всегда через всякие сторонние опенсурсные проги.
Я слежу только за wifi роутером — кто пришел, ушел из дома.
shep
22.06.2017 23:34Кушает немного. Вот график с Raspberry pi 3. Пока в тестовом режиме: razbberry + z-wave диммер + z-wave розетка + livolo выключатель + контроль присутствия — на данный момент 80 сущьностей вместе со сценами, группами и автоматизацией.
Создание сценариев через GUI только появилось. Шаг в лево, шаг вправо, получаешь сообщение, что какой-то функционал не поддерживается. Вообще, все конфигурирование и сценарии в YAML.
Для отслеживания пользователей есть очень много готовых решений, я в настоящий момент использую плагин для роутеров TP-Link, чтобы понимать кто дома. Плагины можно объединять вместе. Чтобы использовать автоматизацию, которая будет учитывать приближение к дому, можно спокойно добавить один из плагинов-клиентв для телефона, которые будут слать информацию о местоположении.
sisaenkov
22.06.2017 23:40Я поставил потестировать. Видно, что проект развивается и имеет большой потенциал, но пока удобство настройки и использования далеко не на высоте. Через год-два надо будет посмотреть. Не рискну пока переезжать с Domoticz.
Установил OwnTrack для отслеживания. Из трех вариантов, сходу, он почему-то лучше всех заработал.
Megababay
22.06.2017 23:07Не нашел информации по xiaomi. Можно подружить?
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
alexeyshulzhenko
23.06.2017 14:38Пользуюсь Home Assistant уже пол года и так и не придумал как справиться с оборудованием HDL. Нашел пару решений на гитхабе, но ничего толком не работало) Буду благодарен, если кто-то расскажет как подключал оборудование на протоколе Smart BUS
Avenit
23.06.2017 15:45а в чем сложность? у них вроде протокол задокументирован. Пишете скрипт который ловит все броадкасты от шлюза HDL и разбирает их. Там много всего сыпится, но все вам ведь и не нужно.
malysh1980
26.06.2017 10:32было бы здорово увидеть следующий пост с примерами инсталляций и настройками.
gudvinr
Home Assistant среди популярных решений сейчас мне больше всего нравится (по сравнению с openhab/domoticz/iobroker/и т.д.), но интересно, есть ли решения для IoT хабов на Go?
Вопрос не совсем в рамках топика, но в тегах есть domoticz, да и в начале обзор систем в целом.
SergeySavkin
Iot на GO не встречал в просторах сети. А почему именно Go для умного дома? Общая тенденция систем- отказ от требований программирования.