Compare commits

..

15 Commits

Author SHA1 Message Date
andvikt
1512238763 Bump version: 1.0.10b2 → 1.0.10b3 2021-09-18 22:22:20 +03:00
andvikt
ce1987d0c0 Merge pull request #59 from andvikt/feature/adc328
Feature/adc328
2021-09-18 22:21:30 +03:00
andvikt
b4521a93bb Merge branch 'master' into feature/adc328 2021-09-18 22:21:10 +03:00
andvikt
9322f9cae1 Bump version: 1.0.10b1 → 1.0.10b2 2021-09-18 22:11:56 +03:00
andvikt
52ace90600 add adc support for 328 mega 2021-09-18 22:11:52 +03:00
andvikt
8738a936fe Bump version: 1.0.10b0 → 1.0.10b1 2021-09-18 22:10:50 +03:00
andvikt
2490e09748 add adc support for 328 mega 2021-09-18 22:10:47 +03:00
andvikt
e134a874fa add adc support for 328 mega 2021-09-18 22:08:52 +03:00
andvikt
6fc5391490 Update index.md 2021-09-15 14:09:21 +03:00
andvikt
d37fa11ab3 Merge pull request #58 from andvikt/fix/57
Fix/57
2021-09-15 14:02:52 +03:00
andvikt
1db5670cfd fix #57 2021-09-15 13:59:30 +03:00
andvikt
74b6e200a5 add bumb2version 2021-09-15 13:58:22 +03:00
andvikt
3737bf91a3 Bump version: 1.0.9 → 1.0.10b0 2021-09-15 13:56:37 +03:00
andvikt
747b8e6c36 add bumb2version 2021-09-15 13:56:33 +03:00
andvikt
fec5cef05c add bumb2version 2021-09-15 13:54:34 +03:00
7 changed files with 13 additions and 43 deletions

View File

@@ -1,6 +1,6 @@
[bumpversion] [bumpversion]
current_version = 1.1.0b1 current_version = 1.0.10b3
parse = (?P<major>\d+)(\.(?P<minor>\d+))(\.(?P<patch>\d))(?P<release>[bf]*)(?P<build>\d*) parse = (?P<major>\d+)(\.(?P<minor>\d+))(\.(?P<patch>\d+))(?P<release>[bf]*)(?P<build>\d*)
commit = True commit = True
tag = True tag = True
serialize = serialize =

View File

@@ -7,7 +7,7 @@ import voluptuous as vol
from homeassistant.const import ( from homeassistant.const import (
CONF_NAME, CONF_DOMAIN, CONF_NAME, CONF_DOMAIN,
CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE, CONF_DEVICE_CLASS, CONF_PORT, CONF_UNIQUE_ID CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE, CONF_DEVICE_CLASS, CONF_PORT
) )
from homeassistant.core import HomeAssistant, ServiceCall from homeassistant.core import HomeAssistant, ServiceCall
from homeassistant.helpers.service import bind_hass from homeassistant.helpers.service import bind_hass
@@ -49,13 +49,6 @@ 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 = { CUSTOMIZE_PORT = {
vol.Optional(CONF_SKIP, description='исключить порт из сканирования', default=False): bool, vol.Optional(CONF_SKIP, description='исключить порт из сканирования', default=False): bool,
vol.Optional(CONF_INVERT, default=False): bool, vol.Optional(CONF_INVERT, default=False): bool,
@@ -118,7 +111,6 @@ CONFIG_SCHEMA = vol.Schema(
CUSTOMIZE_PORT, CUSTOMIZE_PORT,
CUSTOMIZE_DS2413, CUSTOMIZE_DS2413,
), ),
vol.Optional('encoders'): {str: ENCODER}
} }
} }
}, },
@@ -218,7 +210,7 @@ async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None:
id = entry.data.get('id', entry.entry_id) id = entry.data.get('id', entry.entry_id)
hub: MegaD = hass.data[DOMAIN].get(id) hub: MegaD = hass.data[DOMAIN].get(id)
if hub is None: if hub is None:
return return True
_LOGGER.debug(f'remove {id}') _LOGGER.debug(f'remove {id}')
_hubs.pop(id, None) _hubs.pop(id, None)
hass.data[DOMAIN].pop(id, None) hass.data[DOMAIN].pop(id, None)
@@ -229,7 +221,7 @@ async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None:
if task is not None: if task is not None:
task.cancel() task.cancel()
if hub is None: if hub is None:
return return True
await hub.stop() await hub.stop()
return True return True

