Перевозим Умный Дом с малины на NAS

04 апреля 2019, 17:48

В какой-то момент я задумался о том, что хочу от своего умного дома и видеонаблюдения в обозримом будущем и начал изучать варианты. Самым простым на первый взгляд казалось взять более мощный чем RPI 3B+ одноплатник типа Rock64/Rock64 Pro/Le Potato и т.д. на ARM или LattePanda на X86 или вообще собрать на базе Intel NUC плюс под видеонаблюдение взять NVR. Не понравилось мне во всем этом отсутствие единообразия в формате все в одном. В какой-то момент пришла идея поизучать НАСы на этот предмет, и вот уже я скурпулезно вычитываю все характеристики, опыт пользования и, в итоге,  выбираю между 2мя моделями NAS 2х конкурирующих брендов QNAP и Synology... в общем взял Synology DS918+, т.к. он идеально отвечает моим требованиям на ближайшие 5-8 лет. Но статья не о выборе и моих требованиях, поэтому далее продолжим по теме.

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

Мой конфиг до NAS

Железо:

  • RPI 3B+
  • SSD USB 120GB
  • Deconz ConBee
  • UZB1

Софт:

  • Raspbian Stretch Desktop Lite
  • Home Assistant (в venv; основа УД) + Configurator
  • HomeBridge (камеры в Дом + Television для LG WebOS)
  • Phoscon (ГУЙ для Deconz)
  • NodeRed (пока просто прокинут бридж и интеграция с HA)

Такого конфига мне хватило на 7 месяцев, пока малина не начала практически задыхаться и любого шага влево/вправо.

Мой конфиг сейчас

ЖЕЛЕЗО:

  • Synology DS918+
  • SSD SATA 250GB (Под УД)
  • SSD USB 120GB (Под бекапы УД)
  • HDD SATA 1TB (валялся бесхозный, пошел на торренты и видеонаблюдение)
  • USB концентратор для стиков
  • Deconz ConBee
  • UZB1

СОФТ:

  • Docker (в нем теперь живет УД и видео)
  • Home Assistant (основа УД) + Configurator
  • HomeBridge (камеры в Дом + Television для LG WebOS)
  • Phoscon (ГУЙ для Deconz)
  • NodeRed (пока просто прокинут бридж и интеграция с HA)
  • Motion Eye

Подготавливаемся к переезду

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

1. Бекапим

  • Подключаемся в малине по sftp любым привычным клиентом (я юзаю FileZilla), доступы теже, что и от SSH;

1.1 Home Assistant

  • Идем в папку с конфигами HA;
/home/homeassistant/.homeassistant/ #у меня эта папка находилась по данному пути

  • Создаем на ПК папку "config" и скачиваем в нее все содержимое;

1.2 HomeBridge

  • Идем в папку с конфигами HB;

/home/.homebridge/ #у меня эта папка находилась по данному пути

  • Создаем на ПК папку "homebridge" и скачиваем в нее файл config.json и дополнительные файлы для плагинов, если у вас такие есть, у меня кроме камер там только Television с папкой и отдельным файлом.
  • sftp нам больше не потребуется, выходим;

1.3 Phoscon (Deconz)

  • Идем в интерфейс (обычно на 80 или 8080 порту), заходим в "Gateway", кликаем на "Backup options" и выбираем "Save", сохраняем себе полученный файлик (название формата "raspbee_gateway_config_2019-03-31.dat")

1.4 Z-Wave (стик UZB1)

  • Если в configuration.yaml в HA у вас прописан network_key:, то не паримся - по нему устройства сами перенесутся, если нет - придется переспаривать устройства скорее всего (точно сказать не могу);

1.5 NodeRed

  • Я не успел начать им пользоваться и изучить его, только завел бридж в HomeKit (Дом) и настроил интеграцию с ХА, не парился и просто забил. Если кто-нибудь напишет в комментариях процесс бекапа NR, будет круто.

На этом с бекапом все (серьезно все =) ), выключаем малину и идем в NAS (Малину необходимо обязательно выключить или хотя бы вырубить ей сеть, иначе не поднимете Homebridge (из-за Avahi); я на то, чтобы это понять угробил часа 3-4 из жизни =)

2. Забираем стики из малины

  • Если у вас был raZberry или RaspBee - в барахолку и/или на авито/юлу.

Поднимаем УД на NAS

1. Подготавливаем NAS к работе

  • Ставим систему DSM, разбиваем диски, настраиваем под себя - тут не буду расписывать, это тема отдельной статьи (для удобства дальнейшей настройки присваиваем НАСу тот же IP, что был у малины).

