Lirc: sensor showing connected hosts
This commit is contained in:
parent
98aa37083b
commit
354fffa5ee
|
@ -14,6 +14,7 @@ DOMAIN = 'lirc_network'
|
||||||
REMOTE_NAME = 'remote'
|
REMOTE_NAME = 'remote'
|
||||||
REPEAT_COUNTER = 'repeat_counter'
|
REPEAT_COUNTER = 'repeat_counter'
|
||||||
LIRC_HOST = 'host'
|
LIRC_HOST = 'host'
|
||||||
|
DATA_LIRC_NETWORK = 'data_lirc_network'
|
||||||
|
|
||||||
CONFIG_SCHEMA = vol.Schema({
|
CONFIG_SCHEMA = vol.Schema({
|
||||||
DOMAIN: vol.Schema(vol.All([{
|
DOMAIN: vol.Schema(vol.All([{
|
||||||
|
@ -24,9 +25,10 @@ CONFIG_SCHEMA = vol.Schema({
|
||||||
|
|
||||||
|
|
||||||
async def async_setup(hass, config):
|
async def async_setup(hass, config):
|
||||||
|
hass.data[DATA_LIRC_NETWORK] = []
|
||||||
for config_element in config[DOMAIN]:
|
for config_element in config[DOMAIN]:
|
||||||
_LOGGER.warning(f'Connecting to {config_element[CONF_HOST]} at {config_element[CONF_PORT]}')
|
|
||||||
connection = LircConnection(hass, config_element)
|
connection = LircConnection(hass, config_element)
|
||||||
|
hass.data[DATA_LIRC_NETWORK].append(connection)
|
||||||
await connection.start()
|
await connection.start()
|
||||||
_LOGGER.warning("About to return true in async_setup")
|
_LOGGER.warning("About to return true in async_setup")
|
||||||
return True
|
return True
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
import logging
|
||||||
|
from ..reconnecting_client import IsConnectedSensor
|
||||||
|
from . import DATA_LIRC_NETWORK
|
||||||
|
|
||||||
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
|
||||||
|
connections = hass.data[DATA_LIRC_NETWORK]
|
||||||
|
sensors = []
|
||||||
|
for connection in connections:
|
||||||
|
sensor = IsConnectedSensor(connection.get_name() + "_connected")
|
||||||
|
connection.connected_sensor = sensor
|
||||||
|
sensors.append(sensor)
|
||||||
|
async_add_entities(sensors)
|
Loading…
Reference in New Issue