diff --git a/custom_components/versatile_thermostat/binary_sensor.py b/custom_components/versatile_thermostat/binary_sensor.py index d59b9a2..73561b2 100644 --- a/custom_components/versatile_thermostat/binary_sensor.py +++ b/custom_components/versatile_thermostat/binary_sensor.py @@ -39,6 +39,7 @@ from .const import ( CONF_USE_WINDOW_FEATURE, CONF_THERMOSTAT_TYPE, CONF_THERMOSTAT_CENTRAL_CONFIG, + CONF_USE_CENTRAL_BOILER_FEATURE, CONF_CENTRAL_BOILER_ACTIVATION_SRV, CONF_CENTRAL_BOILER_DEACTIVATION_SRV, overrides, @@ -63,10 +64,13 @@ async def async_setup_entry( name = entry.data.get(CONF_NAME) vt_type = entry.data.get(CONF_THERMOSTAT_TYPE) + entities = None + if vt_type == CONF_THERMOSTAT_CENTRAL_CONFIG: - entities = [ - CentralBoilerBinarySensor(hass, unique_id, name, entry.data), - ] + if entry.data.get(CONF_USE_CENTRAL_BOILER_FEATURE): + entities = [ + CentralBoilerBinarySensor(hass, unique_id, name, entry.data), + ] else: entities = [ SecurityBinarySensor(hass, unique_id, name, entry.data), @@ -81,7 +85,8 @@ async def async_setup_entry( if entry.data.get(CONF_USE_POWER_FEATURE): entities.append(OverpoweringBinarySensor(hass, unique_id, name, entry.data)) - async_add_entities(entities, True) + if entities: + async_add_entities(entities, True) class SecurityBinarySensor(VersatileThermostatBaseEntity, BinarySensorEntity): diff --git a/custom_components/versatile_thermostat/number.py b/custom_components/versatile_thermostat/number.py index fe52e2a..1ac6602 100644 --- a/custom_components/versatile_thermostat/number.py +++ b/custom_components/versatile_thermostat/number.py @@ -51,6 +51,7 @@ from .const import ( CONF_USE_PRESETS_CENTRAL_CONFIG, CONF_USE_PRESENCE_CENTRAL_CONFIG, CONF_USE_PRESENCE_FEATURE, + CONF_USE_CENTRAL_BOILER_FEATURE, overrides, ) @@ -153,9 +154,10 @@ async def async_setup_entry( # For central config only else: - entities.append( - ActivateBoilerThresholdNumber(hass, unique_id, name, entry.data) - ) + if entry.data.get(CONF_USE_CENTRAL_BOILER_FEATURE): + entities.append( + ActivateBoilerThresholdNumber(hass, unique_id, name, entry.data) + ) for preset in CONF_PRESETS_WITH_AC_VALUES: _LOGGER.debug( "%s - configuring Number central, AC, non AWAY for preset %s", @@ -178,7 +180,8 @@ async def async_setup_entry( ) ) - async_add_entities(entities, True) + if len(entities) > 0: + async_add_entities(entities, True) class ActivateBoilerThresholdNumber( diff --git a/custom_components/versatile_thermostat/sensor.py b/custom_components/versatile_thermostat/sensor.py index b39765f..4fc5c02 100644 --- a/custom_components/versatile_thermostat/sensor.py +++ b/custom_components/versatile_thermostat/sensor.py @@ -79,7 +79,6 @@ async def async_setup_entry( entities = [ NbActiveDeviceForBoilerSensor(hass, unique_id, name, entry.data) ] - async_add_entities(entities, True) else: entities = [ LastTemperatureSensor(hass, unique_id, name, entry.data), @@ -108,6 +107,7 @@ async def async_setup_entry( RegulatedTemperatureSensor(hass, unique_id, name, entry.data) ) + if entities: async_add_entities(entities, True)