Home assistant docker windows

Установка Home Assistant + mosquitto + zigbee2mqtt в Docker

Вводная

Ранее не писал статьи, делал только для себя гайды/шпаргалки, что бы не забыть. Так что это мой первый опыт. Предупреждаю сразу, внизу будет много Shell команд, настроек и т.п.

Для чего это все нужно? Хотя бы для того, что стоит один раз все настроить и в дальнейшем разворачивать все сервисы парой команд за несколько минут на любом устройстве. Это уже многого стоит — нашего времени! =)

Docker и docker-compose

Обновляем индексы репозиториев и устанавливаем все доступные обновления:

Установка Portainer

Для удобства использования и управления контейнерами Docker, я рекомендую использовать веб-морду portainer.

Вводим логин и пароль, и создаем пользователя.

Далее указываем, что Docker у нас установлен локально, и жмем кнопку connect

Portainer. Развертывание при помощи docker-compose

В дальнейшем все действия будем выполнять от нашего пользователя pi (1000:1000), вашем случае может быть другой. Добавим нашего пользователя в группу docker, и авторизовываемся заново:

Mosquitto

Создадим необходимые для работы брокера папки и файлы:

zigbee2mqtt

Создадим папку для работы нашего zigbee2mqtt моста:

Нам нужно прокинуть наш usb-стик из хоста в контейнер, в моем случае это:

Где он находиться у вас, узнать можно выполнив команду в консоли:

Сервис запущен, нужно только настроить подключение к ранее подготовленному mosquitto.

Перезапустим контейнер zigbee2mqtt:

Как вы можете заметить, все завелось, zigbee2mqtt успешно подключился к mqtt брокеру.

Home Assistant — вариант №1 («легко»)

Найти образ (image) Home Assistant именно для вашего устройства и архитектуры, можно на официальной странице https://hub.docker.com/u/homeassistant.

Home Assistant — вариант №2 (оптимизация)

Как нам узнать какой пакет нужно устанавливать? Очень просто, например я использую трекинг по nmap.

Добавляем конфигурации в Home Assistant, перезагружаем его, и идем смотреть логи:

Обновление

Для того, что бы обновить наши сервисы до последних версий, нужно выполнить в консоли:

Все новости мира умных домов — t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram — @SprutAI

Эээ. вижу работа проделана большая. Вот только мои знания не позволяют понять, в чём отличие установки Home Assistant описанной в статье от простой установки, как в статьях Охотника.

И что это за Докер такой, может вводной информации не хватает?

Докер. Ну если простыми словами, это такая штука, которая изолирует ваш ХА, со всеми его конфигами и софтовыми зависимостями в контейнер, который в дальнейшем можно развернуть буквально за секунды, на любой машине, где установлен докер.

Читайте также:  Как очистить историю с линукса

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

да и так статья ОГОНЬ ! Автору респект ! Разжевал для меня докер. Спасибо !

Спасибо! Хм.. ffmpeg уже есть в контейнере (вариант №1), и нет необходимости управлять им на хосте.

А в том то и дело, что встроенный в НА ffmpeg кривой и тупит. А вот собранный по статье здесь на портале «правильный» вариант, хотелось бы из хоста просунуть в докер контейнер НА. А вот как это сделать правильно ?

Я вчера завел камеры в докерном ffmpeg, работает лучше чем в венве питоновском. Ни затупок ничего такого не наблюдаю. Но это на десктопе а не на малине.

Отличный материал и великолепный старт ))) Классное начало и ждём продолжения, и удачи в конкурсе 😉

Спасибо! Собственно по докеру, заметил, многие спрашивать стали в чате, так и появился этот гайд =)

Очень надеялся что эта статья наконец поможет мне установить докер, но увы.

Ставлю на Raspberry Pi Zero W чистый Raspbian Stretch Lite, иду по вашей инструкции и на шаге

Job for docker.service canceled.

docker.service couldn’t start.

Почему так и что можно сделать?

Судя по логам проблема с фреймворком DKMS, попробуйте перезапустить малину, и выполнить:

sudo apt-get install -f

если не поможет, напишите мне в телеграмм

UPD:
Была проблема на raspberry pi zero w. Погуглил проблема массовая.

Что бы добавить в автозапуск создайте файл:

sudo nano /etc/systemd/system/docker-compose-app.service

И внесите в него следующее:

