Skip to content

Commit ee11a25

Browse files
committed
Indicate core functionality and upstream
1 parent 0b80b24 commit ee11a25

File tree

6 files changed

+140
-43
lines changed

6 files changed

+140
-43
lines changed

custom_components/plugwise/binary_sensor.py

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
DOMAIN,
2727
FLAME_STATE,
2828
HEATING_STATE,
29+
LOGGER, # pw-beta
2930
NOTIFICATIONS,
3031
PLUGWISE_NOTIFICATION,
3132
SECONDARY_BOILER_STATE,
@@ -105,17 +106,33 @@ def _add_entities() -> None:
105106
if not coordinator.new_devices:
106107
return
107108

108-
async_add_entities(
109-
PlugwiseBinarySensorEntity(coordinator, device_id, description)
110-
for device_id in coordinator.new_devices
111-
if (
112-
binary_sensors := coordinator.data.devices[device_id].get(
113-
BINARY_SENSORS # upstream to const
109+
# Upstream consts to HA
110+
# async_add_entities(
111+
# PlugwiseBinarySensorEntity(coordinator, device_id, description)
112+
# for device_id in coordinator.new_devices
113+
# if (
114+
# binary_sensors := coordinator.data.devices[device_id].get(
115+
# BINARY_SENSORS
116+
# )
117+
# )
118+
# for description in PLUGWISE_BINARY_SENSORS # upstream from const
119+
# if description.key in binary_sensors
120+
# )
121+
122+
# pw-beta alternative for debugging
123+
entities: list[PlugwiseBinarySensorEntity] = []
124+
for device_id in coordinator.new_devices:
125+
device = coordinator.data.devices[device_id]
126+
if not (binary_sensors := device.get(BINARY_SENSORS)):
127+
continue
128+
for description in PLUGWISE_BINARY_SENSORS:
129+
if description.key not in binary_sensors:
130+
continue
131+
entities.append(PlugwiseBinarySensorEntity(coordinator, device_id, description))
132+
LOGGER.debug(
133+
"Add %s %s binary sensor", device["name"], description.translation_key
114134
)
115-
)
116-
for description in PLUGWISE_BINARY_SENSORS # upstream from const
117-
if description.key in binary_sensors
118-
)
135+
async_add_entities(entities)
119136

120137
_add_entities()
121138
entry.async_on_unload(coordinator.async_add_listener(_add_entities))

custom_components/plugwise/button.py

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@
88
from homeassistant.helpers.entity_platform import AddEntitiesCallback
99

1010
from . import PlugwiseConfigEntry
11-
from .const import GATEWAY_ID, REBOOT
11+
from .const import (
12+
GATEWAY_ID,
13+
LOGGER, # pw-betea
14+
REBOOT,
15+
)
1216
from .coordinator import PlugwiseDataUpdateCoordinator
1317
from .entity import PlugwiseEntity
1418
from .util import plugwise_command
@@ -25,11 +29,18 @@ async def async_setup_entry(
2529
coordinator = entry.runtime_data
2630

2731
gateway = coordinator.data.gateway
28-
async_add_entities(
29-
PlugwiseButtonEntity(coordinator, device_id)
30-
for device_id in coordinator.data.devices
31-
if device_id == gateway[GATEWAY_ID] and REBOOT in gateway
32-
)
32+
# async_add_entities(
33+
# PlugwiseButtonEntity(coordinator, device_id)
34+
# for device_id in coordinator.data.devices
35+
# if device_id == gateway[GATEWAY_ID] and REBOOT in gateway
36+
# )
37+
# pw-beta alternative for debugging
38+
entities: list[PlugwiseButtonEntity] = []
39+
for device_id, device in coordinator.data.devices.items():
40+
if device_id == gateway[GATEWAY_ID] and REBOOT in gateway:
41+
entities.append(PlugwiseButtonEntity(coordinator, device_id))
42+
LOGGER.debug("Add %s reboot button", device["name"])
43+
async_add_entities(entities)
3344

3445

3546
class PlugwiseButtonEntity(PlugwiseEntity, ButtonEntity):

custom_components/plugwise/number.py

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,28 @@ def _add_entities() -> None:
8282
if not coordinator.new_devices:
8383
return
8484

85-
async_add_entities(
86-
PlugwiseNumberEntity(coordinator, device_id, description)
87-
for device_id in coordinator.new_devices
88-
for description in NUMBER_TYPES
89-
if description.key in coordinator.data.devices[device_id]
90-
)
85+
# Upstream consts
86+
# async_add_entities(
87+
# PlugwiseNumberEntity(coordinator, device_id, description)
88+
# for device_id in coordinator.new_devices
89+
# for description in NUMBER_TYPES
90+
# if description.key in coordinator.data.devices[device_id]
91+
# )
92+
93+
# pw-beta alternative for debugging
94+
entities: list[PlugwiseNumberEntity] = []
95+
for device_id in coordinator.new_devices:
96+
device = coordinator.data.devices[device_id]
97+
for description in NUMBER_TYPES:
98+
if description.key in device:
99+
entities.append(
100+
PlugwiseNumberEntity(coordinator, device_id, description)
101+
)
102+
LOGGER.debug(
103+
"Add %s %s number", device["name"], description.translation_key
104+
)
105+
106+
async_add_entities(entities)
91107

92108
_add_entities()
93109
entry.async_on_unload(coordinator.async_add_listener(_add_entities))

custom_components/plugwise/select.py

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,26 @@ def _add_entities() -> None:
8686
if not coordinator.new_devices:
8787
return
8888

89-
async_add_entities(
90-
PlugwiseSelectEntity(coordinator, device_id, description)
91-
for device_id in coordinator.new_devices
92-
for description in SELECT_TYPES
93-
if description.options_key in coordinator.data.devices[device_id]
94-
)
89+
# Upstream consts
90+
# async_add_entities(
91+
# PlugwiseSelectEntity(coordinator, device_id, description)
92+
# for device_id in coordinator.new_devices
93+
# for description in SELECT_TYPES
94+
# if description.options_key in coordinator.data.devices[device_id]
95+
# )
96+
# pw-beta alternative for debugging
97+
entities: list[PlugwiseSelectEntity] = []
98+
for device_id in coordinator.new_devices:
99+
device = coordinator.data.devices[device_id]
100+
for description in SELECT_TYPES:
101+
if description.options_key in device:
102+
entities.append(
103+
PlugwiseSelectEntity(coordinator, device_id, description)
104+
)
105+
LOGGER.debug(
106+
"Add %s %s selector", device["name"], description.translation_key
107+
)
108+
async_add_entities(entities)
95109

96110
_add_entities()
97111
entry.async_on_unload(coordinator.async_add_listener(_add_entities))

custom_components/plugwise/sensor.py

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
GAS_CONS_CUMULATIVE,
6060
GAS_CONS_INTERVAL,
6161
INTENDED_BOILER_TEMP,
62+
LOGGER, # pw-beta
6263
MOD_LEVEL,
6364
NET_EL_CUMULATIVE,
6465
NET_EL_POINT,
@@ -470,13 +471,28 @@ def _add_entities() -> None:
470471
if not coordinator.new_devices:
471472
return
472473

473-
async_add_entities(
474-
PlugwiseSensorEntity(coordinator, device_id, description)
475-
for device_id in coordinator.new_devices
476-
if (sensors := coordinator.data.devices[device_id].get(SENSORS))
477-
for description in PLUGWISE_SENSORS
478-
if description.key in sensors
479-
) # Upstream consts
474+
# Upstream consts
475+
# async_add_entities(
476+
# PlugwiseSensorEntity(coordinator, device_id, description)
477+
# for device_id in coordinator.new_devices
478+
# if (sensors := coordinator.data.devices[device_id].get(SENSORS))
479+
# for description in PLUGWISE_SENSORS
480+
# if description.key in sensors
481+
# )
482+
# pw-beta alternative for debugging
483+
entities: list[PlugwiseSensorEntity] = []
484+
for device_id in coordinator.new_devices:
485+
device = coordinator.data.devices[device_id]
486+
if not (sensors := device.get(SENSORS)):
487+
continue
488+
for description in PLUGWISE_SENSORS:
489+
if description.key not in sensors:
490+
continue
491+
entities.append(PlugwiseSensorEntity(coordinator, device_id, description))
492+
LOGGER.debug(
493+
"Add %s %s sensor", device["name"], description.translation_key or description.key
494+
)
495+
async_add_entities(entities)
480496

481497
_add_entities()
482498
entry.async_on_unload(coordinator.async_add_listener(_add_entities))

custom_components/plugwise/switch.py

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,15 @@
1717
from homeassistant.helpers.entity_platform import AddEntitiesCallback
1818

1919
from . import PlugwiseConfigEntry
20-
from .const import COOLING_ENA_SWITCH, DHW_CM_SWITCH, LOCK, MEMBERS, RELAY, SWITCHES
20+
from .const import (
21+
COOLING_ENA_SWITCH,
22+
DHW_CM_SWITCH,
23+
LOCK,
24+
LOGGER, # pw-beta
25+
MEMBERS,
26+
RELAY,
27+
SWITCHES,
28+
)
2129

2230
# Upstream consts
2331
from .coordinator import PlugwiseDataUpdateCoordinator
@@ -76,13 +84,28 @@ def _add_entities() -> None:
7684
if not coordinator.new_devices:
7785
return
7886

79-
async_add_entities(
80-
PlugwiseSwitchEntity(coordinator, device_id, description)
81-
for device_id in coordinator.new_devices
82-
if (switches := coordinator.data.devices[device_id].get(SWITCHES))
83-
for description in PLUGWISE_SWITCHES
84-
if description.key in switches
85-
)
87+
# Upstream consts
88+
# async_add_entities(
89+
# PlugwiseSwitchEntity(coordinator, device_id, description)
90+
# for device_id in coordinator.new_devices
91+
# if (switches := coordinator.data.devices[device_id].get(SWITCHES))
92+
# for description in PLUGWISE_SWITCHES
93+
# if description.key in switches
94+
# )
95+
# pw-beta alternative for debugging
96+
entities: list[PlugwiseSwitchEntity] = []
97+
for device_id in coordinator.new_devices:
98+
device = coordinator.data.devices[device_id]
99+
if not (switches := device.get(SWITCHES)):
100+
continue
101+
for description in PLUGWISE_SWITCHES:
102+
if description.key not in switches:
103+
continue
104+
entities.append(PlugwiseSwitchEntity(coordinator, device_id, description))
105+
LOGGER.debug(
106+
"Add %s %s switch", device["name"], description.translation_key
107+
)
108+
async_add_entities(entities)
86109

87110
_add_entities()
88111
entry.async_on_unload(coordinator.async_add_listener(_add_entities))

0 commit comments

Comments
 (0)