MegaD HomeAssistant custom component
Интеграция с MegaD-2561
Основные особенности:
- Настройка как из yaml так и из веб-интерфейса
- При настройки из веба все порты автоматически добавляются как устройства (для обычных релейных выходов создается
light, для шим -lightс поддержкой яркости, для цифровых входовbinary_sensor, для температурных датчиковsensor) - Возможность работы с несколькими megad
- Обратная связь по mqtt
- Команды выполняются друг за другом без конкурентного доступа к ресурсам megad
Устройства
Поддерживаются устройства: light, switch, binary_sensor, sensor. light может работать как диммер
Установка
Рекомендованнй способ - через HACS.
После установки HACS, нужно перейти в меню hacs -> integrations, далее в верхнем правом углу
нажать три точки, где будет Custom repositories, открыть, нажать add и добавить https://github.com/andvikt/mega_hacs.git
Альтернативный способ установки:
# из папки с конфигом
wget -q -O - https://raw.githubusercontent.com/andvikt/mega_hacs/master/install.sh | bash -
Перезагрузить HA
Для обновления повторить
Зависимости
Перед использованием необходимо настроить интеграцию mqtt в HomeAssistant
Настройка из веб-интерфейса
Настройки -> Интеграции -> Добавить интеграцию в поиске ищем mega
Пример настройки с помощью yaml:
mega:
mega1:
host: 192.168.0.14
name: hello
password: sec
mqtt_id: mega # это id в конфиге меги
light:
- platform: mega
mega1:
switch:
- 1 # можно просто перечислить порты
- 2
- 3
dimmer:
- port: 7
name: hello # можно использовать расширенный вариант с названиями
- 9
- 10
binary_sensor:
- platform: mega
mega1:
- port: 16
name: sensor1
- port: 18
name: sensor2
sensor:
- platform: mega
mega1:
- port: 10
name: some temp
type: w1
key: temp
- port: 10
name: some hum
type: w1
key: hum
switch:
- platform: mega
mega1:
- 11
Сервисы
save:
description: Сохраняет текущее состояние портов (?cmd=s)
fields:
mega_id:
description: ID меги, можно оставить пустым, тогда будут сохранены все зарегистрированные меги
example: "mega"
get_port:
description: Запросить текущий статус порта (или всех)
fields:
mega_id:
description: ID меги, можно оставить пустым, тогда будут сохранены все зарегистрированные меги
example: "mega"
port:
description: Номер порта (если не заполнять, будут запрошены все порты сразу)
example: 1
run_cmd:
description: Выполнить любую произвольную команду
fields:
mega_id:
description: ID меги, можно оставить пустым, тогда будут сохранены все зарегистрированные меги
example: "mega"
port:
description: Номер порта (это не порт, которым мы управляем, а порт с которого шлем команду)
example: 1
cmd:
description: Любая поддерживаемая мегой команда
example: "1:0"
Состояния
Так же каждое устройство megad опрашивается на предмет работоспособности, текущий статус хранится в mega.
Отладка
Если возникают проблемы, можно включить детальный лог, для этого в конфиг добавить:
logger:
default: info
logs:
custom_components.mega: debug