mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Move generate_entity_id to entity helpers
This commit is contained in:
parent
de79a46d43
commit
53484e46a3
@ -11,7 +11,7 @@ the user has submitted configuration information.
|
|||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from homeassistant.helpers import generate_entity_id
|
from homeassistant.helpers.entity import generate_entity_id
|
||||||
from homeassistant.const import EVENT_TIME_CHANGED
|
from homeassistant.const import EVENT_TIME_CHANGED
|
||||||
|
|
||||||
DOMAIN = "configurator"
|
DOMAIN = "configurator"
|
||||||
|
@ -7,9 +7,9 @@ For more details about this component, please refer to the documentation at
|
|||||||
https://home-assistant.io/components/group/
|
https://home-assistant.io/components/group/
|
||||||
"""
|
"""
|
||||||
import homeassistant.core as ha
|
import homeassistant.core as ha
|
||||||
from homeassistant.helpers import generate_entity_id
|
|
||||||
from homeassistant.helpers.event import track_state_change
|
from homeassistant.helpers.event import track_state_change
|
||||||
from homeassistant.helpers.entity import Entity, split_entity_id
|
from homeassistant.helpers.entity import (
|
||||||
|
Entity, split_entity_id, generate_entity_id)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_ENTITY_ID, STATE_ON, STATE_OFF,
|
ATTR_ENTITY_ID, STATE_ON, STATE_OFF,
|
||||||
STATE_HOME, STATE_NOT_HOME, STATE_OPEN, STATE_CLOSED,
|
STATE_HOME, STATE_NOT_HOME, STATE_OPEN, STATE_CLOSED,
|
||||||
|
@ -10,8 +10,8 @@ import logging
|
|||||||
|
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_HIDDEN, ATTR_ICON, ATTR_LATITUDE, ATTR_LONGITUDE, CONF_NAME)
|
ATTR_HIDDEN, ATTR_ICON, ATTR_LATITUDE, ATTR_LONGITUDE, CONF_NAME)
|
||||||
from homeassistant.helpers import extract_domain_configs, generate_entity_id
|
from homeassistant.helpers import extract_domain_configs
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity, generate_entity_id
|
||||||
from homeassistant.util.location import distance
|
from homeassistant.util.location import distance
|
||||||
|
|
||||||
DOMAIN = "zone"
|
DOMAIN = "zone"
|
||||||
|
@ -3,22 +3,7 @@ Helper methods for components within Home Assistant.
|
|||||||
"""
|
"""
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from homeassistant.const import (
|
from homeassistant.const import CONF_PLATFORM
|
||||||
ATTR_ENTITY_ID, CONF_PLATFORM, DEVICE_DEFAULT_NAME)
|
|
||||||
from homeassistant.util import ensure_unique_string, slugify
|
|
||||||
|
|
||||||
|
|
||||||
def generate_entity_id(entity_id_format, name, current_ids=None, hass=None):
|
|
||||||
""" Generate a unique entity ID based on given entity IDs or used ids. """
|
|
||||||
name = name.lower() or DEVICE_DEFAULT_NAME.lower()
|
|
||||||
if current_ids is None:
|
|
||||||
if hass is None:
|
|
||||||
raise RuntimeError("Missing required parameter currentids or hass")
|
|
||||||
|
|
||||||
current_ids = hass.states.entity_ids()
|
|
||||||
|
|
||||||
return ensure_unique_string(
|
|
||||||
entity_id_format.format(slugify(name.lower())), current_ids)
|
|
||||||
|
|
||||||
|
|
||||||
def validate_config(config, items, logger):
|
def validate_config(config, items, logger):
|
||||||
|
@ -9,6 +9,7 @@ from collections import defaultdict
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
from homeassistant.exceptions import NoEntitySpecifiedError
|
from homeassistant.exceptions import NoEntitySpecifiedError
|
||||||
|
from homeassistant.util import ensure_unique_string, slugify
|
||||||
|
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_FRIENDLY_NAME, ATTR_HIDDEN, ATTR_UNIT_OF_MEASUREMENT, ATTR_ICON,
|
ATTR_FRIENDLY_NAME, ATTR_HIDDEN, ATTR_UNIT_OF_MEASUREMENT, ATTR_ICON,
|
||||||
@ -22,6 +23,19 @@ _OVERWRITE = defaultdict(dict)
|
|||||||
ENTITY_ID_PATTERN = re.compile(r"^(\w+)\.(\w+)$")
|
ENTITY_ID_PATTERN = re.compile(r"^(\w+)\.(\w+)$")
|
||||||
|
|
||||||
|
|
||||||
|
def generate_entity_id(entity_id_format, name, current_ids=None, hass=None):
|
||||||
|
""" Generate a unique entity ID based on given entity IDs or used ids. """
|
||||||
|
name = name.lower() or DEVICE_DEFAULT_NAME.lower()
|
||||||
|
if current_ids is None:
|
||||||
|
if hass is None:
|
||||||
|
raise RuntimeError("Missing required parameter currentids or hass")
|
||||||
|
|
||||||
|
current_ids = hass.states.entity_ids()
|
||||||
|
|
||||||
|
return ensure_unique_string(
|
||||||
|
entity_id_format.format(slugify(name.lower())), current_ids)
|
||||||
|
|
||||||
|
|
||||||
def split_entity_id(entity_id):
|
def split_entity_id(entity_id):
|
||||||
""" Splits a state entity_id into domain, object_id. """
|
""" Splits a state entity_id into domain, object_id. """
|
||||||
return entity_id.split(".", 1)
|
return entity_id.split(".", 1)
|
||||||
|
@ -7,7 +7,8 @@ Provides helpers for components that manage entities.
|
|||||||
from threading import Lock
|
from threading import Lock
|
||||||
|
|
||||||
from homeassistant.bootstrap import prepare_setup_platform
|
from homeassistant.bootstrap import prepare_setup_platform
|
||||||
from homeassistant.helpers import generate_entity_id, config_per_platform
|
from homeassistant.helpers import config_per_platform
|
||||||
|
from homeassistant.helpers.entity import generate_entity_id
|
||||||
from homeassistant.helpers.event import track_utc_time_change
|
from homeassistant.helpers.event import track_utc_time_change
|
||||||
from homeassistant.helpers.service import extract_entity_ids
|
from homeassistant.helpers.service import extract_entity_ids
|
||||||
from homeassistant.components import group, discovery
|
from homeassistant.components import group, discovery
|
||||||
|
Loading…
x
Reference in New Issue
Block a user