mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Remove CONF_TYPE and platform_devices_from_config
This commit is contained in:
parent
3e15742875
commit
fde0ce1997
@ -16,7 +16,7 @@ import homeassistant.util as util
|
|||||||
|
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
STATE_HOME, STATE_NOT_HOME, ATTR_ENTITY_PICTURE, ATTR_FRIENDLY_NAME,
|
STATE_HOME, STATE_NOT_HOME, ATTR_ENTITY_PICTURE, ATTR_FRIENDLY_NAME,
|
||||||
CONF_PLATFORM, CONF_TYPE)
|
CONF_PLATFORM)
|
||||||
from homeassistant.components import group
|
from homeassistant.components import group
|
||||||
|
|
||||||
DOMAIN = "device_tracker"
|
DOMAIN = "device_tracker"
|
||||||
@ -53,21 +53,11 @@ def is_on(hass, entity_id=None):
|
|||||||
def setup(hass, config):
|
def setup(hass, config):
|
||||||
""" Sets up the device tracker. """
|
""" Sets up the device tracker. """
|
||||||
|
|
||||||
# CONF_TYPE is deprecated for CONF_PLATOFRM. We keep supporting it for now.
|
if not validate_config(config, {DOMAIN: [CONF_PLATFORM]}, _LOGGER):
|
||||||
if not (validate_config(config, {DOMAIN: [CONF_PLATFORM]}, _LOGGER) or
|
|
||||||
validate_config(config, {DOMAIN: [CONF_TYPE]}, _LOGGER)):
|
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
tracker_type = config[DOMAIN].get(CONF_PLATFORM)
|
tracker_type = config[DOMAIN].get(CONF_PLATFORM)
|
||||||
|
|
||||||
if tracker_type is None:
|
|
||||||
tracker_type = config[DOMAIN][CONF_TYPE]
|
|
||||||
|
|
||||||
_LOGGER.warning((
|
|
||||||
"Please update your config for %s to use 'platform' "
|
|
||||||
"instead of 'type'"), tracker_type)
|
|
||||||
|
|
||||||
tracker_implementation = get_component(
|
tracker_implementation = get_component(
|
||||||
'device_tracker.{}'.format(tracker_type))
|
'device_tracker.{}'.format(tracker_type))
|
||||||
|
|
||||||
|
@ -9,9 +9,6 @@ DEVICE_DEFAULT_NAME = "Unnamed Device"
|
|||||||
CONF_LATITUDE = "latitude"
|
CONF_LATITUDE = "latitude"
|
||||||
CONF_LONGITUDE = "longitude"
|
CONF_LONGITUDE = "longitude"
|
||||||
|
|
||||||
# This one is deprecated. Use platform instead.
|
|
||||||
CONF_TYPE = "type"
|
|
||||||
|
|
||||||
CONF_PLATFORM = "platform"
|
CONF_PLATFORM = "platform"
|
||||||
CONF_HOST = "host"
|
CONF_HOST = "host"
|
||||||
CONF_HOSTS = "hosts"
|
CONF_HOSTS = "hosts"
|
||||||
|
@ -4,8 +4,7 @@ Helper methods for components within Home Assistant.
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from homeassistant.loader import get_component
|
from homeassistant.loader import get_component
|
||||||
from homeassistant.const import (
|
from homeassistant.const import ATTR_ENTITY_ID, CONF_PLATFORM
|
||||||
ATTR_ENTITY_ID, CONF_PLATFORM, CONF_TYPE, DEVICE_DEFAULT_NAME)
|
|
||||||
from homeassistant.util import ensure_unique_string, slugify
|
from homeassistant.util import ensure_unique_string, slugify
|
||||||
|
|
||||||
# Deprecated 3/5/2015 - Moved to homeassistant.helpers.device
|
# Deprecated 3/5/2015 - Moved to homeassistant.helpers.device
|
||||||
@ -102,15 +101,6 @@ def config_per_platform(config, domain, logger):
|
|||||||
|
|
||||||
platform_type = platform_config.get(CONF_PLATFORM)
|
platform_type = platform_config.get(CONF_PLATFORM)
|
||||||
|
|
||||||
# DEPRECATED, still supported for now.
|
|
||||||
if platform_type is None:
|
|
||||||
platform_type = platform_config.get(CONF_TYPE)
|
|
||||||
|
|
||||||
if platform_type is not None:
|
|
||||||
logger.warning((
|
|
||||||
'Please update your config for {}.{} to use "platform" '
|
|
||||||
'instead of "type"').format(domain, platform_type))
|
|
||||||
|
|
||||||
if platform_type is None:
|
if platform_type is None:
|
||||||
logger.warning('No platform specified for %s', config_key)
|
logger.warning('No platform specified for %s', config_key)
|
||||||
break
|
break
|
||||||
@ -119,60 +109,3 @@ def config_per_platform(config, domain, logger):
|
|||||||
|
|
||||||
found += 1
|
found += 1
|
||||||
config_key = "{} {}".format(domain, found)
|
config_key = "{} {}".format(domain, found)
|
||||||
|
|
||||||
|
|
||||||
def platform_devices_from_config(config, domain, hass,
|
|
||||||
entity_id_format, logger):
|
|
||||||
|
|
||||||
""" Parses the config for specified domain.
|
|
||||||
Loads different platforms and retrieve domains. """
|
|
||||||
devices = []
|
|
||||||
|
|
||||||
for p_type, p_config in config_per_platform(config, domain, logger):
|
|
||||||
platform = get_component('{}.{}'.format(domain, p_type))
|
|
||||||
|
|
||||||
if platform is None:
|
|
||||||
logger.error("Unknown %s type specified: %s", domain, p_type)
|
|
||||||
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
p_devices = platform.get_devices(hass, p_config)
|
|
||||||
except AttributeError:
|
|
||||||
# DEPRECATED, still supported for now
|
|
||||||
logger.warning(
|
|
||||||
'Platform %s should migrate to use the method get_devices',
|
|
||||||
p_type)
|
|
||||||
|
|
||||||
if domain == 'light':
|
|
||||||
p_devices = platform.get_lights(hass, p_config)
|
|
||||||
elif domain == 'switch':
|
|
||||||
p_devices = platform.get_switches(hass, p_config)
|
|
||||||
else:
|
|
||||||
raise
|
|
||||||
|
|
||||||
logger.info("Found %d %s %ss", len(p_devices), p_type, domain)
|
|
||||||
|
|
||||||
devices.extend(p_devices)
|
|
||||||
|
|
||||||
# Setup entity IDs for each device
|
|
||||||
device_dict = {}
|
|
||||||
|
|
||||||
no_name_count = 0
|
|
||||||
|
|
||||||
for device in devices:
|
|
||||||
device.hass = hass
|
|
||||||
|
|
||||||
# Get the name or set to default if none given
|
|
||||||
name = device.name or DEVICE_DEFAULT_NAME
|
|
||||||
|
|
||||||
if name == DEVICE_DEFAULT_NAME:
|
|
||||||
no_name_count += 1
|
|
||||||
name = "{} {}".format(domain, no_name_count)
|
|
||||||
|
|
||||||
entity_id = generate_entity_id(
|
|
||||||
entity_id_format, name, device_dict.keys())
|
|
||||||
|
|
||||||
device.entity_id = entity_id
|
|
||||||
device_dict[entity_id] = device
|
|
||||||
|
|
||||||
return device_dict
|
|
||||||
|
@ -11,7 +11,7 @@ import os
|
|||||||
import homeassistant.loader as loader
|
import homeassistant.loader as loader
|
||||||
import homeassistant.util as util
|
import homeassistant.util as util
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_ENTITY_ID, STATE_ON, STATE_OFF, CONF_TYPE,
|
ATTR_ENTITY_ID, STATE_ON, STATE_OFF, CONF_PLATFORM,
|
||||||
SERVICE_TURN_ON, SERVICE_TURN_OFF)
|
SERVICE_TURN_ON, SERVICE_TURN_OFF)
|
||||||
import homeassistant.components.light as light
|
import homeassistant.components.light as light
|
||||||
|
|
||||||
@ -101,7 +101,7 @@ class TestLight(unittest.TestCase):
|
|||||||
|
|
||||||
platform.init()
|
platform.init()
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
light.setup(self.hass, {light.DOMAIN: {CONF_TYPE: 'test'}}))
|
light.setup(self.hass, {light.DOMAIN: {CONF_PLATFORM: 'test'}}))
|
||||||
|
|
||||||
dev1, dev2, dev3 = platform.DEVICES
|
dev1, dev2, dev3 = platform.DEVICES
|
||||||
|
|
||||||
@ -226,7 +226,7 @@ class TestLight(unittest.TestCase):
|
|||||||
user_file.write('I,WILL,NOT,WORK\n')
|
user_file.write('I,WILL,NOT,WORK\n')
|
||||||
|
|
||||||
self.assertFalse(light.setup(
|
self.assertFalse(light.setup(
|
||||||
self.hass, {light.DOMAIN: {CONF_TYPE: 'test'}}
|
self.hass, {light.DOMAIN: {CONF_PLATFORM: 'test'}}
|
||||||
))
|
))
|
||||||
|
|
||||||
def test_light_profiles(self):
|
def test_light_profiles(self):
|
||||||
@ -241,7 +241,7 @@ class TestLight(unittest.TestCase):
|
|||||||
user_file.write('test,.4,.6,100\n')
|
user_file.write('test,.4,.6,100\n')
|
||||||
|
|
||||||
self.assertTrue(light.setup(
|
self.assertTrue(light.setup(
|
||||||
self.hass, {light.DOMAIN: {CONF_TYPE: 'test'}}
|
self.hass, {light.DOMAIN: {CONF_PLATFORM: 'test'}}
|
||||||
))
|
))
|
||||||
|
|
||||||
dev1, dev2, dev3 = platform.DEVICES
|
dev1, dev2, dev3 = platform.DEVICES
|
||||||
|
Loading…
x
Reference in New Issue
Block a user