Совсем недавно я рассказывал о существовании контроллеров от компании JetHome, а именно, о моделях D1 и H1. Давайте сегодня поговорим об установке и первичной настройке Home Assistant на этих устройствах. Зачастую Home Assistant устанавливается несколькими способами, и контроллеры от JetHome - не исключение.
Способы установки Home Assistant на контроллеры JetHome
Производитель указал у себя в документации три способа установки Home Assistant.
- Установка Home Assistant в виртуальное окружение python.
- Установка HomeAssistant supervised.
- Home Assistant Operating System.
Давайте рассмотрим каждый способ в отдельности.
Установка Home Assistant в виртуальное окружение python
Первый вариант установки производиться в домашнюю директорию пользователя, или в другой каталог операционной системы.
К преимуществам этого метода можно отнести экономию как дискового пространства, так и оперативной памяти. Также достоинством данного метода является то, что его можно использовать даже на самых младших моделях JetHub, с 512Мб оперативной памяти и 8Гб eMMC.
Основным недостатком, в данном случае, является отсутствие Supervisor, и соответственно, невозможность установки аддонов HA через Web-интерфейс. Однако, для знатоков линукса это не является проблемой, т.к. основные популярные аддоны, такие как zigbe2mqtt и mosquitto можно установить в операционную систему.
Сам процесс установки описывать в этой статье не буду. Но могу сказать, что получаемый в итоге результат стоит потраченного времени. Пишите в комментариях, если вам интересен процесс установки со всеми необходимыми аддонами, я обязательно расскажу в следующих статьях.
Установка HomeAssistant Supervised
Второй вариант рассчитан как раз для тех, кому нужен Supervisor. Установка производится через командную строку на операционную систему, которая установлена от производителя. Метод установки заключается в копировании команд и вставке их в терминал SSH контроллера.
Давайте рассмотрим этот метод установки более подробно на контроллере с заводским ПО.
Обновление системы:
sudo apt update && sudo apt upgrade -y
Установите docker:
sudo curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
По окончании процесса установки докера, высвечивается предупреждение, чтобы мы не забыли добавить пользователя в группу докера, чтоб он смог запускать контейнеры.
Добавьте пользователя в группу docker:
sudo usermod -aG docker $USER
Установка дополнительных пакетов:
sudo apt install avahi-daemon -y
Установите Home Assistant, установка производится при помощи скрипта:
curl -sL https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh | sudo bash -s -- -m odroid-c2
В процессе установки вам будет задан вопрос, должен ли Home Assistant управлять сетью:
Отвечаем N, если вы подключены по Wi-Fi, чтобы не потерять соединение.P.S. Я бы крайне не рекомендовал устанавливать HA по Wi-Fi, так как во время установки происходит перезапуск NetworkManager, поэтому пропадает связь на время восстановления Wi-Fi. Чтобы избежать этого, необходимо скачать и поправить скрипт установщика самостоятельно. Для этого, после строк:
"Restarting NetworkManager"
systemctl restart "$"
необходимо дописать:
sleep 20
Дале необходимо запустить уже модернизированный скрипт.
Вот, собственно, и все - в консоли мы видим адрес, по которому доступен Home Assistant.
На этом установка окончена. Home Assistant будет доступен по адресу http://homeassistant.local:8123/, открываем в Web-браузере для дальнейшей настройки.
Home Assistant Operating System
Сперва я установил Home Assistant предыдущим методом. Пользовался определенное время, а после решил для себя потестить готовую операционную систему, которую регулярно при каждом обновлении выкладывают ребята от компании JetHome.
Как заявляет производитель, система имеет ряд преимуществ, а именно:
- Легкая и эффективная с точки зрения использования памяти.
- Минимальный оверхед на операциях ввода/вывода.
- Поддержка обновлений «по воздуху» (OTA).
- Поддержка оффлайн-обновлений.
- Модульность с использованием Docker.
Давайте выясним, так ли это.
Установка Home Assistant Operating System
Один из вариантов установки, который заключается в прошивке встроенного накопителя при помощи USB флеш накопителя. Для этого необходимо отформатировать USB флешку, используя файловую систему FAT32, и положить в корень два файла:
- jethome_burn.ini
- firmware.img - файл прошивки (качаем прошивку для своего контроллера, версию выбираем посвежее).
Содержимое файла jethome_burn.ini:
[common] reboot = 0 erase_bootloader = 1 erase_flash = 1 [burn_ex] package = firmware.img
Собственно, кладем оба файла в корень накопителя.
- Отключаем питание от контроллера.
- Вставляем USB накопитель в контроллер (для H1 используем USB1 - тот, который ближе к разъёму питания).
- Подаем питание на контроллер.
- Ждем 7 минут.
- Отключаем питание.
- Отсоединяем USB накопитель.
- Подключаем кабель Ethernet от роутера и подаем питание.
Забегая вперед, сразу хочу сказать, что для восстановления контроллера к заводским преднастройкам, достаточно положить оригинальный файл firmware и проделать эту самую процедуру.
Первичная настройка
После перехода в браузере в Web-интерфейс, нас встречает окно подготовки Home Assistant, тут нам придется немного подождать, а точнее, весь процесс занимает порядка 20 минут. В это время нам предлагают скачать приложения на телефон для управления хоме ассистентом.
Далее весь процесс первичной настройки можно прощелкать кнопку "Далее", все эти настройки удобнее производить через веб-интерфейс.
Установка окончена
Вот, собственно, и весь процесс установки. Нас перекинуло на главную страницу веб-интерфейса Home Assistant. Далее можно переходить к его конфигурации.
Что делать после установки?
Для тех, кто впервые увидел Home Assistant и не знает, куда дальше бежать, рекомендую к изучению статьи и видео на нашем портале, а именно:
- Цикл статей от Александра Жабунина (OXOTH1K)
- Статьи и видео от Алексея Паращука (Kvazis)
- Также у нас на портале собрано огромное количество статей с тегом Home Assistant.
Настройка сети для HassOS
Первое, что я бы порекомендовал сделать, после установки Home Assistant Operating System - это назначить статический IP адрес системе. Для этого переход в раздел Supervisor -> Система -> Host IP adress, выбираем интерфейс (в моем случае это LAN) и задаем статический IP адрес.
Заводим ZigBee модуль контроллера
После установки add-ons Zigbee2mqtt, кстати репозиторий у него изменился и теперь доступен по адресу:
https://github.com/zigbee2mqtt/hassio-zigbee2mqtt
Необходимо правильно указать интерфейс подключения встроенного ZigBee модуля. Для этого в конфигурации аддонта указываем правильный порт.
serial: port: /dev/ttyAML2
Добавление встроенных реле для контроллера JetHome D1
Для управления встроенными реле контроллера JetHome D1, нам необходимо в файл configuration.yaml, в секцию switch:, добавить следующий конфиг:
switch: - platform: command_line switches: d1_red_led: command_on: "echo 1 > /sys/class/gpio/gpio452/value" command_off: "echo 0 > /sys/class/gpio/gpio452/value" command_state: "cat /sys/class/gpio/gpio452/value" value_template: '{{ value == "1" }}' friendly_name: "D1 Red Led" d1_green_led: command_on: "echo 1 > /sys/class/gpio/gpio453/value" command_off: "echo 0 > /sys/class/gpio/gpio453/value" command_state: "cat /sys/class/gpio/gpio453/value" value_template: '{{ value == "1" }}' friendly_name: "D1 Green Led" d1_relay1: command_on: "echo 1 > /sys/class/gpio/gpio456/value" command_off: "echo 0 > /sys/class/gpio/gpio456/value" command_state: "cat /sys/class/gpio/gpio456/value" value_template: '{{ value == "1" }}' friendly_name: "Switch Relay 1" d1_relay2: command_on: "echo 1 > /sys/class/gpio/gpio455/value" command_off: "echo 0 > /sys/class/gpio/gpio455/value" command_state: "cat /sys/class/gpio/gpio455/value" value_template: '{{ value == "1" }}' friendly_name: "Switch Relay 2" d1_relay3: command_on: "echo 1 > /sys/class/gpio/gpio454/value" command_off: "echo 0 > /sys/class/gpio/gpio454/value" command_state: "cat /sys/class/gpio/gpio454/value" value_template: '{{ value == "1" }}' friendly_name: "Switch Relay 3"
Нам становятся доступны:
- Три независимых реле контроллера (нормально разомкнутые).
- Светодиод - имеет два состояния: красный и зеленый, при включении обоих - цвет оранжевый. Можно применить для вывода какой-либо визуальной информации.
Возвращаемся к заводским настройкам
Как было сказано ранее, для возврата к заводским преднастройкам достаточно восстановиться с USB накопителя. Оригинальное ПО можно скачать с сайта разработчика (версия с пометкой j80 - для контроллера H1, j100 - для D1).
Личный опыт использования
У меня в использовании контроллер достаточное время, и я успел установить его в электрощиток. Там он выполняет ряд задач, а именно:
- Собирает все данные и архив со всех устройств и со всех хабов.
- Занимается обработкой потока с камер, а также прокидывает их в HomeKit. Ролики по определенным событиям, например, по нажатию на кнопку дверного звонка, уходят в телеграм (что также отъедает место накопителя).
- На хабе установлен node-RED и часть сложных автоматизаций перенесено именно в него.
- Реле контроллера включает свет в подъезде по расписанию, второе реле активирует розетку в коридоре (раньше этим занимался Aqara Relay 2CH).
И это далеко не все, что сейчас крутится на контроллере. Приведу несколько скринов для большего представления.
За внешний вид не судите, устройства добавлялись временно на скорую руку, но нет ничего более постоянного, чем временное.
Как видим, для выполнения моих задач, контроллера хватает с большим запасом, а его потенциала достаточно, чтоб воплотить еще кучу нереализованных хотелок. В будущем планирую:
- Установить CloudKey UniFi, сейчас крутится на домашнем ПК (не по-царски).
- Перенесу все остальные автоматизации node-RED для того, чтобы освободить Raspberry pi, сейчас на малине установлен node-RED и HomeBridge (при наличии HA, бридж потерял необходимость).
Итог
В заключении хочу поделиться своими мыслями касательно обоих девайсов. В ходе эксплуатации контроллеров, я все же сделал выбор в пользу контроллера JetHome версия D1. Его преимущества: питание PoE, установка на DIN рейку, немного производительней процессор, наличие встроенных реле.
Версия H1 не менее интересна, если вам нужен контроллер, который вы не планируете устанавливать в щиток. Красивый, эргономичный корпус впишется в любой интерьер, к недостаткам я бы отнес отсутствие PoE, так как у меня, например, вся домашняя сеть построена на проводе, и было бы удобно подключить контроллер единственным кабелем в любом удобном для меня месте (без использования дополнительного питания).
Также на данном этапе я все-таки определился с ПО, на данный момент - это готовый образ Home Assistant Operating System. Но я не исключаю тот факт, что мое мнение может измениться после того, как я полноценно установлю систему в домашний каталог, но об этом позже.
Где купить?
Данный продукт был предоставлен на обзор нашими друзьями - магазином https://JHome.ru. Для всех читателей портала Sprut.ai в магазине действует промокод SPRUT, на скидку 3%. Напоминаю, что полный перечень партнёрских магазинов со скидками можно найти на этой странице.
Вся документация по контроллерам JetHome собрана в wiki, а также имеется чат для обсуждения, где можно пообщаться с производителем и получить от них персональную помощь.
Хотелось бы узнать про использования сухих контактов, тоже создаем сенсор command_line? Если так то при подключении к импульсному счетчику можно события пропускать или опрашивать раз в сек? Или там как-то по другому?
Смущает этот параметр. Это за время тестирования такие изменения или здесь другая логика?
https://sprut.ai/static/media/cache/00/63/10/5/9294997/80432/1000x_image.jpg?1627324364" alt="1000x_image.jpg?1627324364" />мне кажется он както не правильно считывает данные. если карточка перестанет работать, вы обязательно об этом узнаете. сейчас этот контроллер у меня трудится в щитке можно сказать с начала месяца.
возможно. через пару месяцев попрошу снова обратить на это внимание
Я так понимаю, что у вас есть контакт производителя, могли бы вы попросить комментария у них про эти параметры?
Была бы возможность поставить на него Спрут с нод-редом, был бы идеальный вариант для установки в щит…
Хотя мб и можно, там судя по всему Module 3+ стоит, а это в чистом виде Raspberry Pi 3 Model B+
Установите docker:
sudo curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
нет ли рабочего варианта установок для JetHome ?