Skip to content

Commit

Permalink
fixed error messages when reloading gateway
Browse files Browse the repository at this point in the history
  • Loading branch information
grimmpp committed Mar 2, 2024
1 parent b5d5186 commit 70cc339
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 24 deletions.
9 changes: 6 additions & 3 deletions custom_components/eltako/binary_sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,12 @@ async def async_setup_entry(
entities.append(GatewayConnectionState(platform, gateway))

# dev_id validation not possible because there can be bus sensors as well as decentralized sensors.
new_entities = config_helpers.filter_for_new_entities(er.async_get(hass), entities)
log_entities_to_be_added(new_entities, platform)
async_add_entities(new_entities)
log_entities_to_be_added(entities, platform)
try:
async_add_entities(entities)
except ValueError as e:
if str(e) != "Config entry has already been setup!":
raise e


class AbstractBinarySensor(EltakoEntity, RestoreEntity, BinarySensorEntity):
Expand Down
9 changes: 6 additions & 3 deletions custom_components/eltako/button.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,12 @@ async def async_setup_entry(
entities.append(GatewayReconnectButton(platform, gateway))

validate_actuators_dev_and_sender_id(entities)
new_entities = config_helpers.filter_for_new_entities(er.async_get(hass), entities)
log_entities_to_be_added(new_entities, platform)
async_add_entities(new_entities)
log_entities_to_be_added(entities, platform)
try:
async_add_entities(entities)
except ValueError as e:
if str(e) != "Config entry has already been setup!":
raise e



Expand Down
9 changes: 6 additions & 3 deletions custom_components/eltako/climate.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,12 @@ async def async_setup_entry(
continue

validate_actuators_dev_and_sender_id(entities)
new_entities = config_helpers.filter_for_new_entities(er.async_get(hass), entities)
log_entities_to_be_added(new_entities, platform)
async_add_entities(new_entities)
log_entities_to_be_added(entities, platform)
try:
async_add_entities(entities)
except ValueError as e:
if str(e) != "Config entry has already been setup!":
raise e


def validate_ids_of_climate(entities:list[EltakoEntity]):
Expand Down
9 changes: 6 additions & 3 deletions custom_components/eltako/cover.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,12 @@ async def async_setup_entry(


validate_actuators_dev_and_sender_id(entities)
new_entities = config_helpers.filter_for_new_entities(er.async_get(hass), entities)
log_entities_to_be_added(new_entities, platform)
async_add_entities(new_entities)
log_entities_to_be_added(entities, platform)
try:
async_add_entities(entities)
except ValueError as e:
if str(e) != "Config entry has already been setup!":
raise e

class EltakoCover(EltakoEntity, CoverEntity, RestoreEntity):
"""Representation of an Eltako cover device."""
Expand Down
9 changes: 6 additions & 3 deletions custom_components/eltako/datetime.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,12 @@ async def async_setup_entry(
entities.append(GatewayLastReceivedMessage(platform, gateway))

validate_actuators_dev_and_sender_id(entities)
new_entities = config_helpers.filter_for_new_entities(er.async_get(hass), entities)
log_entities_to_be_added(new_entities, platform)
async_add_entities(new_entities)
log_entities_to_be_added(entities, platform)
try:
async_add_entities(entities)
except ValueError as e:
if str(e) != "Config entry has already been setup!":
raise e



Expand Down
9 changes: 6 additions & 3 deletions custom_components/eltako/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,12 @@ async def async_setup_entry(
LOGGER.critical(e, exc_info=True)

validate_actuators_dev_and_sender_id(entities)
new_entities = config_helpers.filter_for_new_entities(er.async_get(hass), entities)
log_entities_to_be_added(new_entities, platform)
async_add_entities(new_entities)
log_entities_to_be_added(entities, platform)
try:
async_add_entities(entities)
except ValueError as e:
if str(e) != "Config entry has already been setup!":
raise e


class AbstractLightEntity(EltakoEntity, LightEntity, RestoreEntity):
Expand Down
9 changes: 6 additions & 3 deletions custom_components/eltako/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -415,9 +415,12 @@ def convert_event(event):
entities.append(GatewayReceivedMessagesInActiveSession(platform, gateway))

validate_actuators_dev_and_sender_id(entities)
new_entities = config_helpers.filter_for_new_entities(er.async_get(hass), entities)
log_entities_to_be_added(new_entities, platform)
async_add_entities(new_entities)
log_entities_to_be_added(entities, platform)
try:
async_add_entities(entities)
except ValueError as e:
if str(e) != "Config entry has already been setup!":
raise e


class EltakoSensor(EltakoEntity, RestoreEntity, SensorEntity):
Expand Down
9 changes: 6 additions & 3 deletions custom_components/eltako/switch.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,12 @@ async def async_setup_entry(


validate_actuators_dev_and_sender_id(entities)
new_entities = config_helpers.filter_for_new_entities(er.async_get(hass), entities)
log_entities_to_be_added(new_entities, platform)
async_add_entities(new_entities)
log_entities_to_be_added(entities, platform)
try:
async_add_entities(entities)
except ValueError as e:
if str(e) != "Config entry has already been setup!":
raise e


class EltakoSwitch(EltakoEntity, SwitchEntity, RestoreEntity):
Expand Down

0 comments on commit 70cc339

Please sign in to comment.