====== Установка 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