1
0
mirror of https://github.com/esphome/esphome.git synced 2025-03-13 14:18:14 +00:00

Pass the name to the log runner when available

When connecting by IP, by passing the name, we can reconnect quicker
if the device goes offline while running logs since we can use the
zeroconf logic to watch for the device to come back online
This commit is contained in:
J. Nick Koston 2023-11-15 00:53:59 -06:00
parent 20ea8bf06e
commit 4c894270db
No known key found for this signature in database

View File

@ -18,9 +18,10 @@ from . import CONF_ENCRYPTION
_LOGGER = logging.getLogger(__name__)
async def async_run_logs(config, address):
async def async_run_logs(config: dict[str, Any], address: str) -> None:
"""Run the logs command in the event loop."""
conf = config["api"]
name = config["esphome"].get("name")
port: int = int(conf[CONF_PORT])
password: str = conf[CONF_PASSWORD]
noise_psk: str | None = None
@ -28,7 +29,6 @@ async def async_run_logs(config, address):
noise_psk = conf[CONF_ENCRYPTION][CONF_KEY]
_LOGGER.info("Starting log output from %s using esphome API", address)
aiozc = AsyncZeroconf()
cli = APIClient(
address,
port,
@ -48,7 +48,7 @@ async def async_run_logs(config, address):
text = text.replace("\033", "\\033")
print(f"[{time_.hour:02}:{time_.minute:02}:{time_.second:02}]{text}")
stop = await async_run(cli, on_log, aio_zeroconf_instance=aiozc)
stop = await async_run(cli, on_log, aio_zeroconf_instance=aiozc, name=name)
try:
while True:
await asyncio.sleep(60)