Skip to content

Commit 9b2722e

Browse files
committed
sensors: use async_setup_platform, raise PlatformNotReady if not connected
1 parent 22f37d0 commit 9b2722e

2 files changed

Lines changed: 16 additions & 6 deletions

File tree

binary_sensor.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from homeassistant.helpers.entity_platform import AddEntitiesCallback
1313
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
1414
from homeassistant.util import slugify
15+
from homeassistant.exceptions import PlatformNotReady
1516

1617
from . import UPDATE_TOPIC
1718
from .const import DOMAIN
@@ -63,10 +64,10 @@ def __init__(
6364
]
6465

6566

66-
def setup_platform(
67+
async def async_setup_platform(
6768
hass: HomeAssistant,
6869
config: ConfigType,
69-
add_entities: AddEntitiesCallback,
70+
async_add_entities: AddEntitiesCallback,
7071
discovery_info: DiscoveryInfoType | None = None,
7172
) -> None:
7273
"""Set up the PH-803W sensor."""
@@ -75,10 +76,14 @@ def setup_platform(
7576

7677
sensors = []
7778
device_data = hass.data[DOMAIN]
79+
if not device_data.connected():
80+
raise PlatformNotReady(f"PH-803W not connected yet")
81+
82+
_LOGGER.info(f"PH-803W connected, creating entities")
7883
for sconfig in SENSORS:
7984
sensors.append(DeviceSensor(device_data, sconfig))
8085

81-
add_entities(sensors)
86+
async_add_entities(sensors)
8287

8388

8489
class DeviceSensor(BinarySensorEntity):

sensor.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from homeassistant.helpers.entity_platform import AddEntitiesCallback
1616
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
1717
from homeassistant.util import slugify
18+
from homeassistant.exceptions import PlatformNotReady
1819

1920
from . import UPDATE_TOPIC
2021
from .const import DOMAIN
@@ -53,10 +54,10 @@ def __init__(
5354
]
5455

5556

56-
def setup_platform(
57+
async def async_setup_platform(
5758
hass: HomeAssistant,
5859
config: ConfigType,
59-
add_entities: AddEntitiesCallback,
60+
async_add_entities: AddEntitiesCallback,
6061
discovery_info: DiscoveryInfoType | None = None,
6162
) -> None:
6263
"""Set up the PH-803W sensor."""
@@ -65,10 +66,14 @@ def setup_platform(
6566

6667
sensors = []
6768
device_data = hass.data[DOMAIN]
69+
if not device_data.connected():
70+
raise PlatformNotReady(f"PH-803W not connected yet")
71+
72+
_LOGGER.info(f"PH-803W connected, creating entities")
6873
for sconfig in SENSORS:
6974
sensors.append(DeviceSensor(device_data, sconfig))
7075

71-
add_entities(sensors)
76+
async_add_entities(sensors)
7277

7378

7479
class DeviceSensor(SensorEntity):

0 commit comments

Comments
 (0)