Add vera config entries support (#29880)
* Adding vera config entries support. * Fixing lint error. * Applying minimal changes necessary to get config entries working. * Addressing PR feedback by further reducing the scope of the change. * Addressing PR feedback. * Fixing pyvera import to make it easier to patch. Addressing PR feedback regarding creation of controller and scheduling of async config flow actions. * Updating code owners file. * Small fixes. * Adding a user config flow step. * Adding optional configs for user config flow. * Updating strings to be more clear to the user. * Adding options flow. Fixing some PR feedback. * Better handling of options. PR feedback changes. * Using config registry to update config options. * Better managing config from file or config from UI Disabling config through UI if config is provided from a file. More tests to account for these adjustments. * Address PR feedback. * Fixing test, merging with master. * Disabling all Vera UI for configs managed by configuration.yml. Adding more tests. * Updating config based on unique_id. Addressing additional PR feedback. * Rebasing off dev. Addressing feedback. * Addressing PR feedback.
This commit is contained in:
parent
aef06a3544
commit
ae22b5187a
28 changed files with 876 additions and 294 deletions
|
@ -1,22 +1,30 @@
|
|||
"""Support for Vera scenes."""
|
||||
import logging
|
||||
from typing import Callable, List
|
||||
|
||||
from homeassistant.components.scene import Scene
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity import Entity
|
||||
from homeassistant.util import slugify
|
||||
|
||||
from . import VERA_CONTROLLER, VERA_ID_FORMAT, VERA_SCENES
|
||||
from .const import DOMAIN, VERA_ID_FORMAT
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def setup_platform(hass, config, add_entities, discovery_info=None):
|
||||
"""Set up the Vera scenes."""
|
||||
add_entities(
|
||||
async def async_setup_entry(
|
||||
hass: HomeAssistant,
|
||||
entry: ConfigEntry,
|
||||
async_add_entities: Callable[[List[Entity], bool], None],
|
||||
) -> None:
|
||||
"""Set up the sensor config entry."""
|
||||
controller_data = hass.data[DOMAIN]
|
||||
async_add_entities(
|
||||
[
|
||||
VeraScene(scene, hass.data[VERA_CONTROLLER])
|
||||
for scene in hass.data[VERA_SCENES]
|
||||
],
|
||||
True,
|
||||
VeraScene(device, controller_data.controller)
|
||||
for device in controller_data.scenes
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue