mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 09:47:13 +00:00
Replace util.get_local_ip in favor of components.network.async_get_source_ip() - part 2 (#53368)
Co-authored-by: J. Nick Koston <nick@koston.org>
This commit is contained in:
parent
dd7dea9a3f
commit
8b6d0ca13f
@ -4,7 +4,8 @@ import logging
|
||||
from aiohttp import web
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant import util
|
||||
from homeassistant.components.network import async_get_source_ip
|
||||
from homeassistant.components.network.const import PUBLIC_TARGET_IP
|
||||
from homeassistant.const import (
|
||||
CONF_ENTITIES,
|
||||
CONF_TYPE,
|
||||
@ -105,7 +106,9 @@ ATTR_EMULATED_HUE_NAME = "emulated_hue_name"
|
||||
|
||||
async def async_setup(hass, yaml_config):
|
||||
"""Activate the emulated_hue component."""
|
||||
config = Config(hass, yaml_config.get(DOMAIN, {}))
|
||||
local_ip = await async_get_source_ip(hass, PUBLIC_TARGET_IP)
|
||||
config = Config(hass, yaml_config.get(DOMAIN, {}), local_ip)
|
||||
await config.async_setup()
|
||||
|
||||
app = web.Application()
|
||||
app["hass"] = hass
|
||||
@ -156,7 +159,6 @@ async def async_setup(hass, yaml_config):
|
||||
nonlocal protocol
|
||||
nonlocal site
|
||||
nonlocal runner
|
||||
await config.async_setup()
|
||||
|
||||
_, protocol = await listen
|
||||
|
||||
@ -186,7 +188,7 @@ async def async_setup(hass, yaml_config):
|
||||
class Config:
|
||||
"""Hold configuration variables for the emulated hue bridge."""
|
||||
|
||||
def __init__(self, hass, conf):
|
||||
def __init__(self, hass, conf, local_ip):
|
||||
"""Initialize the instance."""
|
||||
self.hass = hass
|
||||
self.type = conf.get(CONF_TYPE)
|
||||
@ -204,11 +206,7 @@ class Config:
|
||||
# Get the IP address that will be passed to the Echo during discovery
|
||||
self.host_ip_addr = conf.get(CONF_HOST_IP)
|
||||
if self.host_ip_addr is None:
|
||||
self.host_ip_addr = util.get_local_ip()
|
||||
_LOGGER.info(
|
||||
"Listen IP address not specified, auto-detected address is %s",
|
||||
self.host_ip_addr,
|
||||
)
|
||||
self.host_ip_addr = local_ip
|
||||
|
||||
# Get the port that the Hue bridge will listen on
|
||||
self.listen_port = conf.get(CONF_LISTEN_PORT)
|
||||
|
@ -3,6 +3,7 @@
|
||||
"name": "Emulated Hue",
|
||||
"documentation": "https://www.home-assistant.io/integrations/emulated_hue",
|
||||
"requirements": ["aiohttp_cors==0.7.0"],
|
||||
"dependencies": ["network"],
|
||||
"after_dependencies": ["http"],
|
||||
"codeowners": [],
|
||||
"quality_scale": "internal",
|
||||
|
@ -244,6 +244,7 @@ def hue_client(loop, hass_hue, hass_client_no_auth):
|
||||
"scene.light_off": {emulated_hue.CONF_ENTITY_HIDDEN: False},
|
||||
},
|
||||
},
|
||||
"127.0.0.1",
|
||||
)
|
||||
config.numbers = ENTITY_IDS_BY_NUMBER
|
||||
|
||||
@ -322,7 +323,7 @@ async def test_lights_all_dimmable(hass, hass_client_no_auth):
|
||||
{emulated_hue.DOMAIN: hue_config},
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
config = Config(None, hue_config)
|
||||
config = Config(None, hue_config, "127.0.0.1")
|
||||
config.numbers = ENTITY_IDS_BY_NUMBER
|
||||
web_app = hass.http.app
|
||||
HueOneLightStateView(config).register(web_app, web_app.router)
|
||||
|
@ -14,7 +14,7 @@ from tests.common import async_fire_time_changed
|
||||
|
||||
async def test_config_google_home_entity_id_to_number(hass, hass_storage):
|
||||
"""Test config adheres to the type."""
|
||||
conf = Config(hass, {"type": "google_home"})
|
||||
conf = Config(hass, {"type": "google_home"}, "127.0.0.1")
|
||||
hass_storage[DATA_KEY] = {
|
||||
"version": DATA_VERSION,
|
||||
"key": DATA_KEY,
|
||||
@ -45,7 +45,7 @@ async def test_config_google_home_entity_id_to_number(hass, hass_storage):
|
||||
|
||||
async def test_config_google_home_entity_id_to_number_altered(hass, hass_storage):
|
||||
"""Test config adheres to the type."""
|
||||
conf = Config(hass, {"type": "google_home"})
|
||||
conf = Config(hass, {"type": "google_home"}, "127.0.0.1")
|
||||
hass_storage[DATA_KEY] = {
|
||||
"version": DATA_VERSION,
|
||||
"key": DATA_KEY,
|
||||
@ -76,7 +76,7 @@ async def test_config_google_home_entity_id_to_number_altered(hass, hass_storage
|
||||
|
||||
async def test_config_google_home_entity_id_to_number_empty(hass, hass_storage):
|
||||
"""Test config adheres to the type."""
|
||||
conf = Config(hass, {"type": "google_home"})
|
||||
conf = Config(hass, {"type": "google_home"}, "127.0.0.1")
|
||||
hass_storage[DATA_KEY] = {"version": DATA_VERSION, "key": DATA_KEY, "data": {}}
|
||||
|
||||
await conf.async_setup()
|
||||
@ -100,7 +100,7 @@ async def test_config_google_home_entity_id_to_number_empty(hass, hass_storage):
|
||||
|
||||
def test_config_alexa_entity_id_to_number():
|
||||
"""Test config adheres to the type."""
|
||||
conf = Config(None, {"type": "alexa"})
|
||||
conf = Config(None, {"type": "alexa"}, "127.0.0.1")
|
||||
|
||||
number = conf.entity_id_to_number("light.test")
|
||||
assert number == "light.test"
|
||||
|
Loading…
x
Reference in New Issue
Block a user