1
0
mirror of https://github.com/home-assistant/core.git synced 2025-12-24 21:06:19 +00:00

Met, check for existing location (#26400)

This commit is contained in:
Daniel Høyer Iversen
2019-09-04 09:13:17 +03:00
committed by Paulus Schoutsen
parent 22d3cf4117
commit b9923ca109
4 changed files with 18 additions and 8 deletions

View File

@@ -12,9 +12,15 @@ from .const import DOMAIN, HOME_LOCATION_NAME, CONF_TRACK_HOME
@callback
def configured_instances(hass):
"""Return a set of configured SimpliSafe instances."""
return set(
entry.data[CONF_NAME] for entry in hass.config_entries.async_entries(DOMAIN)
)
entites = []
for entry in hass.config_entries.async_entries(DOMAIN):
if entry.data.get("track_home"):
entites.append("home")
continue
entites.append(
f"{entry.data.get(CONF_LATITUDE)}-{entry.data.get(CONF_LONGITUDE)}"
)
return set(entites)
class MetFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
@@ -32,11 +38,13 @@ class MetFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
self._errors = {}
if user_input is not None:
if user_input[CONF_NAME] not in configured_instances(self.hass):
if (
f"{user_input.get(CONF_LATITUDE)}-{user_input.get(CONF_LONGITUDE)}"
not in configured_instances(self.hass)
):
return self.async_create_entry(
title=user_input[CONF_NAME], data=user_input
)
self._errors[CONF_NAME] = "name_exists"
return await self._show_config_form(