Так там и так автозапуск имеется. За это отвечает:

все поставил. вроде работает. при попытке подключить нативные HomeKit устройства выдает ошибку Не удалось вызвать службу configurator/configure.

Traceback (most recent call last):, await func(hass, connection, msg),

File «/usr/local/lib/python3.6/site-packages/homeassistant/components/websocket_api/decorators.py», line 16, in _handle_async_response,

File «/usr/local/lib/python3.6/site-packages/homeassistant/components/websocket_api/commands.py», line 148, in handle_call_service, connection.context(msg))
File «/usr/local/lib/python3.6/site-packages/homeassistant/core.py», line 1121, in async_call, self._execute_service(handler, service_call)),

File «/usr/local/lib/python3.6/site-packages/homeassistant/core.py», line 1143, in _execute_service, await handler.func(service_call)

File «/usr/local/lib/python3.6/site-packages/homeassistant/components/configurator.py», line 221, in async_handle_service_call, call.data.get(ATTR_FIELDS, <>)),

File «/usr/local/lib/python3.6/concurrent/futures/thread.py», line 56, in run, result = self.fn(*self.args, **self.kwargs), pairing_id),

File «/usr/local/lib/python3.6/site-packages/homeassistant/components/homekit_controller/__init__.py», line 192, in device_config_callback,

File «/usr/local/lib/python3.6/site-packages/homekit/protocol.py», line 94, in perform_pair_setup, resp = connection.getresponse(),

File «/usr/local/lib/python3.6/http/client.py», line 1331, in getresponse, response.begin()

File «/usr/local/lib/python3.6/http/client.py», line 297, in begin, version, status, reason = self._read_status(),

File «/usr/local/lib/python3.6/http/client.py», line 258, in _read_status, line = str(self.fp.readline(_MAXLINE + 1), «iso-8859-1»),

File «/usr/local/lib/python3.6/socket.py», line 586, in readinto, return self._sock.recv_into(b),

socket.timeout: timed out

возникает вопрос как подключиться к консоли НА что б разобраться с ошибкой??

Best regards from Spain.

Читайте также:  Клавиши для смены языка линукс минт

Добрый вечер.
А начал с вашей установки , довольно таки доступно для начинающего.
Столкнулся со следующей проблемой : при отключении RPi от питания (shudown прежде), и подключении снова , датчик темп/влаж/давл от Xiaomi , как будто отваливается. В Home Assistant видно последнее значение до выключения. После удержания кнопки сопряжения на датчике 3 сек , он сам подключается назад.
Как избежать отваливание сенсора ?

Есть вероятность что нужно подождать какое то время, или подышать на датчик. Он не сразу обновляет данные.

Если отвал конкретный датчика на постоянку, то нужно копать в сторону сети зигбии, смотреть логи и тд. Может сеть теряется, может еще что то.

