From 13f4e138e5cdd2e9b9a4abcdbabed037b112d8fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80=D0=BE=D0=B2=20=D0=90?= =?UTF-8?q?=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20=D0=93=D0=B5=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=B8=D1=87?= Date: Tue, 7 Sep 2021 10:21:28 +0300 Subject: [PATCH] add bumb2version --- .bumpversion.cfg | 22 ++++++++++++++++++++++ custom_components/mega/__init__.py | 10 +++++++++- docs/yaml.md | 27 +++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 .bumpversion.cfg diff --git a/.bumpversion.cfg b/.bumpversion.cfg new file mode 100644 index 0000000..cb69b0d --- /dev/null +++ b/.bumpversion.cfg @@ -0,0 +1,22 @@ +[bumpversion] +current_version = 1.0.9f0 +parse = (?P\d+)(\.(?P\d+))(\.(?P\d+))(?P[bf])(?P\d+) +commit = True +tag = True +serialize = + {major}.{minor}.{patch}{release}{build} + {major}.{minor}.{patch} + +[bumpversion:part:release] +optional_value = f +values = + b + f + +[bumpversion:part:build] +first_value = 0 + +[bumpversion:file:custom_components/mega/manifest.json] +search = "version": "{current_version}" +replace = "version": "{new_version}" + diff --git a/custom_components/mega/__init__.py b/custom_components/mega/__init__.py index 3cc45e5..edc0d0c 100644 --- a/custom_components/mega/__init__.py +++ b/custom_components/mega/__init__.py @@ -7,7 +7,7 @@ import voluptuous as vol from homeassistant.const import ( CONF_NAME, CONF_DOMAIN, - CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE, CONF_DEVICE_CLASS, CONF_PORT + CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE, CONF_DEVICE_CLASS, CONF_PORT, CONF_UNIQUE_ID ) from homeassistant.core import HomeAssistant, ServiceCall from homeassistant.helpers.service import bind_hass @@ -49,6 +49,13 @@ LED_LIGHT = \ ) } +ENCODER = \ + { + vol.Optional('int', description='int порт'): int, + vol.Required('scl', description='scl порт'): int, + vol.Optional('sync_to', description='entity_id с которым синхронизироваться'): str, + } + CUSTOMIZE_PORT = { vol.Optional(CONF_SKIP, description='исключить порт из сканирования', default=False): bool, vol.Optional(CONF_INVERT, default=False): bool, @@ -111,6 +118,7 @@ CONFIG_SCHEMA = vol.Schema( CUSTOMIZE_PORT, CUSTOMIZE_DS2413, ), + vol.Optional('encoders'): {str: ENCODER} } } }, diff --git a/docs/yaml.md b/docs/yaml.md index b80709f..2ba859e 100644 --- a/docs/yaml.md +++ b/docs/yaml.md @@ -204,6 +204,33 @@ mega: {% if m in [0, 1] %}d{% endif %} ``` +### encoders +Настройки енкодеров. Енкодер состоит из нескольких портов, поэтому энкодеры настраиваются в отдельном блоке. Настроенный +енкодер создает в вашем интерфейсе несколько объектов: + +- **light.**: это rgb-свет, отвечает за светодиод енкодера +- **sensor.**: это текущее значение енкодера [0..255] + +Пример: +```yaml +mega: + megaid1: + encoders: + some_encoder_id: # придумывайте любой + int: 6 + scl: 30 + sync_to: light.some_light +``` + +!!! note "" + - **int** (integer): номер порта-прерывания. Если не указать, сервер не будет реагировать на изменения. + - **scl** (integer): номер scl-порта, используется для управления подсветкой и синхронизации состояния + - **sync_to** (str): entity_id, с которым синхронизирвоать состояние. Синхронизация работает только в + одну сторону: а именно, когда вы меняете яркость объекта в интерфейсе, соответсвующая настройка "пробрасывается" на + контроллер. Обычно этого достаточно, тк управление самим светом лучше реализовать штатными средствами контроллера, + но в случае, если вы хотите так же управлять яркостью света с помощью енкодера+HA, то нужно использовать автоматизацию, + для вашего удобства есть шаблон, который можно установить по кнопке ниже: + ## Параметры интеграции ### allow_hosts {: #allow_hosts } Отвечает за список хостов, с которых интеграция "слушает" сообщения. По умолчанию, в этот список