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

4 апр. 2019 г.

В какой-то момент я задумался о том, что хочу от своего умного дома и видеонаблюдения в обозримом будущем и начал изучать варианты. Самым простым на первый взгляд казалось взять более мощный чем 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 ТВ, тут все быстро)

Заключение

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

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

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


Мы в Telegram - t.me/soprut
  1. Сергей Пушкин (SergeyP)
    Сергей Пушкин (SergeyP) отредактировано 20 дней назад

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

  2. Andrey Grigorev (AndyGree)
    Andrey Grigorev (AndyGree) 20 дней назад

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

  3. (meta11ist87)
    (meta11ist87) 20 дней назад

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

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

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

        https://xpenology.com/forum/

  4. (levran)
    (levran) 20 дней назад

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

    • Алексей Леонтьев (c_ache)

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

      • (levran)
        (levran) 5 дней назад

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

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

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

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

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

    • Алексей Леонтьев (c_ache)

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

  8. (Makareno)
    (Makareno) 20 дней назад

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

  9. (TopGun)
    (TopGun) 20 дней назад

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

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

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

    1000x_image.jpg?1554452800

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

    • Алексей Леонтьев (c_ache)

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

  10. (vaspet)
    (vaspet) 16 дней назад

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

  11. (dimakin)
    (dimakin) 8 дней назад

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

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

    • Алексей Леонтьев (c_ache)

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

      1000x_image.jpeg?1555510722
  12. (TopGun)
    (TopGun) 6 дней назад

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

    • Алексей Леонтьев (c_ache)

      Никаких hass.io, это web редактор кода - https://www.home-assistant.io/docs/ecosystem/hass-configurator/. Я никогда не пользовался и не буду пользоваться hass.io/hassos и соответственно статей/блогов по ним от меня не будет, только ХА, только хардкор =)

      • (TopGun)
        (TopGun) 5 дней назад

        так в synology очень неплохой редактор стоит, я там правлю конфиги

        • Алексей Леонтьев (c_ache)

          Так а кто ж спорит, что родной плохой. Я писал как свой конфиг с малины на НАС переносил и охватил все, что было. А так мне всегда проще было все в одном окне ХА делать, вообще все, что с УД связано.

          1000x_image.png?1555677470
          • (TopGun)
            (TopGun) 5 дней назад

            Зачетно, это у вас все НА? а как вы сюда добавили например homebridge и даже роутер? А то у меня все разрозненно. А что за список покупок? 

  13. (TopGun)
    (TopGun) 5 дней назад

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

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

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

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%

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

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