2. Docker

  • Ставим Docker из "Центра пакетов", он на Synology есть в базовом репозитории "из коробки" и открываем его;

Идем в реестр, подбираем необходимые образы и скачиваем двойным кликом/кнопкой "Загрузить".

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

2.1 Home Assistant + Z-Wave (UZB1)

  • Идем в "File Station", заходим в папку "docker", создаем папку "homeassistant";
  • Если есть Deconz, идем в папку "config", открываем файл configuration.yaml и меняем значение port компонента deconz на 81;
  • Архивируем папку "config", загружаем в созданную папку "homeassistant" и распаковываем архив (Должен получиться следующий путь: docker/homeassistant/config);
  • Идем в "Панель управления"/"Планировщик задач", выбираем "Создать"/"Запущенная задача"/"Скрипт, заданный пользователем": придумываем уникально название задачи, пользователь "root", событие "Загрузка", ставим галочку "Включено", переходим во вкладку "Настройка задач" и в поле "Выполнить команду" вставляем следующее (В параметр TZ указываем свою временную зону):
sudo docker run --restart always -d --name="homeassistant" -v /volume1/docker/homeassistant/config:/config --device=/dev/ttyACM0 -e TZ=Europe/Moscow --net=host homeassistant/home-assistant

2.1.1 Hass Configurator

  • Дважды кликаем по ранее скачанному образу, выбираем подходящее название контейнера (у меня hass-configurator);
  • Выбираем "Дополнительные настройки": ставим галочку на "Включить автоматический запуск", во вкладке "Настройки портов" указываем 3218 для локального порта и порта контейнера, выбираем "Применить" и следуем указаниям инсталлятора.

2.2 Phoscon (Deconz)

  • Идем в "Панель управления"/"Планировщик задач", выбираем "Создать"/"Запущенная задача"/"Скрипт, заданный пользователем": придумываем уникально название задачи, пользователь "root", событие "Загрузка", ставим галочку "Включено", переходим во вкладку "Настройка задач" и в поле "Выполнить команду" вставляем следующее (Так мы по сути включаем определение устройства /dev/ttyUSB0 (По умолчанию НАС не видит его среди устройств "/dev/tty*")):

sudo insmod /lib/modules/usbserial.ko
sudo insmod /lib/modules/ftdi_sio.ko

Там же еще раз выбираем "Создать"/"Запущенная задача"/"Скрипт, заданный пользователем": придумываем уникально название задачи, пользователь "root", событие "Загрузка", ставим галочку "Включено", в поле "Предварительная задача" выбираем задачу, созданную на предыдущем этапе, переходим во вкладку "Настройка задач" и в поле "Выполнить команду" вставляем следующее:

docker run -d \
    --name=deconz \
    --net=host \
    --restart=always \
    -v /etc/localtime:/etc/localtime:ro \
    -v /opt/deconz:/root/.local/share/dresden-elektronik/deCONZ \
    --device=/dev/ttyUSB0 \
    marthoc/deconz

2.3 HomeBridge

  • Идем в "File Station", заходим в папку "docker", создаем папку "homebridge";
  • Загружаем в созданную папку "homebridge" файл "config.json" и прочие скачанные файлы для homebridge (Должен получиться следующий путь: docker/homebridge);
  • Идем по ссылке и скачиваем последнюю версию;
  • Идем в "Центр пакетов"/"Установка вручную" и выбираем, скаченный на предыдущем этапе, файл, следуем указаниям инсталлятора, соглашаемся на установку UI X. После установки в основном меню DSM появится отдельная иконка для запуска/открытия в отдельной вкладке UI X HomeBridge.

Запуск контейнеров и первичные правки

  • HB и Hass Configurator уже запущены при создании через докер;
  • Идем в "Панель управления"/"Планировщик задач", выбираем первую задачу из п.2.2 и кликаем запустить, потом точно тоже самое делаем со второй задачей из п.2.2, потом аналогично для задачи из п.2.1;
  • Теперь у нас все запущено, идем в Docker, во вкладку "Контейнеры" и должны увидеть примерно следующую картину:

  • Deconz может быть не запущен (если запущен, то останавливаем его), выбираем "Редактировать", идем во вкладку "Защита окружающей среды" и указываем ему: отдельный порт в поле deconz_web_port (выше мы указали 81 в конфиге ХА, поэтому тут указываем 81), ставим 1 у полей deconz_vnc_mode и deconz_vnc_display, придумываем пароль для подключения по VNC к GUI деконза и указываем его в deconz_vnc_password; Сохраняем и запускаем контейнер.

