Skip to content

FaceHoof/HASFOB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HASFOB (Home Assistant Service for Old Browsers)

Описание

HASFOB — это сервис, который получает данные из Home Assistant и публикует их в виде простой HTML-страницы и JSON API.

Проект предназначен для просмотра информации в старых браузерах, которые не поддерживают современный веб-интерфейс Home Assistant.

Сервис периодически опрашивает Home Assistant, сохраняет только указанные в конфигурации датчики и переключатели и предоставляет:

  • простую веб-страницу;
  • JSON API;
  • обновление данных без перезагрузки страницы (Server-Sent Events);
  • возможность переключения настроенных выключателей.

Первоначальная настройка

Перед запуском необходимо отредактировать файл configuration.xml и указать основные параметры.

Подключение к Home Assistant

Параметр Описание
homeAssistantServer Адрес сервера Home Assistant (например http://192.168.1.10)
homeAssistantPort Порт Home Assistant (обычно 8123)
homeAssistantTokenFile Путь к файлу с Long-Lived Access Token
servicePort Порт, на котором будет работать HASFOB

Датчики

Необходимо указать хотя бы один датчик.

Пример:

<sensors>
    <sensor>
        <entityId>sensor.outdoor_temperature</entityId>
        <friendlyName>Температура на улице</friendlyName>
        <decimalPlaces>1</decimalPlaces>
    </sensor>

    <sensor>
        <entityId>sensor.humidity</entityId>
    </sensor>
</sensors>

Параметры датчика:

Параметр Описание
entityId Entity ID датчика в Home Assistant
friendlyName Отображаемое имя
decimalPlaces Количество знаков после запятой

Тип датчика - шкала:

Дополнительно в блок sensor можно добавить указание типа датчика:

<type>Scale</type>
<min>0</min>
<max>100</max>

Данный тип означает, что веб страница будет интерпритировать показания от датчика в виде шкалы, разделённой на три равных сегмента: красный, жёлты и зелёный. Минимальное и максимальное значение для шкалы так же можно задать вышеописанным способом. Минимальное значение по умолчанию - 0. Максимальное значение по умолчанию - 100. Указание типа не является обязательным.

Переключатели (необязательно)

Если необходимо управлять выключателями через веб-интерфейс, добавьте их в раздел:

<switches>
    <switch>
        <entityId>switch.light_room</entityId>
        <friendlyName>Освещение</friendlyName>
    </switch>
</switches>

Интервал обновления

<updateIntervalSeconds>30</updateIntervalSeconds>

Минимально допустимое значение — 10 секунд.


Хранение журналов

<logRetentionDays>30</logRetentionDays>

Количество дней хранения файлов лога.


Отображение областей и устройств

<showAreaNames>Y</showAreaNames>
<showDeviceNames>Y</showDeviceNames>

Возможные значения:

  • Y — отображать;
  • N — скрыть.

Файл токена

Файл, указанный в homeAssistantTokenFile, должен содержать только Long-Lived Access Token Home Assistant без дополнительных символов и комментариев.


Запуск

После запуска сервис начинает периодически получать данные из Home Assistant и открывает HTTP-сервер.


API

Сервис предоставляет следующие HTTP-запросы:

Метод Адрес Назначение
GET / HTML-страница
GET /api/all Все данные
GET /api/sensors Только датчики
GET /api/switches Только выключатели
POST /api/switch/toggle Переключение выключателя
GET /api/events Server-Sent Events для обновления данных

Настройка веб-страницы.

В папке сервиса находится файл WebPage.html. Именно этот файл отвечает за внешний вид веб страницы. При необходимости, его содержимое можно изменить. Обязательно сделайте резервную копию этого файла перед внесением изменений!

Запуск в Windows

В Windows приложение может работать как обычная программа или быть установлено в качестве службы Windows.

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

HasfobService.exe --install

или

HasfobService.exe -i

После установки служба будет создана с именем HASFOB и настроена на автоматический запуск при загрузке системы.

Для удаления службы выполните:

HasfobService.exe --uninstall

или

HasfobService.exe -u

Для запуска приложения без установки, достаточно запустить файл HasfobService.exe без параметров.

Запуск в Linux

Перейдите в каталог сервиса и выполните эти две команды:

chmod +x HasfobService ./HasfobService

Для вызова справки, запустите приложение с параметром -h

Системные требования

Программные требования: Среда выполнения: .NET 8 Runtime (или .NET 8 SDK для сборки)
ОС: Windows 10 / Windows Server 2016+ или Linux (Debian, Ubuntu и др. с systemd) Внешняя интеграция: Home Assistant (REST API, Long-Lived Access Token) Аппаратные требования (Hardware): Процессор: 1 ГГц или быстрее (x64 / ARM64) Оперативная память (RAM): 1 ГБ (Linux) / 2 ГБ (Windows) Дисковое пространство: ~150 МБ (под .NET Runtime и приложение)

About

Lightweight .NET 8 service for rendering Home Assistant data on legacy devices and browsers (HTML / JSON API / SSE).

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages