diff --git a/custom_components/gecko/climate.py b/custom_components/gecko/climate.py index d1438cb..4ecb6b2 100644 --- a/custom_components/gecko/climate.py +++ b/custom_components/gecko/climate.py @@ -58,7 +58,8 @@ def __init__( ) super().__init__(spaman, config_entry, automation_entity) self._water_care = water_care - self._water_care.watch(self._on_change) + if self._water_care.is_available: + self._water_care.watch(self._on_change) @property def icon(self) -> str: diff --git a/custom_components/gecko/date.py b/custom_components/gecko/date.py index d24954d..9f47983 100644 --- a/custom_components/gecko/date.py +++ b/custom_components/gecko/date.py @@ -24,7 +24,11 @@ async def async_setup_entry( """Set up date platform.""" spaman: GeckoSpaManager = hass.data[DOMAIN][entry.entry_id] dates: list = [] - if spaman.can_use_facade and spaman.facade is not None: + if ( + spaman.can_use_facade + and spaman.facade is not None + and spaman.facade.reminders_manager.is_available + ): dates.extend( GeckoReminderDate(spaman, entry, reminder.reminder_type) for reminder in spaman.facade.reminders_manager.reminders diff --git a/custom_components/gecko/select.py b/custom_components/gecko/select.py index 40b14c4..ae96213 100644 --- a/custom_components/gecko/select.py +++ b/custom_components/gecko/select.py @@ -36,7 +36,8 @@ async def async_setup_entry( ) if spaman.facade.inmix.is_available and spaman.facade.inmix.syncro.is_available: selects.append(GeckoInMixSync(spaman, entry)) - selects.append(GeckoWatercare(spaman, entry)) + if spaman.facade.water_care.is_available: + selects.append(GeckoWatercare(spaman, entry)) async_add_entities(selects) spaman.platform_loaded(SELECT) diff --git a/custom_components/gecko/sensor.py b/custom_components/gecko/sensor.py index c92780a..03f0149 100644 --- a/custom_components/gecko/sensor.py +++ b/custom_components/gecko/sensor.py @@ -62,10 +62,11 @@ async def async_setup_entry( sensors.extend( GeckoSensor(spaman, entry, sensor) for sensor in spaman.facade.sensors ) - sensors.extend( - GeckoReminderSensor(spaman, entry, reminder.reminder_type) - for reminder in spaman.facade.reminders_manager.reminders - ) + if spaman.facade.reminders_manager.is_available: + sensors.extend( + GeckoReminderSensor(spaman, entry, reminder.reminder_type) + for reminder in spaman.facade.reminders_manager.reminders + ) sensors.append(GeckoErrorTextSensor(spaman, entry, spaman.facade.error_sensor)) async_add_entities(sensors) spaman.platform_loaded(SENSOR)