Skip to content

Commit 7f9b255

Browse files
committed
connection state entity name is automatically generated
1 parent ecdd04f commit 7f9b255

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

custom_components/remote_homeassistant/__init__.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
CONF_API_PASSWORD = 'api_password'
3838
CONF_SUBSCRIBE_EVENTS = 'subscribe_events'
3939
CONF_ENTITY_PREFIX = 'entity_prefix'
40-
CONF_STATE_ENTITY_NAME = 'state_entity_name'
4140
CONF_FILTER = 'filter'
4241

4342
STATE_INIT = 'initializing'
@@ -54,7 +53,6 @@
5453

5554
INSTANCES_SCHEMA = vol.Schema({
5655
vol.Required(CONF_HOST): cv.string,
57-
vol.Required(CONF_STATE_ENTITY_NAME): cv.string,
5856
vol.Optional(CONF_PORT, default=8123): cv.port,
5957
vol.Optional(CONF_SECURE, default=False): cv.boolean,
6058
vol.Optional(CONF_VERIFY_SSL, default=True): cv.boolean,
@@ -120,7 +118,6 @@ def __init__(self, hass, conf):
120118
"""Initialize the connection."""
121119
self._hass = hass
122120
self._host = conf.get(CONF_HOST)
123-
self._connection_state_entity = 'sensor.' + conf.get(CONF_STATE_ENTITY_NAME)
124121
self._port = conf.get(CONF_PORT)
125122
self._secure = conf.get(CONF_SECURE)
126123
self._verify_ssl = conf.get(CONF_VERIFY_SSL)
@@ -149,6 +146,13 @@ def __init__(self, hass, conf):
149146
self._subscribe_events = conf.get(CONF_SUBSCRIBE_EVENTS)
150147
self._entity_prefix = conf.get(CONF_ENTITY_PREFIX)
151148

149+
self._connection_state_entity = 'sensor.'
150+
151+
if self._entity_prefix != '':
152+
self._connection_state_entity = '{}{}'.format(self._connection_state_entity, self._entity_prefix)
153+
154+
self._connection_state_entity = '{}remote_connection_{}_{}'.format(self._connection_state_entity, self._host.replace('.', '_').replace('-', '_'), self._port)
155+
152156
self._connection = None
153157
self._entities = set()
154158
self._handlers = {}
@@ -234,8 +238,8 @@ async def _disconnected(self):
234238
self._hass.states.async_remove(entity)
235239
if self._remove_listener is not None:
236240
self._remove_listener()
237-
if self._connection_state_entity is not None:
238-
self._hass.states.async_set(self._connection_state_entity, STATE_DISCONNECTED)
241+
242+
self._hass.states.async_set(self._connection_state_entity, STATE_DISCONNECTED)
239243
self._remove_listener = None
240244
self._entities = set()
241245
asyncio.ensure_future(self.async_connect())

0 commit comments

Comments
 (0)