Support systems w/o circuits (#64779)
This commit is contained in:
parent
201229d20c
commit
8d6880ab85
6 changed files with 45 additions and 69 deletions
|
@ -25,7 +25,6 @@ from .const import (
|
|||
HEATING_TYPE_TO_CREATOR_METHOD,
|
||||
PLATFORMS,
|
||||
VICARE_API,
|
||||
VICARE_CIRCUITS,
|
||||
VICARE_DEVICE_CONFIG,
|
||||
HeatingType,
|
||||
)
|
||||
|
@ -127,9 +126,6 @@ def setup_vicare_api(hass, entry):
|
|||
device,
|
||||
HEATING_TYPE_TO_CREATOR_METHOD[HeatingType(entry.data[CONF_HEATING_TYPE])],
|
||||
)()
|
||||
hass.data[DOMAIN][entry.entry_id][VICARE_CIRCUITS] = hass.data[DOMAIN][
|
||||
entry.entry_id
|
||||
][VICARE_API].circuits
|
||||
|
||||
|
||||
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
|
|
|
@ -22,13 +22,7 @@ from homeassistant.core import HomeAssistant
|
|||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from . import ViCareRequiredKeysMixin
|
||||
from .const import (
|
||||
DOMAIN,
|
||||
VICARE_API,
|
||||
VICARE_CIRCUITS,
|
||||
VICARE_DEVICE_CONFIG,
|
||||
VICARE_NAME,
|
||||
)
|
||||
from .const import DOMAIN, VICARE_API, VICARE_DEVICE_CONFIG, VICARE_NAME
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
@ -163,20 +157,12 @@ async def async_setup_entry(
|
|||
if entity is not None:
|
||||
entities.append(entity)
|
||||
|
||||
for description in CIRCUIT_SENSORS:
|
||||
for circuit in hass.data[DOMAIN][config_entry.entry_id][VICARE_CIRCUITS]:
|
||||
suffix = ""
|
||||
if len(hass.data[DOMAIN][config_entry.entry_id][VICARE_CIRCUITS]) > 1:
|
||||
suffix = f" {circuit.id}"
|
||||
entity = await hass.async_add_executor_job(
|
||||
_build_entity,
|
||||
f"{name} {description.name}{suffix}",
|
||||
circuit,
|
||||
hass.data[DOMAIN][config_entry.entry_id][VICARE_DEVICE_CONFIG],
|
||||
description,
|
||||
)
|
||||
if entity is not None:
|
||||
entities.append(entity)
|
||||
try:
|
||||
await _entities_from_descriptions(
|
||||
hass, name, entities, CIRCUIT_SENSORS, api.circuits, config_entry
|
||||
)
|
||||
except PyViCareNotSupportedFeatureError:
|
||||
_LOGGER.info("No circuits found")
|
||||
|
||||
try:
|
||||
await _entities_from_descriptions(
|
||||
|
|
|
@ -33,7 +33,6 @@ from .const import (
|
|||
CONF_HEATING_TYPE,
|
||||
DOMAIN,
|
||||
VICARE_API,
|
||||
VICARE_CIRCUITS,
|
||||
VICARE_DEVICE_CONFIG,
|
||||
VICARE_NAME,
|
||||
)
|
||||
|
@ -112,19 +111,22 @@ async def async_setup_entry(
|
|||
|
||||
entities = []
|
||||
|
||||
for circuit in hass.data[DOMAIN][config_entry.entry_id][VICARE_CIRCUITS]:
|
||||
suffix = ""
|
||||
if len(hass.data[DOMAIN][config_entry.entry_id][VICARE_CIRCUITS]) > 1:
|
||||
suffix = f" {circuit.id}"
|
||||
entity = _build_entity(
|
||||
f"{name} Heating{suffix}",
|
||||
hass.data[DOMAIN][config_entry.entry_id][VICARE_API],
|
||||
hass.data[DOMAIN][config_entry.entry_id][VICARE_DEVICE_CONFIG],
|
||||
circuit,
|
||||
config_entry.data[CONF_HEATING_TYPE],
|
||||
)
|
||||
if entity is not None:
|
||||
entities.append(entity)
|
||||
try:
|
||||
for circuit in hass.data[DOMAIN][config_entry.entry_id][VICARE_API].circuits:
|
||||
suffix = ""
|
||||
if len(hass.data[DOMAIN][config_entry.entry_id][VICARE_API].circuits) > 1:
|
||||
suffix = f" {circuit.id}"
|
||||
entity = _build_entity(
|
||||
f"{name} Heating{suffix}",
|
||||
hass.data[DOMAIN][config_entry.entry_id][VICARE_API],
|
||||
hass.data[DOMAIN][config_entry.entry_id][VICARE_DEVICE_CONFIG],
|
||||
circuit,
|
||||
config_entry.data[CONF_HEATING_TYPE],
|
||||
)
|
||||
if entity is not None:
|
||||
entities.append(entity)
|
||||
except PyViCareNotSupportedFeatureError:
|
||||
_LOGGER.info("No circuits found")
|
||||
|
||||
platform = entity_platform.async_get_current_platform()
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@ PLATFORMS = [
|
|||
|
||||
VICARE_DEVICE_CONFIG = "device_conf"
|
||||
VICARE_API = "api"
|
||||
VICARE_CIRCUITS = "circuits"
|
||||
VICARE_NAME = "ViCare"
|
||||
|
||||
CONF_CIRCUIT = "circuit"
|
||||
|
|
|
@ -35,7 +35,6 @@ from . import ViCareRequiredKeysMixin
|
|||
from .const import (
|
||||
DOMAIN,
|
||||
VICARE_API,
|
||||
VICARE_CIRCUITS,
|
||||
VICARE_DEVICE_CONFIG,
|
||||
VICARE_NAME,
|
||||
VICARE_UNIT_TO_DEVICE_CLASS,
|
||||
|
@ -380,20 +379,12 @@ async def async_setup_entry(
|
|||
if entity is not None:
|
||||
entities.append(entity)
|
||||
|
||||
for description in CIRCUIT_SENSORS:
|
||||
for circuit in hass.data[DOMAIN][config_entry.entry_id][VICARE_CIRCUITS]:
|
||||
suffix = ""
|
||||
if len(hass.data[DOMAIN][config_entry.entry_id][VICARE_CIRCUITS]) > 1:
|
||||
suffix = f" {circuit.id}"
|
||||
entity = await hass.async_add_executor_job(
|
||||
_build_entity,
|
||||
f"{name} {description.name}{suffix}",
|
||||
circuit,
|
||||
hass.data[DOMAIN][config_entry.entry_id][VICARE_DEVICE_CONFIG],
|
||||
description,
|
||||
)
|
||||
if entity is not None:
|
||||
entities.append(entity)
|
||||
try:
|
||||
await _entities_from_descriptions(
|
||||
hass, name, entities, CIRCUIT_SENSORS, api.circuits, config_entry
|
||||
)
|
||||
except PyViCareNotSupportedFeatureError:
|
||||
_LOGGER.info("No circuits found")
|
||||
|
||||
try:
|
||||
await _entities_from_descriptions(
|
||||
|
|
|
@ -22,7 +22,6 @@ from .const import (
|
|||
CONF_HEATING_TYPE,
|
||||
DOMAIN,
|
||||
VICARE_API,
|
||||
VICARE_CIRCUITS,
|
||||
VICARE_DEVICE_CONFIG,
|
||||
VICARE_NAME,
|
||||
)
|
||||
|
@ -78,19 +77,22 @@ async def async_setup_entry(
|
|||
name = VICARE_NAME
|
||||
|
||||
entities = []
|
||||
for circuit in hass.data[DOMAIN][config_entry.entry_id][VICARE_CIRCUITS]:
|
||||
suffix = ""
|
||||
if len(hass.data[DOMAIN][config_entry.entry_id][VICARE_CIRCUITS]) > 1:
|
||||
suffix = f" {circuit.id}"
|
||||
entity = _build_entity(
|
||||
f"{name} Water{suffix}",
|
||||
hass.data[DOMAIN][config_entry.entry_id][VICARE_API],
|
||||
circuit,
|
||||
hass.data[DOMAIN][config_entry.entry_id][VICARE_DEVICE_CONFIG],
|
||||
config_entry.data[CONF_HEATING_TYPE],
|
||||
)
|
||||
if entity is not None:
|
||||
entities.append(entity)
|
||||
try:
|
||||
for circuit in hass.data[DOMAIN][config_entry.entry_id][VICARE_API].circuits:
|
||||
suffix = ""
|
||||
if len(hass.data[DOMAIN][config_entry.entry_id][VICARE_API].circuits) > 1:
|
||||
suffix = f" {circuit.id}"
|
||||
entity = _build_entity(
|
||||
f"{name} Water{suffix}",
|
||||
hass.data[DOMAIN][config_entry.entry_id][VICARE_API],
|
||||
circuit,
|
||||
hass.data[DOMAIN][config_entry.entry_id][VICARE_DEVICE_CONFIG],
|
||||
config_entry.data[CONF_HEATING_TYPE],
|
||||
)
|
||||
if entity is not None:
|
||||
entities.append(entity)
|
||||
except PyViCareNotSupportedFeatureError:
|
||||
_LOGGER.info("No circuits found")
|
||||
|
||||
async_add_entities(entities)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue