mirror of
https://github.com/andvikt/mega_hacs.git
synced 2025-12-11 17:14:28 +05:00
add sync_time
This commit is contained in:
@@ -11,7 +11,7 @@ from homeassistant.const import CONF_HOST, CONF_ID, CONF_PASSWORD, CONF_SCAN_INT
|
|||||||
from homeassistant.core import callback, HomeAssistant
|
from homeassistant.core import callback, HomeAssistant
|
||||||
from .const import DOMAIN, CONF_PORT_TO_SCAN, CONF_RELOAD, PLATFORMS, CONF_MQTT_INPUTS, \
|
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, CONF_FORCE_D, \
|
CONF_NPORTS, CONF_UPDATE_ALL, CONF_POLL_OUTS, CONF_FAKE_RESPONSE, CONF_FORCE_D, \
|
||||||
CONF_ALLOW_HOSTS, CONF_PROTECTED, CONF_RESTORE_ON_RESTART # pylint:disable=unused-import
|
CONF_ALLOW_HOSTS, CONF_PROTECTED, CONF_RESTORE_ON_RESTART, CONF_UPDATE_TIME # pylint:disable=unused-import
|
||||||
from .hub import MegaD
|
from .hub import MegaD
|
||||||
from . import exceptions
|
from . import exceptions
|
||||||
|
|
||||||
@@ -33,6 +33,7 @@ STEP_USER_DATA_SCHEMA = vol.Schema(
|
|||||||
vol.Optional(CONF_RESTORE_ON_RESTART, default=True): bool,
|
vol.Optional(CONF_RESTORE_ON_RESTART, default=True): bool,
|
||||||
vol.Optional(CONF_PROTECTED, default=True): bool,
|
vol.Optional(CONF_PROTECTED, default=True): bool,
|
||||||
vol.Optional(CONF_ALLOW_HOSTS, default='::1;127.0.0.1'): str,
|
vol.Optional(CONF_ALLOW_HOSTS, default='::1;127.0.0.1'): str,
|
||||||
|
vol.Optional(CONF_UPDATE_TIME, default=True): bool,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -152,6 +153,7 @@ class OptionsFlowHandler(config_entries.OptionsFlow):
|
|||||||
vol.Optional(CONF_RESTORE_ON_RESTART, default=e.get(CONF_RESTORE_ON_RESTART, False)): bool,
|
vol.Optional(CONF_RESTORE_ON_RESTART, default=e.get(CONF_RESTORE_ON_RESTART, False)): bool,
|
||||||
vol.Optional(CONF_PROTECTED, default=e.get(CONF_PROTECTED, True)): bool,
|
vol.Optional(CONF_PROTECTED, default=e.get(CONF_PROTECTED, True)): bool,
|
||||||
vol.Optional(CONF_ALLOW_HOSTS, default='::1;127.0.0.1'): str,
|
vol.Optional(CONF_ALLOW_HOSTS, default='::1;127.0.0.1'): str,
|
||||||
|
vol.Optional(CONF_UPDATE_TIME, default=e.get(CONF_UPDATE_TIME, False)): bool,
|
||||||
# vol.Optional(CONF_INVERT, default=''): str,
|
# vol.Optional(CONF_INVERT, default=''): str,
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ CONF_RESTORE_ON_RESTART = 'restore_on_restart'
|
|||||||
CONF_CLICK_TIME = 'click_time'
|
CONF_CLICK_TIME = 'click_time'
|
||||||
CONF_LONG_TIME = 'long_time'
|
CONF_LONG_TIME = 'long_time'
|
||||||
CONF_FORCE_I2C_SCAN = 'force_i2c_scan'
|
CONF_FORCE_I2C_SCAN = 'force_i2c_scan'
|
||||||
|
CONF_UPDATE_TIME = 'update_time'
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
"light",
|
"light",
|
||||||
"switch",
|
"switch",
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ class MegaD:
|
|||||||
ext_acts=None,
|
ext_acts=None,
|
||||||
i2c_sensors=None,
|
i2c_sensors=None,
|
||||||
new_naming=False,
|
new_naming=False,
|
||||||
|
update_time=False,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize."""
|
"""Initialize."""
|
||||||
@@ -105,6 +106,7 @@ class MegaD:
|
|||||||
self.ext_in = ext_in or {}
|
self.ext_in = ext_in or {}
|
||||||
self.ext_act = ext_acts or {}
|
self.ext_act = ext_acts or {}
|
||||||
self.i2c_sensors = i2c_sensors or []
|
self.i2c_sensors = i2c_sensors or []
|
||||||
|
self._update_time = update_time
|
||||||
self.poll_outs = poll_outs
|
self.poll_outs = poll_outs
|
||||||
self.update_all = update_all if update_all is not None else True
|
self.update_all = update_all if update_all is not None else True
|
||||||
self.nports = nports
|
self.nports = nports
|
||||||
@@ -250,6 +252,8 @@ class MegaD:
|
|||||||
Polling ports
|
Polling ports
|
||||||
"""
|
"""
|
||||||
self.lg.debug('poll')
|
self.lg.debug('poll')
|
||||||
|
if self._update_time:
|
||||||
|
await self.update_time()
|
||||||
for x in self.i2c_sensors:
|
for x in self.i2c_sensors:
|
||||||
if not isinstance(x, dict):
|
if not isinstance(x, dict):
|
||||||
continue
|
continue
|
||||||
@@ -649,4 +653,8 @@ class MegaD:
|
|||||||
else:
|
else:
|
||||||
await x.async_turn_off()
|
await x.async_turn_off()
|
||||||
|
|
||||||
|
async def update_time(self):
|
||||||
|
await self.request(
|
||||||
|
cf=7,
|
||||||
|
stime=datetime.now().strftime('%H:%M:%S')
|
||||||
|
)
|
||||||
@@ -20,7 +20,9 @@
|
|||||||
"protected": "[%key:common::config_flow::data::protected%]",
|
"protected": "[%key:common::config_flow::data::protected%]",
|
||||||
"allow_hosts": "[%key:common::config_flow::data::allow_hosts%]",
|
"allow_hosts": "[%key:common::config_flow::data::allow_hosts%]",
|
||||||
"restore_on_restart": "[%key:common::config_flow::data::restore_on_restart%]",
|
"restore_on_restart": "[%key:common::config_flow::data::restore_on_restart%]",
|
||||||
"poll_outs": "[%key:common::config_flow::data::poll_outs%]"
|
"poll_outs": "[%key:common::config_flow::data::poll_outs%]",
|
||||||
|
"update_time": "[%key:common::config_flow::data::update_time%]"
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -28,7 +28,8 @@
|
|||||||
"protected": "Protected",
|
"protected": "Protected",
|
||||||
"allow_hosts": "Allowed hosts",
|
"allow_hosts": "Allowed hosts",
|
||||||
"restore_on_restart": "Restore outs on restart",
|
"restore_on_restart": "Restore outs on restart",
|
||||||
"poll_outs": "Poll outs"
|
"poll_outs": "Poll outs",
|
||||||
|
"update_time": "Sync time"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -47,7 +48,8 @@
|
|||||||
"protected": "Protected",
|
"protected": "Protected",
|
||||||
"allow_hosts": "Allowed hosts",
|
"allow_hosts": "Allowed hosts",
|
||||||
"restore_on_restart": "Restore outs on restart",
|
"restore_on_restart": "Restore outs on restart",
|
||||||
"poll_outs": "Poll outs"
|
"poll_outs": "Poll outs",
|
||||||
|
"update_time": "Sync time"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,8 @@
|
|||||||
"protected": "Блокировать неразрешенные соединения",
|
"protected": "Блокировать неразрешенные соединения",
|
||||||
"restore_on_restart": "Восстанавливать выходы при перезагрузке",
|
"restore_on_restart": "Восстанавливать выходы при перезагрузке",
|
||||||
"allow_hosts": "Разрешенные ip (через ;)",
|
"allow_hosts": "Разрешенные ip (через ;)",
|
||||||
"poll_outs": "Обновлять выходы (регулярно)"
|
"poll_outs": "Обновлять выходы (регулярно)",
|
||||||
|
"update_time": "Синхронизировать время"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -48,7 +49,8 @@
|
|||||||
"protected": "Блокировать неразрешенные соединения",
|
"protected": "Блокировать неразрешенные соединения",
|
||||||
"allow_hosts": "Разрешенные ip (через ;)",
|
"allow_hosts": "Разрешенные ip (через ;)",
|
||||||
"restore_on_restart": "Восстанавливать выходы при перезагрузке",
|
"restore_on_restart": "Восстанавливать выходы при перезагрузке",
|
||||||
"poll_outs": "Обновлять выходы (регулярно)"
|
"poll_outs": "Обновлять выходы (регулярно)",
|
||||||
|
"update_time": "Синхронизировать время"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,8 @@
|
|||||||
"protected": "Блокувати недозволені з'єднання",
|
"protected": "Блокувати недозволені з'єднання",
|
||||||
"allow_hosts": "Дозволені ip (через ;)",
|
"allow_hosts": "Дозволені ip (через ;)",
|
||||||
"restore_on_restart": "Відновлювати виходи при перезавантаженні",
|
"restore_on_restart": "Відновлювати виходи при перезавантаженні",
|
||||||
"poll_outs": "Оновити виходи"
|
"poll_outs": "Оновити виходи",
|
||||||
|
"update_time": "Осинхронізувати час"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user