File tree Expand file tree Collapse file tree 7 files changed +42
-28
lines changed
custom_components/plugwise Expand file tree Collapse file tree 7 files changed +42
-28
lines changed Original file line number Diff line number Diff 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
131133class PlugwiseBinarySensorEntity (PlugwiseEntity , BinarySensorEntity ):
Original file line number Diff line number Diff 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
6769class PlugwiseButtonEntity (PlugwiseEntity , ButtonEntity ):
Original file line number Diff line number Diff 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
9799class PlugwiseClimateEntity (PlugwiseEntity , ClimateEntity ):
Original file line number Diff line number Diff 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
9799class PlugwiseNumberEntity (PlugwiseEntity , NumberEntity ):
Original file line number Diff line number Diff 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
104106class PlugwiseSelectEntity (PlugwiseEntity , SelectEntity ):
Original file line number Diff line number Diff 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
496498class PlugwiseSensorEntity (PlugwiseEntity , SensorEntity ):
Original file line number Diff line number Diff 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
101103class PlugwiseSwitchEntity (PlugwiseEntity , SwitchEntity ):
You can’t perform that action at this time.
0 commit comments