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:
1 parent
edce497a0d
commit
3aa2ae1700
17 files changed
+671
-122
No files matched your search
@@ -14,30 +14,34 @@ 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 sensor platform."""
|
||||
controller = hass.data[TESLA_DOMAIN]["devices"]["controller"]
|
||||
devices = []
|
||||
pass
|
||||
|
||||
for device in hass.data[TESLA_DOMAIN]["devices"]["sensor"]:
|
||||
|
||||
async def async_setup_entry(hass, config_entry, async_add_entities):
|
||||
"""Set up the Tesla binary_sensors by config_entry."""
|
||||
controller = hass.data[TESLA_DOMAIN][config_entry.entry_id]["controller"]
|
||||
entities = []
|
||||
for device in hass.data[TESLA_DOMAIN][config_entry.entry_id]["devices"]["sensor"]:
|
||||
if device.bin_type == 0x4:
|
||||
devices.append(TeslaSensor(device, controller, "inside"))
|
||||
devices.append(TeslaSensor(device, controller, "outside"))
|
||||
entities.append(TeslaSensor(device, controller, config_entry, "inside"))
|
||||
entities.append(TeslaSensor(device, controller, config_entry, "outside"))
|
||||
elif device.bin_type in [0xA, 0xB, 0x5]:
|
||||
devices.append(TeslaSensor(device, controller))
|
||||
add_entities(devices, True)
|
||||
entities.append(TeslaSensor(device, controller, config_entry))
|
||||
async_add_entities(entities, True)
|
||||
|
||||
|
||||
class TeslaSensor(TeslaDevice, Entity):
|
||||
"""Representation of Tesla sensors."""
|
||||
|
||||
def __init__(self, tesla_device, controller, sensor_type=None):
|
||||
def __init__(self, tesla_device, controller, config_entry, sensor_type=None):
|
||||
"""Initialize of the sensor."""
|
||||
self.current_value = None
|
||||
self._unit = None
|
||||
self.last_changed_time = None
|
||||
self.type = sensor_type
|
||||
super().__init__(tesla_device, controller)
|
||||
super().__init__(tesla_device, controller, config_entry)
|
||||
|
||||
if self.type:
|
||||
self._name = f"{self.tesla_device.name} ({self.type})"
|
||||
|
||||
Reference in new issue
Block a user