Первичная настройка на этом закончена, далее список портов, на которых работают наши контейнеры:

Home Assistant8123
Hass Configurator3218
Deconz Phoscon81
Deconz GUI (Подключение по VNC)
5900
Homebridge8581

Приводим все в порядок

1. Home Assistant + z-wave + deconz
Что было у меня (не факт, что это повторится у вас): 

  • Идем в логи, смотрим какие ошибки возникли, правим их.
    1. Был сенсор, который ссылался на папку в малине - удалил его
    2. Изменился мой ID, который я использую для компонента person - взял новый и указал в конфиге
  • Устройства z-wave зашли, но изменился энтити на стандартный (я их менял под себя) - не страшно, просто обновил в ловеласе названия
  • Не подключен деконз, подключаем стандартно (открываем через фоскон аутентификацию и включаем интеграцию в ха (ip и порт в конфиге HA должны быть корректные), вот тут была боль: у всего подтянулись мои названия энтити, кроме сенсоров (для них подтянулись мои названия энтити с добавление _sensor в конце (т.е. было sensor.vhod_door, стало sensor.vhod_door_sensor)) - не стал менять энтити, обновил все в ловеласе и файле с автоматизациями (минут 30 на все ушло)
  • После всех правок перезагружаем ХА и смотрим чтобы больше не было ошибок
  • В Доме (HomeKit) удаляем старый бридж и добавляем новый, раскидываем устройства по комнатам (еще минут 20)

2. Hass Configurator

  • Открываем конфигуратор, он по умолчанию откроет папку с самим конфигуратором - открываем его и правим для удобства следующее:

BASEPATH = "/homeassistant/config/" #Ставим папку конфигов ХА по умолчанию при открытии
HASS_API = "http://192.168.1.95:8123/api/" #Указываем IP НАСа для работы по API с ХА
HASS_API_PASSWORD = "password" #Указываем пароль для API
USERNAME = "login" #Указываем логин для входа в конфигуратор
PASSWORD = "password" #Указываем пароль для входа в конфигуратор

  • Перезагружаем контейнер с Hass Configurator

3. Homebridge

  • Ставим необходимые плагины
  • Идем в логи, смотрим какие ошибки возникли, правим их
  • После всех правок перезагружаем ХБ и смотрим чтобы больше не было ошибок
  • В Доме (HomeKit) удаляем старый бридж и добавляем новый, раскидываем устройства по комнатам (у меня только 4 камеры и 1 ТВ, тут все быстро)

Заключение

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

Понравилось? Не забудьте поставить лайк этому обзору и подписаться на меня, это мотивирует дальше писать больше полезного контента!

Остались вопросы или что-то не раскрыто? Напишите об этом в комментариях - попробуем совместно разобраться.


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Сергей Пушкин (SergeyP)
    Сергей Пушкин (SergeyP) отредактировано 4 месяца назад

    Будем знать, на что способен мой NAS). А то крутится недогруженный, а вокруг ещё малинами обрастает. Лайк.

  2. Andrey Grigorev (AndyGree)
    Andrey Grigorev (AndyGree) 4 месяца назад

    Реально, не реально титаническая работа!!! Спрут, дай возможность поставить 100К лайков :))

  3. (meta11ist87)
    (meta11ist87) 4 месяца назад

    Где брали синолоджи? Во сколько обошёлся?) и почему не кунап?) Очень хотелось бы услышать ваше мнение.

    • Алексей Леонтьев (c_ache)
      Алексей Леонтьев (c_ache) 4 месяца назад
      • Брал в озоне, мне обошелся в 27, но это исключительно моя история.
      • У синолоджи ОС дружелюбнее, апки для iOS и apple tv поинтереснее, сразу из коробки есть 2 слота под М2 для кэша и мануалов в целом как-то побольше в сети.
      • (Crnet)
        (Crnet) 4 месяца назад

        Есть альтернативный вариант (минимум в два раза бюджетнее) поднять synology DSM на более мощном железе, чем j3455 который стоит в 918 коробке. 

        https://xpenology.com/forum/

  4. (levran)
    (levran) 4 месяца назад

    А база HA в sqllite или mariaDB на Synology? 

    • Алексей Леонтьев (c_ache)
      Алексей Леонтьев (c_ache) 4 месяца назад

      Родная от ХА, Марию не ставил, тут даже родная неплохо отрабатывает.

      • (levran)
        (levran) 4 месяца назад

        Вчера перешел тоже на DS218+. В принципе все нравится, только со встроенной базой все же не понравилось. Любое движение (запись в базу), сразу слышно как пишет на диск НА. Пока перешел на MariaDB на том же NAS, вроде пишет на диск поспокойнее.

  5. Константин Волков (kvolkov)

    Отличная статья, камеры из SurveillanceStation в кит прокинули?

  6. Евгений Селянин (Shico)
    Евгений Селянин (Shico) отредактировано 4 месяца назад
    Комментарий был удален
  7. Евгений Селянин (Shico)
    Евгений Селянин (Shico) 4 месяца назад

    Спасибо за статью.
    Предостерегаю народ на всякий пожарный. Docker не все synology хранилки поддерживают. Вернее все новые.
    Имею synology 213j(2013) года. Хотел мигрировать home assistant в него, но увы. Есть возможность ставить только старые версии ассистента(до 0.56).
    А докер(как приложение) моя хранилка не поддерживает. Видать железо на тот момент современность не вывозит. ТАк что кто будет брать synology - обратите внимание на модельный год.

    • Алексей Леонтьев (c_ache)
      Алексей Леонтьев (c_ache) 4 месяца назад

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

  8. (Makareno)
    (Makareno) 4 месяца назад

    Я наоборот заказал малину чтобы развернуть homebridge там, уж очень костыльно все это в синолоджи через докер. 

  9. Артем Симоненко (TopGun)
    Артем Симоненко (TopGun) 4 месяца назад

    Отличная статья, у самого synology ds213+ старенький, добавил памяти вроде справляется, тоже стоит HA и HomeBridge и стик z-wave от aeon. Еще контроллер для unifi. вот хочу себе deconz прикупить,был бы рад прочитать статью по настройке стика dezonz на synology более подробную.

    И еще по поводу HA на synology, не знаю может это только у меня но есть проблемы с трекингом, пробовал и через icloud и Unifi  и еще что то уже не помню, ошибки валятся и баста, в чате спрашивал, не кто не смог помочь.

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

    1000x_image.jpg?1554452800

     там только бывает проблема, что он не запускается, вылетает в ошибку, но это поправимо, вот по этой инструкции делал

    • Алексей Леонтьев (c_ache)
      Алексей Леонтьев (c_ache) 4 месяца назад

      Поставил Mosquitto из центра пакетов и подружил с ХА, встала ок, все пашет без проблем. Хотел изначально через докер, не замечал его в центре пакетов как-то, спасибо.

  10. (vaspet)
    (vaspet) 4 месяца назад

    Я тоже малинку купил, чтобы переехать HA с Synology на нее. Вроде как NAS не особо справлялся. А тут наоборот?

    • Алексей Леонтьев (c_ache)
      Алексей Леонтьев (c_ache) 4 месяца назад

      Я УД на малине теперь вспоминаю как страшный сон, на Synology все работает идеально.

    • Виталий Vit (Vit)
      Виталий Vit (Vit) 3 месяца назад

      Тут нужно понимать, что не все синолоджи одинаковые. У человека самый топ из домашней линейки, дальше уже энтерпрайзные модели идут в рэковых корпусах, если я не ошибаюсь. Да к тому же версия плюс, это с 8гб ОЗУ ;) На таком всё летает, в отличии от бюджетных моделей. У меня 916+, это прошлогодняя модель. Без проблем крутит одновременно пару виртуалок с 7 и 10й виндой. При этом, на такую же модель, но без плюс, уже виртуалки не доступны.

  11. (dimakin)
    (dimakin) 4 месяца назад

    Актуальная для меня статья!

    Тоже железка 918+, но стик cc2531 буду к нему коннектить. Подскажи, какой usb-концентратор используешь? На форумах синолоджи какая-то противоречивая информация насчет концентраторов. 

    • Алексей Леонтьев (c_ache)
      Алексей Леонтьев (c_ache) 4 месяца назад

      Да самый обычный usb 2.0 Hama 12167 Black за 278 рублей, ему не требуется отдельное питание, короткий шнурок и 4 входа, которые я в последствии все заюзаю, аккуратно приклеил на заднюю стенку, фото приложил. USB 2.0 потому что нет необходимости использовать 3.0 для стиков. Форумов не читал даже, там обычно одни батхертеры сидят. 

      1000x_image.jpeg?1555510722
  12. Артем Симоненко (TopGun)
    Артем Симоненко (TopGun) 4 месяца назад

    А скажи поподробнее по  Hass Configurator. это так называемый hass.io? т.е после настройки в HA появится вкладка hass.io c возможностью установки контейнеров, или как, для чего?

  13. Артем Симоненко (TopGun)
    Артем Симоненко (TopGun) 4 месяца назад

    а url роутера просто открывает страницу роутера? и еще вопрос если не надоел по поводу url к примеру на homebridge просто прописать как у вас и появится если установлен? или настойка еще где-то есть по этой secret panel? 

  14. (levran)
    (levran) 3 месяца назад

    Алексей, уже 2 дня мучаюсь с таким же вариантом как у вас. Версия контейнера 64. Стик через удлинитель, от wifi рутера 3 м. Каналы разнесены. 

    Основные проблемы возникают после перезагрузки контейнера в докере. 

    Не виден стик, deconz не даёт нажать connect. Только перезагрузка NAS помогает. 

    Также пропадают из deconz датчики, движения. 

    Слетает в deConz названия выключателей. 

    Периодически загрузка процессора от deconz, под 50%. Опять только перезагрузка помогает. 

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

    Вопрос, как правильно перегружать контейнер??? 

    Чтрбы это не была лотарея каждый раз. 


  15. (levran)
    (levran) 3 месяца назад

    Дополню предыдущий комментарий. 

    Мне кажется, что:

    Основная беда была, в том, что база внутри контейнера.

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

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

    Кстати, в моем случае, прошивка стика в докере гарантированно его окирпичивает. Нормально можно прошить только на Raspberry на официальном образе. 

    Сейчас перешёл на 64ю версию и 49 прошивку. Вроде работает. Кроме пропадающего после перезагрузки датчика движения. 

  16. Александр Шотиди (Grek)

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

  17. (giss69)
    (giss69) месяц назад

    Спасибо за отличный обзор!

    Тоже поставил себе Homebridge via Docker. HomeKit работает но только дома (local). Через инет не работает. Как это лечится?

    Надо в synology что то менять? Порт (8581)в роутере открыт.

    Спасибо!

  18. Николай Васильчук (anonym.tsk)
    Николай Васильчук (anonym.tsk) отредактировано 9 дней назад

    Что за глупость запускать контейнеры через планировщик?

    И зачем хоумбридж через spk то ставить?

    • Максим Кузин (XYLUG@H)
      Максим Кузин (XYLUG@H) 6 дней назад
      А как тогда? какие ваши рекомендации?
      • Николай Васильчук (anonym.tsk)

        Рекомендую просто запустить контейнеры через интерфейс докера в DSM.

        Для доступа к устройствам поставить галочку "Использование контейнера с исполнительными правами доступа высокого уровня".

        Если нужен внешний доступ из сети (мультикаст например), используйте хостовую сеть.

        Запуск через планировщик - это какой-то очень странный способ.

        По поводу хоумбриджа - он прекрасно работает без SPK - обычным докер контейнером. Опять таки, зачем ставить лишний пакет (и как потом его обновлять?) непонятно.

