Code cleanup for SmartTub integration (#47584)

This commit is contained in:
Matt Zimmerman 2021-03-08 05:05:39 -08:00 committed by GitHub
parent cf507b51cb
commit 9774ada4aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 20 additions and 8 deletions

View File

@ -20,3 +20,7 @@ DEFAULT_MAX_TEMP = 40
DEFAULT_LIGHT_EFFECT = "purple"
# default to 50% brightness
DEFAULT_LIGHT_BRIGHTNESS = 128
ATTR_STATUS = "status"
ATTR_PUMPS = "pumps"
ATTR_LIGHTS = "lights"

View File

@ -15,7 +15,14 @@ from homeassistant.helpers import device_registry as dr
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import DOMAIN, POLLING_TIMEOUT, SCAN_INTERVAL
from .const import (
ATTR_LIGHTS,
ATTR_PUMPS,
ATTR_STATUS,
DOMAIN,
POLLING_TIMEOUT,
SCAN_INTERVAL,
)
from .helpers import get_spa_name
_LOGGER = logging.getLogger(__name__)
@ -92,9 +99,9 @@ class SmartTubController:
spa.get_lights(),
)
return {
"status": status,
"pumps": {pump.id: pump for pump in pumps},
"lights": {light.zone: light for light in lights},
ATTR_STATUS: status,
ATTR_PUMPS: {pump.id: pump for pump in pumps},
ATTR_LIGHTS: {light.zone: light for light in lights},
}
async def async_register_devices(self, entry):

View File

@ -13,6 +13,7 @@ from homeassistant.components.light import (
)
from .const import (
ATTR_LIGHTS,
DEFAULT_LIGHT_BRIGHTNESS,
DEFAULT_LIGHT_EFFECT,
DOMAIN,
@ -32,7 +33,7 @@ async def async_setup_entry(hass, entry, async_add_entities):
entities = [
SmartTubLight(controller.coordinator, light)
for spa in controller.spas
for light in await spa.get_lights()
for light in controller.coordinator.data[spa.id][ATTR_LIGHTS].values()
]
async_add_entities(entities)

View File

@ -61,7 +61,7 @@ class SmartTubPrimaryFiltrationCycle(SmartTubSensor):
def __init__(self, coordinator, spa):
"""Initialize the entity."""
super().__init__(
coordinator, spa, "primary filtration cycle", "primary_filtration"
coordinator, spa, "Primary Filtration Cycle", "primary_filtration"
)
@property

View File

@ -6,7 +6,7 @@ from smarttub import SpaPump
from homeassistant.components.switch import SwitchEntity
from .const import API_TIMEOUT, DOMAIN, SMARTTUB_CONTROLLER
from .const import API_TIMEOUT, ATTR_PUMPS, DOMAIN, SMARTTUB_CONTROLLER
from .entity import SmartTubEntity
from .helpers import get_spa_name
@ -21,7 +21,7 @@ async def async_setup_entry(hass, entry, async_add_entities):
entities = [
SmartTubPump(controller.coordinator, pump)
for spa in controller.spas
for pump in await spa.get_pumps()
for pump in controller.coordinator.data[spa.id][ATTR_PUMPS].values()
]
async_add_entities(entities)