From 1e8777ca6d55de9d88fc7d9949d86c4fe5e02ecc Mon Sep 17 00:00:00 2001 From: Andrey Date: Fri, 19 Feb 2021 10:39:15 +0300 Subject: [PATCH] add proxy support --- custom_components/mega/config_flow.py | 6 ++++-- custom_components/mega/hub.py | 4 ++++ custom_components/mega/strings.json | 1 + custom_components/mega/translations/en.json | 2 ++ custom_components/mega/translations/ru.json | 2 ++ custom_components/mega/translations/uk.json | 2 ++ 6 files changed, 15 insertions(+), 2 deletions(-) diff --git a/custom_components/mega/config_flow.py b/custom_components/mega/config_flow.py index a96c179..b9bdda1 100644 --- a/custom_components/mega/config_flow.py +++ b/custom_components/mega/config_flow.py @@ -10,7 +10,7 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_HOST, CONF_ID, CONF_PASSWORD, CONF_SCAN_INTERVAL from homeassistant.core import callback, HomeAssistant from .const import DOMAIN, CONF_PORT_TO_SCAN, CONF_RELOAD, PLATFORMS, CONF_MQTT_INPUTS, \ - CONF_NPORTS, CONF_UPDATE_ALL, CONF_POLL_OUTS, CONF_FAKE_RESPONSE # pylint:disable=unused-import + CONF_NPORTS, CONF_UPDATE_ALL, CONF_POLL_OUTS, CONF_FAKE_RESPONSE, CONF_FORCE_D # pylint:disable=unused-import from .hub import MegaD from . import exceptions @@ -24,10 +24,11 @@ STEP_USER_DATA_SCHEMA = vol.Schema( vol.Optional(CONF_SCAN_INTERVAL, default=0): int, vol.Optional(CONF_POLL_OUTS, default=False): bool, vol.Optional(CONF_PORT_TO_SCAN, default=0): int, - vol.Optional(CONF_MQTT_INPUTS, default=True): bool, + vol.Optional(CONF_MQTT_INPUTS, default=False): bool, vol.Optional(CONF_NPORTS, default=37): int, vol.Optional(CONF_UPDATE_ALL, default=True): bool, vol.Optional(CONF_FAKE_RESPONSE, default=True): bool, + vol.Optional(CONF_FORCE_D, default=True): bool, }, ) @@ -140,6 +141,7 @@ class OptionsFlowHandler(config_entries.OptionsFlow): vol.Optional(CONF_RELOAD, default=False): bool, vol.Optional(CONF_UPDATE_ALL, default=e.get(CONF_UPDATE_ALL, True)): bool, vol.Optional(CONF_FAKE_RESPONSE, default=e.get(CONF_FAKE_RESPONSE, True)): bool, + vol.Optional(CONF_FORCE_D, default=e.get(CONF_FORCE_D, True)): bool, # vol.Optional(CONF_INVERT, default=''): str, }), ) diff --git a/custom_components/mega/hub.py b/custom_components/mega/hub.py index 4ec075c..ab81edc 100644 --- a/custom_components/mega/hub.py +++ b/custom_components/mega/hub.py @@ -76,6 +76,7 @@ class MegaD: update_all=True, poll_outs=False, fake_response=True, + force_d=None, **kwargs, ): """Initialize.""" @@ -130,6 +131,9 @@ class MegaD: else: self.mqtt_id = mqtt_id + if force_d is not None: + self.customize[CONF_FORCE_D] = force_d + async def start(self): self.loop = asyncio.get_event_loop() if self.mqtt is not None: diff --git a/custom_components/mega/strings.json b/custom_components/mega/strings.json index 979a1dd..a307198 100644 --- a/custom_components/mega/strings.json +++ b/custom_components/mega/strings.json @@ -16,6 +16,7 @@ "nports": "[%key:common::config_flow::data::nports%]", "update_all": "[%key:common::config_flow::data::update_all%]", "fake_response": "[%key:common::config_flow::data::fake_response%]", + "force_d": "[%key:common::config_flow::data::force_d%]", "poll_outs": "[%key:common::config_flow::data::poll_outs%]" } } diff --git a/custom_components/mega/translations/en.json b/custom_components/mega/translations/en.json index d692296..7b6c115 100644 --- a/custom_components/mega/translations/en.json +++ b/custom_components/mega/translations/en.json @@ -24,6 +24,7 @@ "update_all": "Update all outs when input", "mqtt_inputs": "Use MQTT", "fake_response": "Fake response", + "force_d": "Force 'd' response", "poll_outs": "Poll outs" } } @@ -39,6 +40,7 @@ "mqtt_inputs": "Use MQTT", "update_all": "Update all outs when input", "fake_response": "Fake response", + "force_d": "Force 'd' response", "poll_outs": "Poll outs" } } diff --git a/custom_components/mega/translations/ru.json b/custom_components/mega/translations/ru.json index 45048fc..76f50af 100644 --- a/custom_components/mega/translations/ru.json +++ b/custom_components/mega/translations/ru.json @@ -23,6 +23,7 @@ "nports": "Кол-во портов", "update_all": "Обновить все выходы когда срабатывает вход", "fake_response": "Имитация http-ответа", + "force_d": "Ответ 'd' по умолчанию", "poll_outs": "Обновлять выходы (регулярно)" } } @@ -38,6 +39,7 @@ "invert": "Список портов (через ,) с инвертированной логикой", "mqtt_inputs": "Использовать MQTT", "fake_response": "Имитация http-ответа", + "force_d": "Ответ 'd' по умолчанию", "nports": "Кол-во портов", "update_all": "Обновить все выходы когда срабатывает вход", "poll_outs": "Обновлять выходы (регулярно)" diff --git a/custom_components/mega/translations/uk.json b/custom_components/mega/translations/uk.json index d71481e..565807c 100644 --- a/custom_components/mega/translations/uk.json +++ b/custom_components/mega/translations/uk.json @@ -23,6 +23,7 @@ "nports": "Кількість портів", "update_all": "Оновити всі виходи коли спрацьовує вхід", "fake_response": "Имитация http-ответа", + "force_d": "Ответ 'd' по умолчанию", "poll_outs": "Оновити виходи" } } @@ -39,6 +40,7 @@ "mqtt_inputs": "Використовувати MQTT", "nports": "Кількість портів", "fake_response": "Имитация http-ответа", + "force_d": "Ответ 'd' по умолчанию", "update_all": "Оновити всі виходи коли спрацьовує вхід", "poll_outs": "Оновити виходи" }