К списку статей

Скидки для сообщества

Vesternet

Промокод:
Sprut
Размер скидки:
5%
Всё Z-WAVE, кроме контроллеров

z-neco.com

+7 905 830-02-94
Промокод:
sprutai
Размер скидки:
22%

Z-Wave.ru

+7 495 204-27-80
Промокод:
Sprutai
Размер скидки:
15%
Указать в комментариях к заказу

УЮТНЫЙ ДОМ

+7 495 797-21-74
Промокод:
SPRUT
Размер скидки:
5%

Z-Wave Ukraine

+380 68 641 9670
Промокод:
Sprut-UA
Размер скидки:
15%

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

LifeControl

+7 495 240-81-01
Промокод:
sprut10
Размер скидки:
10%
На весь ассортимент Lifecontrol

Похожие статьи

04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 ноября 2018, 09:42
Способы автоматизации механических ворот
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
24 августа 2018, 12:18
Пошаговая установка HomeAssistant
27 августа 2018, 10:14
Интегрируем ХА в HomeKit
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
14 ноября 2018, 06:43
Плагин для интеграции в Athom Homey дочерних zigbee-устройств, подключенных на координаторы deCONZ - RaspBee или ConBee.
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
25 ноября 2018, 18:23
Умное зеркало добавляем модули Airplay и Google Calendar