Ждал , значения висят , например температуре, на 19.12С на протяжении часа и не меняется.

  • zigbee2mqtt:info 2019-1-29 17:28:49 Logging to directory: ‘/app/data/log/2019-01-29.17-28-49’,
  • zigbee2mqtt:debug 2019-1-29 17:28:49 Removing old log directory ‘/app/data/log/2019-01-26.02-35-28’,
  • zigbee2mqtt:debug 2019-1-29 17:28:51 Using zigbee-shepherd with settings: ‘<"net":<"panId":6754,"channelList":[11]>,»dbPath»:»/app/data/database.db»,»sp»:
    • <"baudRate":115200,"rtscts":true>>’,
  • zigbee2mqtt:debug 2019-1-29 17:28:51 Loaded state from file /app/data/state.json, zigbee2mqtt:info 2019-1-29 17:28:51 Starting zigbee2mqtt version 1.0.1 (commit #84593a5),
  • zigbee2mqtt:info 2019-1-29 17:28:51 Starting zigbee-shepherd,
  • zigbee2mqtt:info 2019-1-29 17:28:54 Error while starting zigbee-shepherd, attemping to fix. (takes 60 seconds),
  • zigbee2mqtt:info 2019-1-29 17:29:54 Starting zigbee-shepherd,
  • zigbee2mqtt:info 2019-1-29 17:29:56 zigbee-shepherd started,
  • zigbee2mqtt:info 2019-1-29 17:29:56 Coordinator firmware version: ‘20181024’,
  • zigbee2mqtt:debug 2019-1-29 17:29:56 zigbee-shepherd info: <"enabled":true,"net":
    • <"state":"Coordinator","channel":11,"panId":"0x1a62","extPanId":"0xdddddddddddddddd","ieeeAddr":"0x00124b0018ed29ca","nwkAddr":0>,»firmware»:<"transportrev":2,"product":0,"version":"2.6.3","revision":20181024>,»startTime»:1548782996,»joinTimeLeft»:0>,
  • zigbee2mqtt:info 2019-1-29 17:29:56 Currently 1 devices are joined:,
  • zigbee2mqtt:info 2019-1-29 17:29:56 0x00158d0002c8ede0 (0x00158d0002c8ede0): WSDCGQ11LM — Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice),
  • zigbee2mqtt:warn 2019-1-29 17:29:56 `permit_join` set to `true` in configuration.yaml., zigbee2mqtt:warn 2019-1-29 17:29:56 Allowing new devices to join.,
  • zigbee2mqtt:warn 2019-1-29 17:29:56 Set `permit_join` to `false` once you joined all devices.,
  • zigbee2mqtt:info 2019-1-29 17:29:56 Zigbee: allowing new devices to join.,
  • zigbee2mqtt:info 2019-1-29 17:29:56 Connecting to MQTT server at mqtt://192.168.1.16:1883,
  • zigbee2mqtt:info 2019-1-29 17:29:56 zigbee-shepherd ready,
  • zigbee2mqtt:info 2019-1-29 17:29:57 Connected to MQTT server,
  • zigbee2mqtt:info 2019-1-29 17:29:57 MQTT publish: topic ‘zigbee2mqtt/bridge/state’, payload ‘online’,
  • zigbee2mqtt:info 2019-1-29 17:29:57 MQTT publish: topic ‘zigbee2mqtt/0x00158d0002c8ede0’, payload
    • ‘<"temperature":18.79,"linkquality":113,"humidity":64.65,"pressure":993,"battery":99,"voltage":3005>‘,
  • zigbee2mqtt:info 2019-1-29 17:29:57 MQTT publish: topic ‘homeassistant/sensor/0x00158d0002c8ede0/temperature/config’, payload
    • ‘<"unit_of_measurement":"°C","device_class":"temperature","value_template":"<< value_json.temperature >>»,»json_attributes»:[«linkquality»,»battery»,»voltage»],»state_topic»:»zigbee2mqtt/0x00158d0002c8ede0″,»availability_topic»:»zigbee2mqtt/bridge/state»,»name»:»0x00158d0002c8ede0_temperature»,»unique_id»:»0x00158d0002c8ede0_temperature_zigbee2mqtt»,»device»:<"identifiers":"zigbee2mqtt_0x00158d0002c8ede0","name":"0x00158d0002c8ede0","sw_version":"Zigbee2mqtt 1.0.1","model":"Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)","manufacturer":"Xiaomi">>’,
  • zigbee2mqtt:info 2019-1-29 17:29:57 MQTT publish: topic ‘homeassistant/sensor/0x00158d0002c8ede0/humidity/config’, payload
    • ‘<"unit_of_measurement":"%","device_class":"humidity","value_template":"<< value_json.humidity >>»,»json_attributes»:[«linkquality»,»battery»,»voltage»],»state_topic»:»zigbee2mqtt/0x00158d0002c8ede0″,»availability_topic»:»zigbee2mqtt/bridge/state»,»name»:»0x00158d0002c8ede0_humidity»,»unique_id»:»0x00158d0002c8ede0_humidity_zigbee2mqtt»,»device»:<"identifiers":"zigbee2mqtt_0x00158d0002c8ede0","name":"0x00158d0002c8ede0","sw_version":"Zigbee2mqtt 1.0.1","model":"Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)","manufacturer":"Xiaomi">>’,
  • zigbee2mqtt:info 2019-1-29 17:29:57 MQTT publish: topic ‘homeassistant/sensor/0x00158d0002c8ede0/pressure/config’, payload
    • ‘<"unit_of_measurement":"hPa","device_class":"pressure","value_template":"<< value_json.pressure >>»,»json_attributes»:[«linkquality»,»battery»,»voltage»],»state_topic»:»zigbee2mqtt/0x00158d0002c8ede0″,»availability_topic»:»zigbee2mqtt/bridge/state»,»name»:»0x00158d0002c8ede0_pressure»,»unique_id»:»0x00158d0002c8ede0_pressure_zigbee2mqtt»,»device»:<"identifiers":"zigbee2mqtt_0x00158d0002c8ede0","name":"0x00158d0002c8ede0","sw_version":"Zigbee2mqtt 1.0.1","model":"Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)","manufacturer":"Xiaomi">>’, zigbee2mqtt:debug 2019-1-29 17:29:57 Received MQTT message on ‘hass/status’ with data ‘online’, zigbee2mqtt:debug 2019-1-29 17:29:57 Mounted the cieApp (epId ),
  • zigbee2mqtt:info 2019-1-29 17:30:17 MQTT publish: topic ‘zigbee2mqtt/0x00158d0002c8ede0’, payload
    • ‘<"temperature":18.79,"linkquality":113,"humidity":64.65,"pressure":993,"battery":99,"voltage":3005>‘,

