# 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 так же из интерфейса. ## Сервисы Все сервисы доступны в меню разработчика с описанием и примерами использования ```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 ```