Skip to content

Commit fc9ddda

Browse files
committed
Rework following latest fritzbox code
1 parent 337f142 commit fc9ddda

File tree

7 files changed

+42
-28
lines changed

7 files changed

+42
-28
lines changed

custom_components/plugwise/binary_sensor.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,15 @@ async def async_setup_entry(
9797
coordinator = entry.runtime_data
9898

9999
@callback
100-
def _add_entities() -> None:
100+
def _add_entities(devices: set[str] | None = None) -> None:
101101
"""Add Entities."""
102-
if not coordinator.new_devices:
102+
if devices is None:
103+
devices = coordinator.new_devices
104+
if not devices:
103105
return
104106

105107
entities: list[PlugwiseBinarySensorEntity] = []
106-
for device_id in coordinator.new_devices:
108+
for device_id in devices:
107109
device = coordinator.data.devices[device_id]
108110
if not (binary_sensors := device.get(BINARY_SENSORS)):
109111
continue
@@ -125,7 +127,7 @@ def _add_entities() -> None:
125127

126128
entry.async_on_unload(coordinator.async_add_listener(_add_entities))
127129

128-
_add_entities()
130+
_add_entities(set(coordinator.data.devices))
129131

130132

131133
class PlugwiseBinarySensorEntity(PlugwiseEntity, BinarySensorEntity):

custom_components/plugwise/button.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,16 @@ async def async_setup_entry(
3535
coordinator = entry.runtime_data
3636

3737
@callback
38-
def _add_entities() -> None:
38+
def _add_entities(devices: set[str] | None = None) -> None:
3939
"""Add Entities."""
40-
if not coordinator.new_devices:
40+
if devices is None:
41+
devices = coordinator.new_devices
42+
if not devices:
4143
return
4244

4345
entities: list[PlugwiseButtonEntity] = []
4446
gateway = coordinator.data.gateway
45-
for device_id in coordinator.new_devices:
47+
for device_id in devices:
4648
device = coordinator.data.devices[device_id]
4749
if device_id == gateway[GATEWAY_ID] and REBOOT in gateway:
4850
for description in BUTTON_TYPES:
@@ -61,7 +63,7 @@ def _add_entities() -> None:
6163

6264
entry.async_on_unload(coordinator.async_add_listener(_add_entities))
6365

64-
_add_entities()
66+
_add_entities(set(coordinator.data.devices))
6567

6668

6769
class PlugwiseButtonEntity(PlugwiseEntity, ButtonEntity):

custom_components/plugwise/climate.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,15 @@ async def async_setup_entry(
7171
) # pw-beta homekit emulation
7272

7373
@callback
74-
def _add_entities() -> None:
74+
def _add_entities(devices: set[str] | None = None) -> None:
7575
"""Add Entities."""
76-
if not coordinator.new_devices:
76+
if devices is None:
77+
devices = coordinator.new_devices
78+
if not devices:
7779
return
7880

7981
entities: list[PlugwiseClimateEntity] = []
80-
for device_id in coordinator.new_devices:
82+
for device_id in devices:
8183
device = coordinator.data.devices[device_id]
8284
if device[DEV_CLASS] in MASTER_THERMOSTATS:
8385
entities.append(
@@ -91,7 +93,7 @@ def _add_entities() -> None:
9193

9294
entry.async_on_unload(coordinator.async_add_listener(_add_entities))
9395

94-
_add_entities()
96+
_add_entities(set(coordinator.data.devices))
9597

9698

9799
class PlugwiseClimateEntity(PlugwiseEntity, ClimateEntity):

custom_components/plugwise/number.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,15 @@ async def async_setup_entry(
7070
coordinator = entry.runtime_data
7171

7272
@callback
73-
def _add_entities() -> None:
73+
def _add_entities(devices: set[str] | None = None) -> None:
7474
"""Add Entities."""
75-
if not coordinator.new_devices:
75+
if devices is None:
76+
devices = coordinator.new_devices
77+
if not devices:
7678
return
7779

7880
entities: list[PlugwiseNumberEntity] = []
79-
for device_id in coordinator.new_devices:
81+
for device_id in devices:
8082
device = coordinator.data.devices[device_id]
8183
for description in NUMBER_TYPES:
8284
if description.key in device:
@@ -91,7 +93,7 @@ def _add_entities() -> None:
9193

9294
entry.async_on_unload(coordinator.async_add_listener(_add_entities))
9395

94-
_add_entities()
96+
_add_entities(set(coordinator.data.devices))
9597

9698

9799
class PlugwiseNumberEntity(PlugwiseEntity, NumberEntity):

custom_components/plugwise/select.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,15 @@ async def async_setup_entry(
7777
coordinator = entry.runtime_data
7878

7979
@callback
80-
def _add_entities() -> None:
80+
def _add_entities(devices: set[str] | None = None) -> None:
8181
"""Add Entities."""
82-
if not coordinator.new_devices:
82+
if devices is None:
83+
devices = coordinator.new_devices
84+
if not devices:
8385
return
8486

8587
entities: list[PlugwiseSelectEntity] = []
86-
for device_id in coordinator.new_devices:
88+
for device_id in devices:
8789
device = coordinator.data.devices[device_id]
8890
for description in SELECT_TYPES:
8991
if description.options_key in device:
@@ -98,7 +100,7 @@ def _add_entities() -> None:
98100

99101
entry.async_on_unload(coordinator.async_add_listener(_add_entities))
100102

101-
_add_entities()
103+
_add_entities(set(coordinator.data.devices))
102104

103105

104106
class PlugwiseSelectEntity(PlugwiseEntity, SelectEntity):

custom_components/plugwise/sensor.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -462,13 +462,15 @@ async def async_setup_entry(
462462
coordinator = entry.runtime_data
463463

464464
@callback
465-
def _add_entities() -> None:
465+
def _add_entities(devices: set[str] | None = None) -> None:
466466
"""Add Entities."""
467-
if not coordinator.new_devices:
467+
if devices is None:
468+
devices = coordinator.new_devices
469+
if not devices:
468470
return
469471

470472
entities: list[PlugwiseSensorEntity] = []
471-
for device_id in coordinator.new_devices:
473+
for device_id in devices:
472474
device = coordinator.data.devices[device_id]
473475
if not (sensors := device.get(SENSORS)):
474476
continue
@@ -490,7 +492,7 @@ def _add_entities() -> None:
490492

491493
entry.async_on_unload(coordinator.async_add_listener(_add_entities))
492494

493-
_add_entities()
495+
_add_entities(set(coordinator.data.devices))
494496

495497

496498
class PlugwiseSensorEntity(PlugwiseEntity, SensorEntity):

custom_components/plugwise/switch.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,15 @@ async def async_setup_entry(
7373
coordinator = entry.runtime_data
7474

7575
@callback
76-
def _add_entities() -> None:
76+
def _add_entities(devices: set[str] | None = None) -> None:
7777
"""Add Entities."""
78-
if not coordinator.new_devices:
78+
if devices is None:
79+
devices = coordinator.new_devices
80+
if not devices:
7981
return
8082

8183
entities: list[PlugwiseSwitchEntity] = []
82-
for device_id in coordinator.new_devices:
84+
for device_id in devices:
8385
device = coordinator.data.devices[device_id]
8486
if not (switches := device.get(SWITCHES)):
8587
continue
@@ -95,7 +97,7 @@ def _add_entities() -> None:
9597

9698
entry.async_on_unload(coordinator.async_add_listener(_add_entities))
9799

98-
_add_entities()
100+
_add_entities(set(coordinator.data.devices))
99101

100102

101103
class PlugwiseSwitchEntity(PlugwiseEntity, SwitchEntity):

0 commit comments

Comments
 (0)