From 8cf000beaec89bd1da374a2fac6c69027797a9db Mon Sep 17 00:00:00 2001 From: Andrey Date: Fri, 5 Feb 2021 21:06:27 +0300 Subject: [PATCH] fix get_port --- custom_components/mega/__init__.py | 7 +++++-- readme.md | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/custom_components/mega/__init__.py b/custom_components/mega/__init__.py index 304fff2..115358c 100644 --- a/custom_components/mega/__init__.py +++ b/custom_components/mega/__init__.py @@ -219,9 +219,12 @@ async def _get_port(hass: HomeAssistant, call: ServiceCall): if not isinstance(hub, MegaD): continue if port is None: - await hub.get_all_ports() - else: + await hub.get_all_ports(check_skip=True) + elif isinstance(port, int): await hub.get_port(port) + elif isinstance(port, list): + for x in port: + await hub.get_port(x) @bind_hass diff --git a/readme.md b/readme.md index f5e255a..aea5491 100644 --- a/readme.md +++ b/readme.md @@ -155,12 +155,15 @@ mega: ``` Возможные варианты поля `type`: - `long`: долгое нажатие -- `release`: размыкание (с гарантией что не было долгого нажатия) +- `release`: размыкание (с гарантией** что не было долгого нажатия) - `long_release`: размыкание после долгого нажатия - `press`: замыкание - `single`: одинарный клик (в режиме кликов) - `double`: двойной клик +**гарантия есть только при использовании http-метода синхронизации, mqtt не гарантирует порядок доставки сообщений, хотя +маловероятно, что порядок будет нарушен, но все же сам протокол не дает таких гарантий. + Чтобы понять, какие события происходят, лучше всего воспользоваться панелью разработчика и подписаться на вкладке события на событие `mega.sensor`, понажимать кнопки.