mirror of
https://github.com/andvikt/mega_hacs.git
synced 2025-12-12 17:44:28 +05:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2c2b3aab74 | ||
|
|
a77794dff7 | ||
|
|
ebb513b83d |
@@ -1,5 +1,5 @@
|
||||
[bumpversion]
|
||||
current_version = 1.1.0
|
||||
current_version = 1.1.1b0
|
||||
parse = (?P<major>\d+)(\.(?P<minor>\d+))(\.(?P<patch>\d+))(?P<release>[bf]*)(?P<build>\d*)
|
||||
commit = True
|
||||
tag = True
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"""The mega integration."""
|
||||
import asyncio
|
||||
import logging
|
||||
import typing
|
||||
from functools import partial
|
||||
|
||||
import voluptuous as vol
|
||||
@@ -83,10 +84,10 @@ CUSTOMIZE_PORT = {
|
||||
vol.Optional(CONF_VALUE_TEMPLATE): cv.template,
|
||||
vol.Optional(CONF_FORCE_I2C_SCAN): bool,
|
||||
vol.Optional(CONF_HEX_TO_FLOAT): bool,
|
||||
vol.Optional(CONF_FILTER_VALUES): [cv.positive_float],
|
||||
vol.Optional(CONF_FILTER_SCALE): cv.positive_float,
|
||||
vol.Optional(CONF_FILTER_LOW): cv.positive_float,
|
||||
vol.Optional(CONF_FILTER_HIGH): cv.positive_float,
|
||||
vol.Optional(CONF_FILTER_VALUES): [vol.Coerce(float)],
|
||||
vol.Optional(CONF_FILTER_SCALE): vol.Coerce(float),
|
||||
vol.Optional(CONF_FILTER_LOW): vol.Coerce(float),
|
||||
vol.Optional(CONF_FILTER_HIGH): vol.Coerce(float),
|
||||
vol.Optional(CONF_SMOOTH): cv.time_period_seconds,
|
||||
# vol.Optional(CONF_RANGE): vol.ExactSequence([int, int]), TODO: сделать отбрасывание "плохих" значений
|
||||
vol.Optional(str): {
|
||||
|
||||
@@ -63,7 +63,7 @@ async def validate_input(hass: core.HomeAssistant, data):
|
||||
class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
||||
"""Handle a config flow for mega."""
|
||||
|
||||
VERSION = 25
|
||||
VERSION = 26
|
||||
CONNECTION_CLASS = config_entries.CONN_CLASS_ASSUMED
|
||||
|
||||
async def async_step_user(self, user_input=None):
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from dataclasses import dataclass, field
|
||||
import typing
|
||||
from dataclasses import dataclass, field, astuple
|
||||
from urllib.parse import parse_qsl, urlparse
|
||||
from bs4 import BeautifulSoup
|
||||
from homeassistant.const import (
|
||||
@@ -15,7 +16,15 @@ from homeassistant.const import (
|
||||
)
|
||||
from collections import namedtuple
|
||||
|
||||
DeviceType = namedtuple('DeviceType', 'device_class,unit_of_measurement,suffix')
|
||||
# DeviceType = namedtuple('DeviceType', 'device_class,unit_of_measurement,suffix')
|
||||
|
||||
@dataclass
|
||||
class DeviceType:
|
||||
|
||||
device_class: typing.Optional[str] = None
|
||||
unit_of_measurement: typing.Optional[str] = None
|
||||
suffix: typing.Optional[str] = None
|
||||
delay: typing.Optional[float] = None
|
||||
|
||||
|
||||
def parse_scan_page(page: str):
|
||||
@@ -44,7 +53,9 @@ def parse_scan_page(page: str):
|
||||
req.append(params)
|
||||
continue
|
||||
elif isinstance(c, DeviceType):
|
||||
c, m, suffix = c
|
||||
c, m, suffix, delay = astuple(c)
|
||||
if delay is not None:
|
||||
params['delay'] = delay
|
||||
else:
|
||||
continue
|
||||
suffix = suffix or c
|
||||
@@ -83,7 +94,7 @@ i2c_classes = {
|
||||
DeviceType(DEVICE_CLASS_TEMPERATURE, TEMP_CELSIUS, None),
|
||||
],
|
||||
'sht31': [
|
||||
DeviceType(DEVICE_CLASS_HUMIDITY, PERCENTAGE, None),
|
||||
DeviceType(DEVICE_CLASS_HUMIDITY, PERCENTAGE, None, delay=0.5),
|
||||
DeviceType(DEVICE_CLASS_TEMPERATURE, TEMP_CELSIUS, None),
|
||||
],
|
||||
'max44009': [
|
||||
|
||||
@@ -15,5 +15,5 @@
|
||||
"@andvikt"
|
||||
],
|
||||
"issue_tracker": "https://github.com/andvikt/mega_hacs/issues",
|
||||
"version": "v1.1.0"
|
||||
"version": "v1.1.1b0"
|
||||
}
|
||||
@@ -83,6 +83,9 @@ mega:
|
||||
диммера набирает от 0 до 100%
|
||||
- **range** (list[int, int], [0, 255]), *начиная с версии 1.1.0*: границы диммирования в абсолютных единицах 0..255. При диммировании 1%
|
||||
будет равен левой границе, 100% - правой.
|
||||
```yaml
|
||||
range: [20, 200]
|
||||
```
|
||||
[Подробнее про плавное диммирование](smooth.md)
|
||||
### MegaD-16R-XT, MegaD-16PWM
|
||||
Порты расширителей MegaD-16R-XT, MegaD-16PWM конфигурируются аналогично обычным реле и диммерам, но адресация порта
|
||||
|
||||
Reference in New Issue
Block a user