mirror of
https://github.com/andvikt/mega_hacs.git
synced 2025-12-11 17:14:28 +05:00
111 lines
5.5 KiB
Markdown
111 lines
5.5 KiB
Markdown
# MegaD HomeAssistant integration
|
||
|
||
Интеграция с [MegaD-2561](https://www.ab-log.ru/smart-house/ethernet/megad-2561)
|
||
|
||
## Основные особенности:
|
||
- Настройка в веб-интерфейсе
|
||
- Все порты автоматически добавляются как устройства (для обычных релейных выходов создается
|
||
`light`, для шим - `light` с поддержкой яркости, для цифровых входов `binary_sensor`, для датчиков
|
||
`sensor`)
|
||
- Возможность работы с несколькими megad
|
||
- Обратная связь по mqtt
|
||
- Команды выполняются друг за другом без конкурентного доступа к ресурсам megad, это дает гарантии надежного исполнения
|
||
большого кол-ва команд (например в сценах). Каждая следующая команда отправляется только после получения ответа о
|
||
выполнении предыдущей.
|
||
|
||
## Зависимости
|
||
**Важно!!** Перед использованием необходимо настроить интеграцию mqtt в HomeAssistant
|
||
|
||
Для максимальной совместимости необходимо обновить ваш контроллер до последней версии, тк были важные обновления в части
|
||
mqtt
|
||
|
||
## Установка
|
||
Рекомендованный способ с поддержкой обновлений - [HACS](https://hacs.xyz/docs/installation/installation):
|
||
|
||
HACS - Integrations - Explore, в поиске ищем MegaD.
|
||
|
||
Альтернативный способ установки:
|
||
```shell
|
||
# из папки с конфигом
|
||
wget -q -O - https://raw.githubusercontent.com/andvikt/mega_hacs/master/install.sh | bash -
|
||
```
|
||
Не забываем перезагрузить HA
|
||
|
||
## Настройка
|
||
`Настройки` -> `Интеграции` -> `Добавить интеграцию` в поиске ищем mega
|
||
|
||
Все имеющиеся у вас порты будут настроены автоматически.
|
||
|
||
Вы можете менять названия, иконки и entity_id так же из интерфейса.
|
||
|
||
По умолчанию все порты настроенные как сенсоры запрашиваются с периодичностью, указанной в настройках. Если это значение
|
||
выставить в 0, сканирование выполняться не будет.
|
||
|
||
####Так же доступна кастомизация устройств с помощью yaml:
|
||
```yaml
|
||
# configuration.yaml
|
||
|
||
mega:
|
||
hello: # ID меги, как в UI
|
||
7: # номер порта
|
||
domain: switch # тип устройства (switch или light, по умолчанию для цифровых выходов используется light)
|
||
invert: true # инвертировать или нет (по умолчанию false)
|
||
name: Насос # имя устройства
|
||
8:
|
||
# исключить из сканирования
|
||
skip: true
|
||
33:
|
||
# для датчиков можно кастомизировать только имя и unit_of_measurement
|
||
name: какой-то датчик
|
||
unit_of_measurement:
|
||
hum: "%" # если датчиков несколько, то можно указывать юниты по их ключам
|
||
14:
|
||
name: какой-то датчик
|
||
hum: "%" # если датчик один, то просто строчкой
|
||
```
|
||
|
||
## Сервисы
|
||
Все сервисы доступны в меню разработчика с описанием и примерами использования
|
||
```yaml
|
||
mega.save:
|
||
description: Сохраняет текущее состояние портов (?cmd=s)
|
||
fields:
|
||
mega_id:
|
||
description: ID меги, можно оставить пустым, тогда будут сохранены все зарегистрированные меги
|
||
example: "mega"
|
||
|
||
mega.get_port:
|
||
description: Запросить текущий статус порта (или всех)
|
||
fields:
|
||
mega_id:
|
||
description: ID меги, можно оставить пустым, тогда будут порты всех зарегистрированных мег
|
||
example: "mega"
|
||
port:
|
||
description: Номер порта (если не заполнять, будут запрошены все порты сразу)
|
||
example: 1
|
||
|
||
mega.run_cmd:
|
||
description: Выполнить любую произвольную команду
|
||
fields:
|
||
mega_id:
|
||
description: ID меги
|
||
example: "mega"
|
||
port:
|
||
description: Номер порта (это не порт, которым мы управляем, а порт с которого шлем команду)
|
||
example: 1
|
||
cmd:
|
||
description: Любая поддерживаемая мегой команда
|
||
example: "1:0"
|
||
```
|
||
|
||
## Отладка
|
||
Интеграция находится в активной разработке, при возникновении проблем [заводите issue](https://github.com/andvikt/mega_hacs/issues/new/choose)
|
||
|
||
Просьба прикладывать детальный лог, который можно включить в конфиге так:
|
||
```yaml
|
||
logger:
|
||
default: info
|
||
logs:
|
||
custom_components.mega: debug
|
||
```
|