Fix unnecessary API calls in Netatmo (#51260)
This commit is contained in:
parent
1a5d35d7bf
commit
9bd74961f0
2 changed files with 16 additions and 4 deletions
|
@ -158,7 +158,13 @@ class NetatmoDataHandler:
|
||||||
):
|
):
|
||||||
"""Register data class."""
|
"""Register data class."""
|
||||||
if data_class_entry in self.data_classes:
|
if data_class_entry in self.data_classes:
|
||||||
self.data_classes[data_class_entry]["subscriptions"].append(update_callback)
|
if (
|
||||||
|
update_callback
|
||||||
|
not in self.data_classes[data_class_entry]["subscriptions"]
|
||||||
|
):
|
||||||
|
self.data_classes[data_class_entry]["subscriptions"].append(
|
||||||
|
update_callback
|
||||||
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
self.data_classes[data_class_entry] = {
|
self.data_classes[data_class_entry] = {
|
||||||
|
|
|
@ -130,7 +130,7 @@ PUBLIC = "public"
|
||||||
async def async_setup_entry(hass, entry, async_add_entities):
|
async def async_setup_entry(hass, entry, async_add_entities):
|
||||||
"""Set up the Netatmo weather and homecoach platform."""
|
"""Set up the Netatmo weather and homecoach platform."""
|
||||||
data_handler = hass.data[DOMAIN][entry.entry_id][DATA_HANDLER]
|
data_handler = hass.data[DOMAIN][entry.entry_id][DATA_HANDLER]
|
||||||
platform_not_ready = False
|
platform_not_ready = True
|
||||||
|
|
||||||
async def find_entities(data_class_name):
|
async def find_entities(data_class_name):
|
||||||
"""Find all entities."""
|
"""Find all entities."""
|
||||||
|
@ -183,8 +183,8 @@ async def async_setup_entry(hass, entry, async_add_entities):
|
||||||
await data_handler.register_data_class(data_class_name, data_class_name, None)
|
await data_handler.register_data_class(data_class_name, data_class_name, None)
|
||||||
data_class = data_handler.data.get(data_class_name)
|
data_class = data_handler.data.get(data_class_name)
|
||||||
|
|
||||||
if not data_class or not data_class.raw_data:
|
if not (data_class and data_class.raw_data):
|
||||||
platform_not_ready = True
|
platform_not_ready = False
|
||||||
|
|
||||||
async_add_entities(await find_entities(data_class_name), True)
|
async_add_entities(await find_entities(data_class_name), True)
|
||||||
|
|
||||||
|
@ -226,6 +226,12 @@ async def async_setup_entry(hass, entry, async_add_entities):
|
||||||
lat_sw=area.lat_sw,
|
lat_sw=area.lat_sw,
|
||||||
lon_sw=area.lon_sw,
|
lon_sw=area.lon_sw,
|
||||||
)
|
)
|
||||||
|
data_class = data_handler.data.get(signal_name)
|
||||||
|
|
||||||
|
if not (data_class and data_class.raw_data):
|
||||||
|
nonlocal platform_not_ready
|
||||||
|
platform_not_ready = False
|
||||||
|
|
||||||
for sensor_type in SUPPORTED_PUBLIC_SENSOR_TYPES:
|
for sensor_type in SUPPORTED_PUBLIC_SENSOR_TYPES:
|
||||||
new_entities.append(
|
new_entities.append(
|
||||||
NetatmoPublicSensor(data_handler, area, sensor_type)
|
NetatmoPublicSensor(data_handler, area, sensor_type)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue