diff --git a/docs/blueprints.md b/docs/blueprints.md
new file mode 100644
index 0000000..0de6539
--- /dev/null
+++ b/docs/blueprints.md
@@ -0,0 +1,58 @@
+**blueprints** - это удобные шаблоны автоматизаций, которые помогают строить автоматизацию из
+интерфейса и ими легко делиться. Все ваши шаблоны доступны из специального меню.
+
+[](https://my.home-assistant.io/redirect/blueprints/)
+
+[Официальная документация по blueprints](https://www.home-assistant.io/docs/blueprint/)
+
+## Общее
+Здесь я делюсь шаблонами, в которых используются события из моей интеграции.
+
+Если вы хотите сделать что-то подобное своими руками, то можно использовать мои шаблоны как отправную точку.
+
+Во всех шаблонах в качестве триггера используется событие **mega.binary** и доступен выбор типа,
+[подробное описание типов здесь](events.md#binary).
+
+## Включить что-то
+Этот шаблон лучше всего подходит для включения сценариев/сцен или любых других объектов по нажатию какой-то кнопки или
+обнаружению движения.
+
+!!! note "Движение"
+ Датчики движения - это такие же *binary_sensor* как и обычные выключатели. В зависимости от настроек контроллера
+ будут приходить события либо типа **single** (если настроен режим click), либо **press**
+
+Опционально так же доступна настройка автоматического выключения по таймеру, если указан 0 (по умолчанию), таймер не
+будет использован.
+
+Опционально доступен так же *блокирующий объект* и *период блокировки*. Например, если в одной комнате с датчиком
+движения есть выключатель, тогда его можно указать как *блокирующий объект* и в течении *периода блокировки*
+после нажатия выключателя события с датчика движения будут игнорироваться.
+
+[](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgist.github.com%2Fandvikt%2Fb78459f4f43862d04c7fbba20d6893c7)
+
+[Исходный код](https://gist.github.com/andvikt/b78459f4f43862d04c7fbba20d6893c7)
+## Переключить состояние
+Классическое управление светом с кнопки без фиксации: нажали кнопку - свет выключился, если он сейчас включен, и наоборот.
+Если вам нужно управлять несколькими светильниками, то необходимо будет
+[создать группу света](https://www.home-assistant.io/integrations/light.group/)
+
+[](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgist.github.com%2Fandvikt%2Fefb48535b1b9d998fe3dbe9a3efcea2c)
+
+[Исходный код](https://gist.github.com/andvikt/efb48535b1b9d998fe3dbe9a3efcea2c)
+## Выключатель с фиксацией
+Если выбран тип "нестрогий", то при каждом переключении состояния выключателя состоянии целевого объекта так же будет
+меняться. Этот режим рекомендуется, тк в случае переключения состояния с сервера, в случае со строгим типом будет
+"рассинхрон" - вам придется сначала выключатель привести в соответствие с текущим состоянием света.
+
+Если выбран тип "строгий", то будет строгое соответсвие состояний, те выкл==выкл и наоборот.
+
+[](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgist.github.com%2Fandvikt%2F9addf966db75d0964143177963f40bb9)
+
+[Исходный код](https://gist.github.com/andvikt/9addf966db75d0964143177963f40bb9)
+## Универсальный шаблон
+Универсальный шаблон, с помощью которого можно выбрать любое событие меги, привязать
+к нему набор произвольных действий
+
+[](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgist.github.com%2Fandvikt%2Fbe1f683d308050b8972f9efa8aec465f)
+
+[Исходный код](https://gist.github.com/andvikt/be1f683d308050b8972f9efa8aec465f)
\ No newline at end of file
diff --git a/docs/debug.md b/docs/debug.md
new file mode 100644
index 0000000..25501a5
--- /dev/null
+++ b/docs/debug.md
@@ -0,0 +1,15 @@
+[Сообщить о проблеме](https://github.com/andvikt/mega_hacs/issues/new?assignees=&labels=&template=bug-report.md&title=){ .md-button .md-button--primary }
+
+В первую очередь проверьте лог на наличие ошибок, доступ к логу возможен по кнопке ниже.
+
+[](https://my.home-assistant.io/redirect/logs/)
+
+Так же будет очень полезно прикладывать детальный лог, который можно включить в конфиге так:
+```yaml
+logger:
+ default: info
+ logs:
+ custom_components.mega: debug
+```
+Для просмотра логов рекомендуется использовать [logviewer](https://github.com/hassio-addons/addon-log-viewer)
+
diff --git a/docs/events.md b/docs/events.md
new file mode 100644
index 0000000..a7f4ad0
--- /dev/null
+++ b/docs/events.md
@@ -0,0 +1,66 @@
+Для быстрого старта рекомендую попробовать [мои шаблоны автоматизаций](blueprints.md)
+
+## mega.binary {: #binary}
+События можно использовать только в автоматизациях как триггер типа *event*
+```yaml
+- alias: some long click
+ trigger:
+ - platform: event
+ event_type: mega.binary
+ event_data:
+ entity_id: binary_sensor.some_id
+ type: long
+ action:
+ - service: light.toggle
+ entity_id: light.some_light
+```
+!!! note "Возможные варианты поля type"
+ - **press**: замыкание
+ - **release**: размыкание (с гарантией, что не было долгого нажатия)
+
+ *Эти типы доступны только в режиме click (настраивается на контроллере):*
+
+ - **long**: долгое нажатие
+ - **long_release**: размыкание после долгого нажатия
+ - **single**: одинарный клик (в режиме кликов)
+ - **double**: двойной клик
+
+## mega.sensor
+Этот вид событий более "технический", им имеет смысл пользоваться только если функциональности *mega.binary* не
+достаточно.
+```yaml
+# событие при перезагрузке меги
+- alias: mega restart
+ trigger:
+ - platform: event
+ event_type: mega.sensor
+ event_data:
+ st: 1
+ action:
+ # какой-то экшн
+# Пример события с полями как есть прямо из меги
+- alias: some double click
+ trigger:
+ - platform: event
+ event_type: mega.sensor
+ event_data:
+ pt: 1
+ click: 2
+ action:
+ - service: light.toggle
+ entity_id: light.some_light
+```
+!!! note "События могут содержать следующие поля в event_data"
+ - **mega_id**: id как в конфиге HA
+ - **pt**: номер порта
+ - **cnt**: счетчик срабатываний
+ - **mdid**: id как в конфиге контроллера
+ - **click**: клик (подробнее в документации меги)
+ - **port**: номер порта
+
+
+## Отладка
+Чтобы понять, какие события приходят, лучше всего воспользоваться панелью разработчика (кнопка ниже) и подписаться
+на вкладке события на событие `mega.binary` или `mega.sensor`, понажимать физические кнопки на меге.
+
+[](https://my.home-assistant.io/redirect/developer_events/)
diff --git a/docs/http.md b/docs/http.md
new file mode 100644
index 0000000..772855c
--- /dev/null
+++ b/docs/http.md
@@ -0,0 +1,64 @@
+Контроллер оповещает сервер о своих событиях, например, нажали кнопку выключателя или сработал датчик движения,
+для этого в интеграции реализован http-сервер, для его работы необходимо прописать
+в настройках меги следующие параметры:
+
+```yaml
+srv: "192.168.1.4:8123" # ip:port вашего HA
+script: "mega" # это api интеграции, к которому будет обращаться контроллер
+```
+
+!!! note "Внимание!"
+ Не используйте **srv loop** на контроллере - это может приводить к ложным срабатываниям входов. Вместо srv loop
+ интеграция будет сама обновлять все состояния портов с заданным интервалом
+
+За события будут отвечать объекты типа *binary_sensor* - их статус будет меняться на **on** при замыкании
+контакта, на **off** при размыкании, а так же для более сложного контроля (двойные, долгие нажатия) предусмотрены
+события с типом *mega.binary*, [об этом подробнее в разделе события](events.md)
+
+Так же вы можете [воспользоваться моими шаблонами автоматизаций](blueprints.md) для быстрого понимания, как всем этим
+пользоваться.
+
+## Ответ на входящие события от контроллера
+
+Контроллер ожидает ответ от сервера, который может быть сценарием (по умолчанию интеграция отвечает `d`, что означает
+запустить то что прописано в поле act в настройках порта).
+
+*Внимание!* По умолчанию в настройках интеграции стоит опция `имитация ответа` - это означает, что сервер вместо ответа
+делает запрос к меге с необходимой командой - это вынужденная мера, тк встроенный в HA сервер разбивает пакет на части,
+а контроллер не работает с такими пакетами. В целом, `имитация ответа` полностью закрывает эту проблему, единственный
+недостаток - это небольшая задержка в ответе.
+
+Для максимальной скорости реакции, можно воспользоваться
+[аддоном](https://github.com/andvikt/mega_addon/tree/master/mega-proxy), подробности в документации аддона.
+
+[Поддерживаются шаблоны HA.](yaml.md#binary) Это может быть использовано, например, для запоминания яркости (тк сам контроллер этого не
+умеет).
+
+## Отладка шаблонов {: #temp-debug }
+Отладку шаблонов рекомендуется проводить в специальном меню HA, которое находится в `Панель разработчика` - `Шаблоны`
+
+Вот пример, с которого можно начать:
+```yaml
+{## Переменные, которые передает контроллер, указываются только в тесте ##}
+{% set m = 1%}
+{% set pt = 2%}
+{% set mdid = 'mega'%}
+{## Шаблон ответа ##}
+{% if m in [0, 1] %}d{% endif %}
+```
+
+## Отладка ответов http-сервера {: #http-response }
+Для отладки ответов сервера можно самим имитировать запросы контроллера, если у вас есть доступ к консоли HA:
+```shell
+curl -v -X GET 'http://localhost:8123/mega?pt=5&m=1&mdid=mymega1'
+```
+Где mymega1 - id устройства mega, который нужно узнать по url `http://192.168.1.14/sec/?cf=2`
+
+При этом необходимо так же в настройках интеграции прописать хост, с которого вы будете обращаться,
+[подробнее](yaml.md#allow_hosts)
+
+И тогда можно с локальной машины делать запросы на ваш сервер HA:
+```shell
+curl -v -X GET 'http://192.168.88.1.4:8123/mega?pt=5&m=1&mdid=mymega1'
+```
+В ответ будет приходить либо d, либо скрипт, который вы настроили
\ No newline at end of file
diff --git a/docs/i2c.md b/docs/i2c.md
new file mode 100644
index 0000000..504d4f7
--- /dev/null
+++ b/docs/i2c.md
@@ -0,0 +1,29 @@
+I2C-датчики будут добавлены автоматически в HA с названием, соответствующим порту, типу и адресу
+(если необходим), название и entity_id вы всегда можете поменять из интерфейса HA, [а также дополнительно их
+кастомизировать с помощью yaml](yaml.md#sensors).
+
+Как и все остальные датчики, i2c подчиняется единому интервалу обновления, который указывается в меню интеграции.
+
+## Список i2c-датчиков, поддерживаемых интеграцией: {: #list}
+!!! note ""
+ Под поддерживаемыми подразумеваются те датчики, у которых учтены все возможные
+ дополнительные значения, а так же корректно определены типы
+
+ Неподдерживаемые датчики все равно будут работать, но будет отображаться только основное значение (i2c_par=0),
+ а тип будет определен как общий, универсальный для всех датчиков.
+
+- HTU21D/Si7021
+- SHT31
+- MAX44009
+- BH1750
+- TSL2591
+- BMP180
+- BME280
+- T6703/T67xx
+- MLX90614
+- PTsensor
+- MCP9600
+- DPS368
+- ADS1115/ADS1015
+
+Так же заводите issue если какой-то датчик отсутсвует в этом списке, но поддерживается контроллером.
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 0000000..27b9b5a
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,69 @@
+# MegaD HomeAssistant integration
+[](https://github.com/custom-components/hacs)
+[](https://yoomoney.ru/to/410013955329136)
+Star
+
+[Сообщить о проблеме](https://github.com/andvikt/mega_hacs/issues/new?assignees=&labels=&template=bug-report.md&title=){ .md-button .md-button--primary }
+
+Интеграция с [MegaD-2561, MegaD-328](https://www.ab-log.ru/smart-house/ethernet/megad-2561)
+
+
+Если вам понравилась интеграция, не забудьте поставить звезду на гитхабе - вам не сложно, а мне приятно ) А если
+интеграция очень понравилась - еще приятнее, если вы воспользуетесь кнопкой доната )
+
+Обновление прошивки MegaD можно делать прямо из HA с помощью [аддона](https://github.com/andvikt/mega_addon.git)
+
+Предложения по доработкам просьба писать в [discussions](https://github.com/andvikt/mega_hacs/discussions), о проблемах
+создавать [issue](https://github.com/andvikt/mega_hacs/issues/new/choose)
+## Основные особенности {: #mains }
+- Настройка в [веб-интерфейсе](settings.md) + [yaml](yaml.md)
+- Все порты автоматически добавляются как устройства (для обычных релейных выходов создается
+ `light`, для шим - `light` с поддержкой яркости, для цифровых входов `binary_sensor`, для датчиков
+ `sensor`)
+- Поддержка rgb+w лент как с использованием диммеров, так и адресных лент на чипах ws28xx и подобных,
+ [подробнее про rgbw](yaml.md#rgb)
+- Плавное диммирование для любых диммируемых объектов (в том числе с аппаратной поддержкой и без),
+ [подробнее про smooth](smooth.md)
+- Возможность работы с несколькими megad
+- Обратная связь по [http](http.md)
+- Автоматическое восстановление состояний выходов после перезагрузки контроллера
+- Автоматическое добавление/изменение объектов после перезагрузки контроллера
+- [События](events.md) на двойные/долгие нажатия
+- Команды выполняются друг за другом без конкурентного доступа к ресурсам megad, это дает гарантии надежного исполнения
+ большого кол-ва команд (например в сценах). Каждая следующая команда отправляется только после получения ответа о
+ выполнении предыдущей.
+- поддержка [ds2413](https://www.ab-log.ru/smart-house/ethernet/megad-2w) в том числе несколько шиной (начиная с версии 0.4.1)
+- поддержка расширителей MegaD-16I-XT, MegaD-16R-XT, MegaD-16PWM (начиная с версии 0.5.1)
+- поддержка всех возможных датчиков в режиме I2C-ANY, полный список поддерживаемых датчиков
+ [по ссылке](i2c.md) (начиная с версии 0.6.1)
+
+## Установка {: #install}
+Если вы уже раньше устанавливали HACS, то просто поищите в списке интеграций HACS MegaD, если нет, то сначла необходимо
+установить HACS - это витрина сторонних интеграций. [Инструкция по установке](https://hacs.xyz/docs/installation/installation)
+
+Далее внутри интерфейса HACS ищем MegaD: `HACS - Integrations - Explore`, в поиске ищем MegaD.
+
+На этом установка не закончена, вам потребуется прописать настройки каждого контроллера, [подробнее](settings.md)
+
+!!! note "Альтернативный способ установки"
+ ```shell
+ # из папки с конфигом
+ wget -q -O - https://raw.githubusercontent.com/andvikt/mega_hacs/master/install.sh | bash -
+ ```
+ Не забываем перезагрузить HA
+
+## Обновления
+Обновления выполняются так же в меню HACS.
+Информация об обновлениях приходит с некоторым интервалом, чтобы вручную проверить наличие обновлений
+нажмите три точки возле интеграции в меню HACS и нажмите `обновить информацию`
+
+Чтобы включить возможность использования бета-версий, зайдите в HACS, найдите интеграцию MegaD, нажмите три точки,
+там кнопка "переустановить" или reinstall, дальше нужно нажать галку "показывать бета-версии"
+
+## Зависимости {: #deps }
+Для максимальной скорости реакции на команды сервера, рекомендуется выключить `имитацию http-ответа` в
+настройках интеграции и настроить proxy_pass к HA, самый простой способ сделать это - воспользоваться
+[специальным аддоном](https://github.com/andvikt/mega_addon/tree/master/mega-proxy)
+
+Обновить ваш контроллер до последней версии, обновление прошивки MegaD можно делать
+из HA с помощью [аддона](https://github.com/andvikt/mega_addon.git)
diff --git a/docs/services.md b/docs/services.md
new file mode 100644
index 0000000..3ae4894
--- /dev/null
+++ b/docs/services.md
@@ -0,0 +1,32 @@
+Все сервисы доступны в меню разработчика с описанием и примерами использования
+```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"
+```
\ No newline at end of file
diff --git a/docs/settings.md b/docs/settings.md
new file mode 100644
index 0000000..008a6a0
--- /dev/null
+++ b/docs/settings.md
@@ -0,0 +1,16 @@
+[После успешной установки интеграции в HACS](index.md#install), необходимо настроить
+каждый контроллер, проще всего сделать это по этой кнопке:
+
+[](https://my.home-assistant.io/redirect/config_flow_start/?domain=mega)
+
+Все имеющиеся у вас порты будут настроены автоматически. Вы можете менять названия, иконки и entity_id так же из интерфейса.
+
+В самой меге необходимо прописать настройки:
+```yaml
+srv: "192.168.1.4:8123" # ip:port вашего HA
+script: "mega" # это api интеграции, к которому будет обращаться контроллер
+```
+Так же необходимо настроить Mega-ID в настройках контроллера, для каждой меги id должен быть разным.
+
+При любых изменениях настроек контроллера (типы входов, id и тд) необходимо в настройках интеграции нажать `Обновить
+объекты`
diff --git a/docs/smooth.md b/docs/smooth.md
new file mode 100644
index 0000000..67ef611
--- /dev/null
+++ b/docs/smooth.md
@@ -0,0 +1,50 @@
+Начиная с версии `1.0.0` интеграция поддерживает плавные переходы. Функция реализована
+как на аппаратном уровне, так и на программном.
+
+Для аппаратной поддержки в настройках контроллера диммируемого порта необходимо включить опцию smooth.
+
+В чем разница между аппаратной и программной реализацией? Контроллер на аппаратном уровне умеет медленно
+менять значение pwm-порта, рекомендуется для всех портов с поддержкой этого режима использовать именно его,
+тк будет обеспечена максимальная плавность для любого числа устройств одновременно.
+Плавность программного диммирования ограничена ресурсами вашего сервера и скоростью ответа контроллера,
+если вы будете довольно быстро (за пару секунд) диммировать сразу группу
+света из нескольких светильков, то в программной реализации возможно увидеть скачки.
+
+Тем не менее, pwm-расширитель не умеет аппаратно сглаживать диммирование, поэтому для него есть смысл воспользоваться
+программной реализацией
+
+Для запуска плавного перехода можно воспользоваться штатными сервисами, например:
+```yaml
+action:
+ service: light.turn_on
+ entity_id: light.some_light
+ data:
+ # свет будет плавно включаться в течении 30 секунд
+ brightness_pct: 50
+ transition: 10 # кол-во секунд на переход
+```
+Так же любые диммируемые каналы могут участвовать в сценах, а эти сцены в свою очередь будут поддерживать опцию transition:
+```yaml
+action:
+ service: scene.turn_on
+ target:
+ entity_id: scene.romantic
+ data:
+ transition: 2.5
+```
+
+Плавность реализована в любых диммируемых объектах: свет, rgb-ленты.
+
+Кроме того, возможно установить плавность по-умолчанию (имеет смысл использовать на pwm-расширителе), для этого в yaml-конфиге
+следует добавить опцию smooth:
+```yaml
+mega:
+ mega1:
+ 10e1:
+ smooth: 1 # если указать, то порт будет диммироваться плавно (от 0 до 100% за секунд)
+ # опцию smooth можно использовать и на обычном pwm-порте, но в этом мало необходимости, лучше использовать
+ # встроенный в контроллер механизм smooth
+```
+
+Для светодиодных лент smooth по умолчанию установлен в 1 секунду,
+подробнее [тут](yaml.md#rgb)
\ No newline at end of file
diff --git a/docs/yaml.md b/docs/yaml.md
new file mode 100644
index 0000000..b80709f
--- /dev/null
+++ b/docs/yaml.md
@@ -0,0 +1,217 @@
+С помощью yaml-конфигурации можно кастомизировать ваши устройства.
+
+## Основное
+Конфиг записывается стандартным образом в файл `configuration.yaml`, начинаем с
+указания названия интеграции:
+```yaml hl_lines="1"
+mega:
+ megaid1:
+ 10:
+ domain: switch
+ invert: true
+ megaid2:
+ 14:
+ hex_to_float: true
+```
+Далее каждый новый контроллер добавляется с помощью указания его id, который вы
+придумали при установке интеграции
+```yaml hl_lines="2 6"
+mega:
+ megaid1:
+ 10:
+ domain: switch
+ invert: true
+ megaid2:
+ 14:
+ hex_to_float: true
+```
+
+Далее конфигурируются порты:
+```yaml hl_lines="3 4 5 7 8"
+mega:
+ megaid1:
+ 10:
+ domain: switch
+ invert: true
+ megaid2:
+ 14:
+ hex_to_float: true
+```
+
+## Параметры устройств
+В зависимости от типа порта доступны разные параметры. Все параметры опциональные, в скобках приведены типы и дефолтные
+значения.
+### Стандартный набор параметров
+Все устройства вне зависимости от типа
+!!! note ""
+ - **skip** (bool, false): пропустить или нет. Если true - устройство будет исключено из списка
+ - **name** (str): имя, используется в интерфейсе
+### Реле
+!!! note ""
+ - **domain** (str, light): тип устройства. Можно выбрать light или switch
+ - **invert** (bool, false): инвертировать или нет.
+### ds2413
+Те же параметры, что у реле, но записываются иначе:
+```yaml
+10:
+ c6c439000000_a: #c6c439000000 - это адрес ds2413, a-первый канал
+ # параметры
+ c6c439000000_b: #b-второй канал
+```
+### Диммеры
+!!! note ""
+ - **smooth** (float, 0): программное плавное диммирование. Это поле отвечает за кол-во секунд, за которое яркость
+ диммера набирает от 0 до 100%
+ - **limits** (list[int, int], [0, 255]), *начиная с версии 1.1.0*: границы диммирования в абсолютных единицах контроллера. При диммировании 1%
+ будет равен левой границе, 100% - правой.
+[Подробнее про плавное диммирование](smooth.md)
+### MegaD-16R-XT, MegaD-16PWM
+Порты расширителей MegaD-16R-XT, MegaD-16PWM конфигурируются аналогично обычным реле и диммерам, но адресация порта
+выглядит так:
+```yaml
+33e1: # 33-основной порт, на котором сидит расширитель, e1-дополнительный порт расширителя
+ # стандартный конфиг порта
+33e2:
+```
+### RGB+W {: #rgb}
+Для настройки rgb(w) лент существует специальный раздел `led` в настройках каждого контроллера:
+```yaml hl_lines="3"
+mega:
+ megaid1:
+ led:
+ ledid1: # id, который вы придумываете сами
+ # конфиг
+```
+Далее интеграция имеет поддержку двух типов лент
+#### На диммерах
+Интеграция может превратить любые 3 (или 4) диммера (актуально для мосфетов на pwm-расширителе или моноблоке)
+в rgb(w) контроллер с интерфейсом выбора цвета. Конфиг для такого типа ленты будет выглядеть так:
+!!! note ""
+ - **ports** (list\[str\]): список номеров портов, из которых составлять ленту, все порты должны быть типа PWM.
+ Порядок цветов строго \[R, G, B, W\]. W указывается опционально
+ - **white_sep** (bool, true): яркостью белого можно управлять в двух режимах - синхронно с яркостью RGB, либо
+ отдельно, по умолчанию стоит отдельно (true)
+ - **smooth** (float, 1): скорость диммирования, от 0 до 100% за секунд.
+Пример:
+```yaml
+some_led1:
+ ports: [10, 12, 15, 16]
+ white_sep: true
+ smooth: 2
+```
+#### Адресные ленты на WS281X
+Подробно про поддержку контроллера таких лент рассказано в [инструкции](https://www.ab-log.ru/smart-house/ethernet/megad-2561#ws).
+Интеграция не привносит ничего нового - только помогает "пробросить" такие ленты в интерфейс HA.
+Конфиг таких лент выглядит так:
+!!! note ""
+ - **ws28xx** (bool, false): обязательное поле, необходимо установить true.
+ - **port** (int): номер порта, на котором настроена лента.
+ - **order** (str, "rgb"): последовательность каналов, допускаются любые комбинации букв r,g,b: rbg, bgr и тд
+ - **chip** (int, 100): кол-во чипов в ленте, по умолчанию 100, если их меньше емеет смысл указать правильное кол-во
+ для увеличения скорости плавного диммирования
+ - **smooth** (float, 1): скорость диммирования, от 0 до 100% за секунд.
+Пример:
+```yaml
+some_led2:
+ ws28xx: true
+ port: 36
+ order: bgr
+ smooth: 2
+```
+### Бинарные сенсоры {: #binary}
+Или по-другому цифровые входы. Как правило используются для выключателей, кнопок, датчиков движения и тд.
+!!! note ""
+ - **response_template** (str): шаблон ответа на команды сервера. По-умолчанию d.
+ Про формат ответа подробно описано [тут](https://www.ab-log.ru/smart-house/ethernet/megad-2561#conf-in-act).
+ В шаблоне можно использовать параметры, которые передает контроллер (m, click, pt, mdid, mega_id).
+ Про отладку шаблонов подробнее [тут](http.md#temp-debug)
+
+!!! note "на меге"
+ Для корректной работы binary_sensor имеет смысл использовать режим P&R в настройках порта меги
+Бинарные сенсоры так же отвечают за события типа *mega.binary*, [об этом подробнее в разделе события](events.md)
+
+Примеры шаблонов ответа:
+```yaml
+4:
+ response_template: "5:2" # простейший пример без шаблона. Каждый раз когда будет приходить сообщение на этот порт,
+ # будем менять состояние на противоположное
+5:
+ # пример с использованием шаблона, порт 1 будет выключен если он сейчас включен и включен с последней сохраненной
+ # яркостью если он сейчас выключен
+ response_template: >-
+ {% if is_state('light.some_port_1', 'on') %}
+ 1:0
+ {% else %}
+ 1:{{state_attr('light.some_port_1', 'brightness')}}
+ {% endif %}
+6:
+ # в шаблон так же передаются все параметры, которые передает контроллер (pt, cnt, m, click)
+ # эти параметры можно использовать в условиях или непосредственно в шаблоне в виде {{pt}}
+ response_template: >-
+ {% if m==2 %}1:0{% else %}d{% endif %}
+```
+
+
+### Датчики {: #sensors }
+Любой датчик будь то i2c или аналоговый или 1-wire
+!!! note ""
+ - **unit_of_measurement** (str): единицы измерения, [список доступных](https://developers.home-assistant.io/docs/core/entity/sensor#available-device-classes)
+ - **value_template** (str): шаблон для конвертации, например `{{(value|float)/100}}`
+ - **device_class** (str): класс устройства, [список доступных](https://developers.home-assistant.io/docs/core/entity/sensor#available-device-classes)
+ - **hex_to_float** (bool, false): если ваш датчик возвращает float запакованный в HEX, интеграция его распакует (перед применением темплейта)
+При этом есть так же особенности адресации, так для сенсора на одном порте с одним значением:
+```yaml
+36:
+ # конфиг
+```
+#### DHT11/22
+На этих сенсорах два значения, одно для температуры, второе для влажности, поэтому для них применяется
+особый вид адресации:
+```yaml
+35:
+ name:
+ hum: "влажность"
+ temp: "температура"
+ # и так далее для любого параметра сенсоров
+```
+Логика так себе ) Но так повелось в первых версиях.
+#### 1W-BUS
+Для датчиков установленных в шину 1-wire адресация кастомизации такая:
+```yaml
+35:
+ addr: # адрес датчика, по-умолчанию entity_id будет состоять из адреса и типа
+ # конфиг
+```
+#### i2c {: #i2c}
+Для сенсоров i2c адресация конфига такая:
+```yaml
+36:
+ htu21d_humidity: # entity_id сенсора без приставки sensor., видно в интерфейсе HA
+ # конфиг
+```
+[Подробнее про i2c](i2c.md)
+## Параметры контроллера
+Некоторые параметры применяются для всего контроллера (одна мега)
+### def_response
+Шаблон ответа сервера по умолчанию. Если этот параметр указан, то настройка "d по умолчанию"
+в UI игнорируется.
+
+Пример:
+```yaml
+mega:
+ megaid1:
+ def_response: >-
+ {% if m in [0, 1] %}d{% endif %}
+```
+
+## Параметры интеграции
+### allow_hosts {: #allow_hosts }
+Отвечает за список хостов, с которых интеграция "слушает" сообщения. По умолчанию, в этот список
+входят все настроенные меги, а так же все запросы с локального хоста.
+
+Иногда, в целях отладки, требуется расширить этот список, что можно сделать следующим оьразом:
+```yaml
+mega:
+ allow_hosts:
+ - 192.168.1.20
+```