Использование папки www

В системе Home Assistant можно использоваь встроенный веб сервер для того чтобы раздавать статичные файлы.

Чтобы это сделать, нужно создать папку www — все файлы которые находятся в ней будут доступны.

Папки www изначально в системе нет. Ее нужно создать. После того как папка создана нужно обязательно перезапустить Home Assistant.

Пример

Новая установка Home Assistant. Создаем папку www. Папка www должна быть в той же папке в которой находится главный конфигурационный файл configuration.yaml.

И создаем в папке www файл a.txt с содержимым Hello!. Вот как выглядит структура файлов:

├── www
│   └── a.txt
├── configuration.yaml
...
├── home-assistant_v2.db
└── secrets.yaml

Перезапускаем Home Assistant и после этого можно увидеть содержимое файла www/a.txt по адресу http://IP:8123/local/a.txt:

Если сделать что-то неправильно (например, не перезапустить сервер после создания папки www, или разместить папку www не там где нужно), то браузер покажет ошибку 404: Not Found:

www и local

Все что разамещается в папке www становится доступно по пути local в бразуере, вот несколько примеров:

  • www/a.txt -> http://IP:8123/local/a.txt
  • www/1/2/3/file.png -> http://IP:8123/local/1/2/3/file.png
  • www/auto-entities.js -> http://IP:8123/local/auto-entities.js

Часто возникает вопрос — почему на диске папка называется www, но в браузере нужно вводить local? Ответ на этот вопрос — "Так исторически сложилось". Было бы удобнее если папка на диске и путь в браузере назывался бы одинаково, но сейчас это не так. Возможно, когда-нибудь в будущем это исправят.

Безопасность

Все что находится в папке www доступно снаружи без необходимости вводить какой-то логин и пароль. Но нужно знать имя файла. Так что если у вас сервер Home Assistant открыть наружу, то знайте что кто угодно сможет прочитать файлы из этой папке если угадает название файла. Например, если у вас лежит схема квартиры в файле plan.png, то будьте готовы к тому что другие люди смогут увидеть содержимое этого файла.

Редактировать страницу на GitHub