Enable config flow for Tesla (#28744)
* build: bump teslajsonpy to 0.2.0 * Remove tests * feat: add config flow * feat: add async * perf: convert unnecessary async calls to sync * feat: add charger voltage and current sensor * feat: add options flow * build: bump teslajsonpy to 0.2.0 * Remove icon property * Revert climate mode change * Remove charger sensor * Simplify async_setup_platform * Update homeassistant/components/tesla/sensor.py Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io> * Update homeassistant/components/tesla/binary_sensor.py Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io> * Address requested changes * Fix pylint error * Address requested changes * Update codeowners * Fix pylint error * Address requested changes * Address requested change * Remove unnecessary check for existing config entry * Load scan_interval in async_setup_entry * Include coverage of config_flow * Add tests for full coverage * Address requested test changes * Remove unnecessary init lines * Remove unnecessary init Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
This commit is contained in:
parent
edce497a0d
commit
3aa2ae1700
17 changed files with 671 additions and 122 deletions
|
@ -8,21 +8,35 @@ from . import DOMAIN as TESLA_DOMAIN, TeslaDevice
|
|||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
async def async_setup_platform(hass, config, add_entities, discovery_info=None):
|
||||
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
|
||||
"""Set up the Tesla binary sensor."""
|
||||
devices = [
|
||||
TeslaBinarySensor(device, hass.data[TESLA_DOMAIN]["controller"], "connectivity")
|
||||
for device in hass.data[TESLA_DOMAIN]["devices"]["binary_sensor"]
|
||||
]
|
||||
add_entities(devices, True)
|
||||
pass
|
||||
|
||||
|
||||
async def async_setup_entry(hass, config_entry, async_add_entities):
|
||||
"""Set up the Tesla binary_sensors by config_entry."""
|
||||
async_add_entities(
|
||||
[
|
||||
TeslaBinarySensor(
|
||||
device,
|
||||
hass.data[TESLA_DOMAIN][config_entry.entry_id]["controller"],
|
||||
"connectivity",
|
||||
config_entry,
|
||||
)
|
||||
for device in hass.data[TESLA_DOMAIN][config_entry.entry_id]["devices"][
|
||||
"binary_sensor"
|
||||
]
|
||||
],
|
||||
True,
|
||||
)
|
||||
|
||||
|
||||
class TeslaBinarySensor(TeslaDevice, BinarySensorDevice):
|
||||
"""Implement an Tesla binary sensor for parking and charger."""
|
||||
|
||||
def __init__(self, tesla_device, controller, sensor_type):
|
||||
def __init__(self, tesla_device, controller, sensor_type, config_entry):
|
||||
"""Initialise of a Tesla binary sensor."""
|
||||
super().__init__(tesla_device, controller)
|
||||
super().__init__(tesla_device, controller, config_entry)
|
||||
self._state = False
|
||||
self._sensor_type = sensor_type
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue