2020-12-30 08:58:57 +03:00
2020-12-29 11:22:24 +03:00
2020-12-30 08:58:57 +03:00
2020-12-28 22:23:56 +03:00
2020-12-29 10:06:22 +03:00
2020-12-29 12:36:48 +03:00

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
Description
MegaD HomeAssistant integration
Readme 1.2 MiB
Languages
Python 99.9%
Shell 0.1%