bash: docker: command not found

Не могу подключиться по ssh из контейнера получаю:

No user exists for uid 1000

из-за этого не могу заставить работать компонент asuswrt

Артем, спасибо, отличная статья. У меня возник вот такой вопрос:

После сборки мне понадобилась утилита lm_sensors. Если я добавлю ее в список устанавливаемого софта и пересоберу образ homeassistant, останутся все мои настройки, add-ons, lovelace и пр.?

Отлично! Спасибо за труд! Устанавливал на комп с Ubuntu 18.04, встретил ряд проблем:

  1. При использовании «image: koenkk/zigbee2mqtt:latest # x86_64/amd64» zigbee2mqtt не работает, ругается. Заменил на «image: koenkk/zigbee2mqtt # x86_64/amd64» — заработало

При установке homeassistant есть непонятный момент, возможно, кому-то поможет:

> Готово, создаем учетную запись и добавляем в конфигурационный файл

Для создания учетной записи необходимо в браузере открыть URL http://localhost:8123. Это необходимо проделать перед добавлением конфигурационного файла.

Всем привет. Спасибо вам за статью. Помогите пожалуйста разобраться: устанавливаю по второму варианту и все работает, но при обнавлении HA он не хочет запускаться. Обновляю так: в dockerfile прописываю версию 0.99.0 и alpine 3.10, затем в онсоли pull, build и up. Все происходит через ssh на raspberry pi 3 b+, raspbian

c aufs-dkms ни у кого проблем не было?

dpkg: error processing package aufs-dkms (—configure): installed aufs-dkms package post-installation script subprocess returned error exit status 10

Ошибки aufs-dkms, но докер без него встал и работает. Поправил строчку

echo «deb [arch=armhf] https://download.docker.com/li. $(lsb_release -cs) stable» | sudo tee /etc/apt/sources.list.d/docker.list

вместо debian написал raspbian

и убрал упоминания о версии при установке портернера

Спасибо за доходчивое объяснение. До сих пор актуально. Устанавливал на Pi4. Все шло гладко , но с поправками для Pi4

Для установки docker-compose через pip3 потребовалось доставить в систему пакет libffi-dev. Думаю стоит добавить всписок пакетов для docker

Запуск контейнера HomeAssistant поддерживается только от имени root.

Спасибо за статью! Все встало с небольшими изменениями, так как время прошло. Вот что понадобилось мне для raspberry pi 4, raspberry pi OS lite:

1) для установки docker-compose нужна зависимость libffi-dev

2) portainer:stable(или latest)

3) zigbee2mqtt уже не нуждается в отдельном теге для архитектуры, нужная входит в основной тег stable. Под latest не запустилось — сообщения приходили но в has не прокидывались

4) строчка user в конфиге докер контейнера homeassistant(легкая установка) не нужна — с ней контейнер не встает

5) настройки mqtt брокера не нужны. теперь он настраивается как интеграция прямо в Home Assistant

Да, времени прошло уже нормально. Нужно найти времени, обновить статью, много чего поменялось =)

Но, как ни странно, у меня до сих пор все запускается с данными параметрами в docker-compose.yml, на то это и докер)) Поменял только пользователя на рута.

Кто сталкивался с таким? У меня есть доступ к контейнеру только с машины, на которой он установлен, а в сети нет, будто порт закрыт.

Читайте также:  Microsoft windows application experience что это
Оцените статью