mirror of
https://github.com/home-assistant/core.git
synced 2025-07-26 06:37:52 +00:00
Fix zones (#3413)
This commit is contained in:
parent
0a6f496425
commit
c23ad3e285
@ -37,16 +37,15 @@ ICON_IMPORT = 'mdi:import'
|
|||||||
|
|
||||||
STATE = 'zoning'
|
STATE = 'zoning'
|
||||||
|
|
||||||
CONFIG_SCHEMA = vol.Schema({
|
# The config that zone accepts is the same as if it has platforms.
|
||||||
DOMAIN: vol.Schema({
|
PLATFORM_SCHEMA = vol.Schema({
|
||||||
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
||||||
vol.Required(CONF_LATITUDE): cv.latitude,
|
vol.Required(CONF_LATITUDE): cv.latitude,
|
||||||
vol.Required(CONF_LONGITUDE): cv.longitude,
|
vol.Required(CONF_LONGITUDE): cv.longitude,
|
||||||
vol.Optional(CONF_RADIUS, default=DEFAULT_RADIUS): vol.Coerce(float),
|
vol.Optional(CONF_RADIUS, default=DEFAULT_RADIUS): vol.Coerce(float),
|
||||||
vol.Optional(CONF_PASSIVE, default=DEFAULT_PASSIVE): cv.boolean,
|
vol.Optional(CONF_PASSIVE, default=DEFAULT_PASSIVE): cv.boolean,
|
||||||
vol.Optional(CONF_ICON): cv.icon,
|
vol.Optional(CONF_ICON): cv.icon,
|
||||||
}),
|
})
|
||||||
}, extra=vol.ALLOW_EXTRA)
|
|
||||||
|
|
||||||
|
|
||||||
def active_zone(hass, latitude, longitude, radius=0):
|
def active_zone(hass, latitude, longitude, radius=0):
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
"""Test zone component."""
|
"""Test zone component."""
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from homeassistant import bootstrap
|
||||||
from homeassistant.components import zone
|
from homeassistant.components import zone
|
||||||
|
|
||||||
from tests.common import get_test_home_assistant
|
from tests.common import get_test_home_assistant
|
||||||
@ -26,7 +27,7 @@ class TestComponentZone(unittest.TestCase):
|
|||||||
'radius': 250,
|
'radius': 250,
|
||||||
'passive': True
|
'passive': True
|
||||||
}
|
}
|
||||||
assert zone.setup(self.hass, {
|
assert bootstrap.setup_component(self.hass, zone.DOMAIN, {
|
||||||
'zone': info
|
'zone': info
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -39,7 +40,7 @@ class TestComponentZone(unittest.TestCase):
|
|||||||
|
|
||||||
def test_active_zone_skips_passive_zones(self):
|
def test_active_zone_skips_passive_zones(self):
|
||||||
"""Test active and passive zones."""
|
"""Test active and passive zones."""
|
||||||
assert zone.setup(self.hass, {
|
assert bootstrap.setup_component(self.hass, zone.DOMAIN, {
|
||||||
'zone': [
|
'zone': [
|
||||||
{
|
{
|
||||||
'name': 'Passive Zone',
|
'name': 'Passive Zone',
|
||||||
@ -54,7 +55,8 @@ class TestComponentZone(unittest.TestCase):
|
|||||||
active = zone.active_zone(self.hass, 32.880600, -117.237561)
|
active = zone.active_zone(self.hass, 32.880600, -117.237561)
|
||||||
assert active is None
|
assert active is None
|
||||||
|
|
||||||
assert zone.setup(self.hass, {
|
self.hass.config.components.remove('zone')
|
||||||
|
assert bootstrap.setup_component(self.hass, zone.DOMAIN, {
|
||||||
'zone': [
|
'zone': [
|
||||||
{
|
{
|
||||||
'name': 'Active Zone',
|
'name': 'Active Zone',
|
||||||
@ -72,7 +74,7 @@ class TestComponentZone(unittest.TestCase):
|
|||||||
"""Test zone size preferences."""
|
"""Test zone size preferences."""
|
||||||
latitude = 32.880600
|
latitude = 32.880600
|
||||||
longitude = -117.237561
|
longitude = -117.237561
|
||||||
assert zone.setup(self.hass, {
|
assert bootstrap.setup_component(self.hass, zone.DOMAIN, {
|
||||||
'zone': [
|
'zone': [
|
||||||
{
|
{
|
||||||
'name': 'Small Zone',
|
'name': 'Small Zone',
|
||||||
@ -92,7 +94,8 @@ class TestComponentZone(unittest.TestCase):
|
|||||||
active = zone.active_zone(self.hass, latitude, longitude)
|
active = zone.active_zone(self.hass, latitude, longitude)
|
||||||
assert 'zone.small_zone' == active.entity_id
|
assert 'zone.small_zone' == active.entity_id
|
||||||
|
|
||||||
assert zone.setup(self.hass, {
|
self.hass.config.components.remove('zone')
|
||||||
|
assert bootstrap.setup_component(self.hass, zone.DOMAIN, {
|
||||||
'zone': [
|
'zone': [
|
||||||
{
|
{
|
||||||
'name': 'Smallest Zone',
|
'name': 'Smallest Zone',
|
||||||
@ -110,7 +113,7 @@ class TestComponentZone(unittest.TestCase):
|
|||||||
"""Test working in passive zones."""
|
"""Test working in passive zones."""
|
||||||
latitude = 32.880600
|
latitude = 32.880600
|
||||||
longitude = -117.237561
|
longitude = -117.237561
|
||||||
assert zone.setup(self.hass, {
|
assert bootstrap.setup_component(self.hass, zone.DOMAIN, {
|
||||||
'zone': [
|
'zone': [
|
||||||
{
|
{
|
||||||
'name': 'Passive Zone',
|
'name': 'Passive Zone',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user