Compare commits

...

3 Commits

Author SHA1 Message Date
Andrey
804a6ad333 add proxy support 2021-02-19 11:10:34 +03:00
Andrey
a3398d0f2a add proxy support 2021-02-19 10:47:08 +03:00
Andrey
1e8777ca6d add proxy support 2021-02-19 10:39:15 +03:00
7 changed files with 22 additions and 9 deletions

View File

@@ -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, False)): bool,
# vol.Optional(CONF_INVERT, default=''): str,
}),
)

View File

@@ -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:

View File

@@ -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%]"
}
}

View File

@@ -22,8 +22,9 @@
"port_to_scan": "Port to poll aliveness (needed only if no sensors used)",
"nports": "Number of ports",
"update_all": "Update all outs when input",
"mqtt_inputs": "Use MQTT",
"mqtt_inputs": "Use MQTT (Deprecated)",
"fake_response": "Fake response",
"force_d": "Force 'd' response",
"poll_outs": "Poll outs"
}
}
@@ -36,9 +37,10 @@
"scan_interval": "Scan interval (sec), 0 - don't update",
"port_to_scan": "Port to poll aliveness (needed only if no sensors used)",
"reload": "Reload objects",
"mqtt_inputs": "Use MQTT",
"mqtt_inputs": "Use MQTT (Deprecated)",
"update_all": "Update all outs when input",
"fake_response": "Fake response",
"force_d": "Force 'd' response",
"poll_outs": "Poll outs"
}
}

View File

@@ -19,10 +19,11 @@
"mqtt_id": "MQTT id",
"scan_interval": "Периодичность обновлений (сек.), 0 - не обновлять",
"port_to_scan": "Порт, который сканируется когда нет датчиков",
"mqtt_inputs": "Использовать MQTT",
"mqtt_inputs": "Использовать MQTT (Не рекомендуется)",
"nports": "Кол-во портов",
"update_all": "Обновить все выходы когда срабатывает вход",
"fake_response": "Имитация http-ответа",
"force_d": "Ответ 'd' по умолчанию",
"poll_outs": "Обновлять выходы (регулярно)"
}
}
@@ -36,8 +37,9 @@
"port_to_scan": "Порт, который сканируется когда нет датчиков",
"reload": "Обновить объекты",
"invert": "Список портов (через ,) с инвертированной логикой",
"mqtt_inputs": "Использовать MQTT",
"mqtt_inputs": "Использовать MQTT (Не рекомендуется)",
"fake_response": "Имитация http-ответа",
"force_d": "Ответ 'd' по умолчанию",
"nports": "Кол-во портов",
"update_all": "Обновить все выходы когда срабатывает вход",
"poll_outs": "Обновлять выходы (регулярно)"

View File

@@ -19,10 +19,11 @@
"mqtt_id": "MQTT id",
"scan_interval": "Період оновлення (сек.), 0 - не оновлювати",
"port_to_scan": "Порт для сканування при відсутності датчиків",
"mqtt_inputs": "Використовувати MQTT",
"mqtt_inputs": "Використовувати MQTT (Deprecated)",
"nports": "Кількість портів",
"update_all": "Оновити всі виходи коли спрацьовує вхід",
"fake_response": "Имитация http-ответа",
"force_d": "Ответ 'd' по умолчанию",
"poll_outs": "Оновити виходи"
}
}
@@ -36,9 +37,10 @@
"port_to_scan": "Порт для сканування при відсутності датчиків",
"reload": "Оновити об'єкти",
"invert": "Список портів з інвертованою логікою (через ,)",
"mqtt_inputs": "Використовувати MQTT",
"mqtt_inputs": "Використовувати MQTT (Deprecated)",
"nports": "Кількість портів",
"fake_response": "Имитация http-ответа",
"force_d": "Ответ 'd' по умолчанию",
"update_all": "Оновити всі виходи коли спрацьовує вхід",
"poll_outs": "Оновити виходи"
}

View File

@@ -62,7 +62,7 @@ script: "mega" # это api интеграции, к которому будет
## Зависимости
Для максимальной скорости реакции на команды сервера, рекомендуется выключить `имитацию http-ответа` в
настройках интеграции и настроить proxy_pass к HA, самый простой способ сделать это - воспользоваться
[специальным аддоном](https://github.com/andvikt/mega_addon/tree/master/mega-updater)
[специальным аддоном](https://github.com/andvikt/mega_addon/tree/master/mega-proxy)
Обновить ваш контроллер до последней версии, обновление прошивки MegaD можно делать
из HA с помощью [аддона](https://github.com/andvikt/mega_addon.git)