Lirc: sensor showing connected hosts

This commit is contained in:
Martin Bauer 2020-04-19 16:00:50 +02:00
parent 98aa37083b
commit 354fffa5ee
2 changed files with 18 additions and 1 deletions

View File

@ -14,6 +14,7 @@ DOMAIN = 'lirc_network'
REMOTE_NAME = 'remote'
REPEAT_COUNTER = 'repeat_counter'
LIRC_HOST = 'host'
DATA_LIRC_NETWORK = 'data_lirc_network'
CONFIG_SCHEMA = vol.Schema({
DOMAIN: vol.Schema(vol.All([{
@ -24,9 +25,10 @@ CONFIG_SCHEMA = vol.Schema({
async def async_setup(hass, config):
hass.data[DATA_LIRC_NETWORK] = []
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)
hass.data[DATA_LIRC_NETWORK].append(connection)
await connection.start()
_LOGGER.warning("About to return true in async_setup")
return True

View File

@ -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)