View File

@@ -63,7 +63,7 @@ async def validate_input(hass: core.HomeAssistant, data):
class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
"""Handle a config flow for mega.""" """Handle a config flow for mega."""
VERSION = 24 VERSION = 25
CONNECTION_CLASS = config_entries.CONN_CLASS_ASSUMED CONNECTION_CLASS = config_entries.CONN_CLASS_ASSUMED
async def async_step_user(self, user_input=None): async def async_step_user(self, user_input=None):

View File

@@ -566,6 +566,9 @@ class MegaD:
elif cfg.pty == '4' and cfg.m == '2': elif cfg.pty == '4' and cfg.m == '2':
# scl исключаем из сканирования # scl исключаем из сканирования
continue continue
elif cfg.pty is None and nports < 30:
# вроде как это ADC на 328 меге
ret['sensor'][port].append(dict())
elif cfg.pty in ('3', '2', '4'): elif cfg.pty in ('3', '2', '4'):
http_cmd = 'get' http_cmd = 'get'
if cfg.d == '5' and cfg.pty == '3': if cfg.d == '5' and cfg.pty == '3':

View File

@@ -15,5 +15,5 @@
"@andvikt" "@andvikt"
], ],
"issue_tracker": "https://github.com/andvikt/mega_hacs/issues", "issue_tracker": "https://github.com/andvikt/mega_hacs/issues",
"version": "v1.1.0b1" "version": "v1.0.10b3"
} }

View File

@@ -57,7 +57,9 @@
Информация об обновлениях приходит с некоторым интервалом, чтобы вручную проверить наличие обновлений Информация об обновлениях приходит с некоторым интервалом, чтобы вручную проверить наличие обновлений
нажмите три точки возле интеграции в меню HACS и нажмите `обновить информацию` нажмите три точки возле интеграции в меню HACS и нажмите `обновить информацию`
Чтобы включить возможность использования бета-версий, зайдите в HACS, найдите интеграцию MegaD, нажмите три точки, ## Беты {: #beta }
Иногда я буду выпускать бета-версии, в стабильности которых пока не уверен и не готов раскатывать на всех, поэтому в целях тестирвоания
нужно принудительно включать поддержку бет, для этого зайдите в HACS, найдите интеграцию MegaD, нажмите три точки,
там кнопка "переустановить" или reinstall, дальше нужно нажать галку "показывать бета-версии" там кнопка "переустановить" или reinstall, дальше нужно нажать галку "показывать бета-версии"
## Зависимости {: #deps } ## Зависимости {: #deps }

View File

@@ -204,33 +204,6 @@ mega:
{% if m in [0, 1] %}d{% endif %} {% if m in [0, 1] %}d{% endif %}
``` ```
### encoders
Настройки енкодеров. Енкодер состоит из нескольких портов, поэтому энкодеры настраиваются в отдельном блоке. Настроенный
енкодер создает в вашем интерфейсе несколько объектов:
- **light.<encoder_id>**: это rgb-свет, отвечает за светодиод енкодера
- **sensor.<encoder_id>**: это текущее значение енкодера [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 } ### allow_hosts {: #allow_hosts }
Отвечает за список хостов, с которых интеграция "слушает" сообщения. По умолчанию, в этот список Отвечает за список хостов, с которых интеграция "слушает" сообщения. По умолчанию, в этот список