====== Установка HomeAssistant OS ======
Источник: [[https://www.ab-log.ru/forum/viewtopic.php?p=49527#p49527|d.v.ermakov » 03 янв 2023, 13:18]]
1) Скачиваем [[https://github.com/home-assistant/operating-system/releases|образ HassOS]] (выбираем последнюю стабильную версию hassos_rpi4-64-x.x.img.gz) и утилиты [[https://www.balena.io/etcher/|BalenaEtcher]]. Устанавливаем утилиту и распаковываем образ.
2а) Если СМ4 с eMMC (крайне рекомендуется, однако, для HassOS использовать SSD). Подключаем Малину при помощи дальнего от LAN USB-разъёма и кабеля USB-A - USB-A к компьютеру, затем подаём на Малину питание.
Запускаем BalenaEtcher, дожидаемся появления диска в системе и затем при помощи BalenaEtcher разворачиваем образ HassOS на eMMC-диск Малины.
2б) Если RPi4 с SSD, то достаём SSD, подключаем через адаптер к компьютеру, затем при помощи BalenaEtcher разворачиваем образ HassOS на SSD.
3) Безопасно отключаем, затем снова подключаем Малину/SSD к компьютеру. Находим в корне диска hassos_boot файл config.txt и закомментируем решёткой (#) все строки, кроме:
disable_splash=1
kernel=u-boot.bin
arm_64bit=1
arm_boost=1
Затем в конец файла добавляем:
dtoverlay=disable-wifi
dtoverlay=disable-bt
dtoverlay=dwc2,dr_mode=host
dtparam=i2c_arm=on
dtoverlay=i2c1,pins_44_45
dtoverlay=gpio-shutdown
dtoverlay=i2c-rtc,pcf85063a,i2c1
dtoverlay=uart4
dtoverlay=uart5
Если в вашем устройстве нет eMMC, то верхний жёлтый светодиод ACT будет постоянно делать две короткие вспышки (если есть eMMC, то по-умолчанию отображается его активность). Если вы хотите это изменить, можно добавить, например:
dtparam=act_led_trigger=timer
Список возможных вариантов моргания этого светодиода находится здесь: ''/sys/devices/platform/leds/leds/led0/trigger''
4) Делаем безопасное отключение диска и отключаем питание Малины. Собираем Малину, и подключаем к сети и питанию.
5) Пока Home Assistant разворачивается (это может занимать до часа), подготавливаем флешку для ssh:
* Сначала нужно создать файл с публичным ключом authorized_keys (обязательно в кодировке ANSI) и разместить его на чистой USB-флешке (отформатированной в FAT, EXT4, или NTFS), имеющей метку тома CONFIG (обязательно заглавными).
* Файл ''authorized_keys'' можно сделать, например, при помощи программ Notepad++ и Puttygen.
* Запускаем Puttygen и нажимаем кнопку "Generate", затем копируем всё содержимое из окна с публичным ключом, а закрытый ключ сохраняем в файл .ppk.
* Запускаем Notepad++, идём в Опции -> Настройки -> Новый Документ, ставим Формат Конца Строк - Unix (LF) и Кодировка - ANSI, создаём новый файл, вставляем в него скопированный ключ и сохраняем файл как ''authorized_keys''.
* Форматируем флешку, называем её CONFIG, переписываем файл authorized_keys на неё, проверяем, открыв с флешки в Notepad++ (внизу окна должно быть "Unix (LF)" и "ANSI").
* Делаем безопасное извлечение, вставляем флешку в Малину.
6) Находим на DHCP-сервере или сниффером пакетов IP-адрес Малины и заходим в веб-интефейс Home Assistant на порт 8123 (http://ip-addr:8123). При первом входе задаём логин/пароль своего пользователя.
* Заходим в профиль своего пользователя (щёлкнуть внизу слева) и включаем "Расширенный режим".
* Далее устанавливаем официальные аддоны: "Terminal & SSH", "File Editor", "Mosquitto broker".
* В конфигурации Mosquitto добавляем:
logins:
- username: user
password: passwd
anonymous: true
* Стартуем аддоны.
* Затем заходим на Supervisor -> System и нажимаем "Import from USB". Та же нажимаем "Reboot" и ждём довольно долго, пока веб-страница снова не будет доступна.
* Затем проверяем подключение по ssh (порт 22222), например, при помощи PuTTY. Для подключения используем ранее сохранённый закрытый ключ (.ppk) в разделе SSH/Auth или при помощи Pageant (он лежит в папке PuTTY; его нужно запустить и загрузить в него закрытый ключ).
* Пользователь root без пароля. Затем вводим login, чтобы получить доступ к хосту.
7) Заходим в аддоны и добавляем репозиторий (три точки в правом верхнем углу) https://github.com/zigbee2mqtt/hassio-zigbee2mqtt.
* Устанавливаем аддон zigbee2mqtt. Заходим на вкладку Configuration и меняем/добавляем:
permit_join: true
server: 'mqtt://core-mosquitto'
user: user
password: passwd
port: /dev/ttyAMA2
advanced:
baudrate: 115200
rtscts: false
* Добавляем репозитарий https://github.com/yllibed/hassio и ставим аддон Zigbee2MqttAssistant.
* Конфигурация:
settings:
mqttserver: addon_core_mosquitto
mqttusername: user
mqttpassword: passwd
8) Для корректной работы с MegaD-2561 по mqtt добавляем в конфигурацию (вкладка config) mosquitto строку:
set_tcp_nodelay true