Small cleanup of Tasmota (#43642)

This commit is contained in:
Erik Montnemery 2020-11-26 22:34:26 +01:00 committed by GitHub
parent deb45f7c90
commit 974e099e2a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 84 additions and 161 deletions

View file

@ -6,7 +6,7 @@ from homeassistant.core import callback
from homeassistant.helpers.dispatcher import async_dispatcher_connect
import homeassistant.helpers.event as evt
from .const import DATA_REMOVE_DISCOVER_COMPONENT, DOMAIN as TASMOTA_DOMAIN
from .const import DATA_REMOVE_DISCOVER_COMPONENT
from .discovery import TASMOTA_DISCOVERY_ENTITY_NEW
from .mixins import TasmotaAvailability, TasmotaDiscoveryUpdate
@ -29,7 +29,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
DATA_REMOVE_DISCOVER_COMPONENT.format(binary_sensor.DOMAIN)
] = async_dispatcher_connect(
hass,
TASMOTA_DISCOVERY_ENTITY_NEW.format(binary_sensor.DOMAIN, TASMOTA_DOMAIN),
TASMOTA_DISCOVERY_ENTITY_NEW.format(binary_sensor.DOMAIN),
async_discover,
)
@ -47,7 +47,6 @@ class TasmotaBinarySensor(
self._state = None
super().__init__(
discovery_update=self.discovery_update,
**kwds,
)

View file

@ -7,7 +7,7 @@ from homeassistant.components.cover import CoverEntity
from homeassistant.core import callback
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from .const import DATA_REMOVE_DISCOVER_COMPONENT, DOMAIN as TASMOTA_DOMAIN
from .const import DATA_REMOVE_DISCOVER_COMPONENT
from .discovery import TASMOTA_DISCOVERY_ENTITY_NEW
from .mixins import TasmotaAvailability, TasmotaDiscoveryUpdate
@ -26,7 +26,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
DATA_REMOVE_DISCOVER_COMPONENT.format(cover.DOMAIN)
] = async_dispatcher_connect(
hass,
TASMOTA_DISCOVERY_ENTITY_NEW.format(cover.DOMAIN, TASMOTA_DOMAIN),
TASMOTA_DISCOVERY_ENTITY_NEW.format(cover.DOMAIN),
async_discover,
)
@ -44,7 +44,6 @@ class TasmotaCover(
self._position = None
super().__init__(
discovery_update=self.discovery_update,
**kwds,
)

View file

@ -35,7 +35,7 @@ async def async_setup_entry(hass, config_entry):
DATA_REMOVE_DISCOVER_COMPONENT.format("device_automation")
] = async_dispatcher_connect(
hass,
TASMOTA_DISCOVERY_ENTITY_NEW.format("device_automation", "tasmota"),
TASMOTA_DISCOVERY_ENTITY_NEW.format("device_automation"),
async_discover,
)
hass.data[DATA_UNSUB].append(

View file

@ -7,7 +7,7 @@ from homeassistant.components.fan import FanEntity
from homeassistant.core import callback
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from .const import DATA_REMOVE_DISCOVER_COMPONENT, DOMAIN as TASMOTA_DOMAIN
from .const import DATA_REMOVE_DISCOVER_COMPONENT
from .discovery import TASMOTA_DISCOVERY_ENTITY_NEW
from .mixins import TasmotaAvailability, TasmotaDiscoveryUpdate
@ -35,7 +35,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
DATA_REMOVE_DISCOVER_COMPONENT.format(fan.DOMAIN)
] = async_dispatcher_connect(
hass,
TASMOTA_DISCOVERY_ENTITY_NEW.format(fan.DOMAIN, TASMOTA_DOMAIN),
TASMOTA_DISCOVERY_ENTITY_NEW.format(fan.DOMAIN),
async_discover,
)
@ -52,7 +52,6 @@ class TasmotaFan(
self._state = None
super().__init__(
discovery_update=self.discovery_update,
**kwds,
)

View file

@ -27,7 +27,7 @@ from homeassistant.core import callback
from homeassistant.helpers.dispatcher import async_dispatcher_connect
import homeassistant.util.color as color_util
from .const import DATA_REMOVE_DISCOVER_COMPONENT, DOMAIN as TASMOTA_DOMAIN
from .const import DATA_REMOVE_DISCOVER_COMPONENT
from .discovery import TASMOTA_DISCOVERY_ENTITY_NEW
from .mixins import TasmotaAvailability, TasmotaDiscoveryUpdate
@ -49,7 +49,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
DATA_REMOVE_DISCOVER_COMPONENT.format(light.DOMAIN)
] = async_dispatcher_connect(
hass,
TASMOTA_DISCOVERY_ENTITY_NEW.format(light.DOMAIN, TASMOTA_DOMAIN),
TASMOTA_DISCOVERY_ENTITY_NEW.format(light.DOMAIN),
async_discover,
)
@ -74,7 +74,6 @@ class TasmotaLight(
self._flash_times = None
super().__init__(
discovery_update=self.discovery_update,
**kwds,
)

View file

@ -116,10 +116,9 @@ class TasmotaAvailability(TasmotaEntity):
class TasmotaDiscoveryUpdate(TasmotaEntity):
"""Mixin used to handle updated discovery message."""
def __init__(self, discovery_hash, discovery_update, **kwds) -> None:
def __init__(self, discovery_hash, **kwds) -> None:
"""Initialize the discovery update mixin."""
self._discovery_hash = discovery_hash
self._discovery_update = discovery_update
self._removed_from_hass = False
super().__init__(**kwds)
@ -138,7 +137,7 @@ class TasmotaDiscoveryUpdate(TasmotaEntity):
if not self._tasmota_entity.config_same(config):
# Changed payload: Notify component
_LOGGER.debug("Updating component: %s", self.entity_id)
await self._discovery_update(config)
await self.discovery_update(config)
else:
# Unchanged payload: Ignore to avoid changing states
_LOGGER.debug("Ignoring unchanged update for: %s", self.entity_id)

View file

@ -1,77 +1,7 @@
"""Support for Tasmota sensors."""
from typing import Optional
from hatasmota import status_sensor
from hatasmota.const import (
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as TASMOTA_CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
CONCENTRATION_PARTS_PER_BILLION as TASMOTA_CONCENTRATION_PARTS_PER_BILLION,
CONCENTRATION_PARTS_PER_MILLION as TASMOTA_CONCENTRATION_PARTS_PER_MILLION,
ELECTRICAL_CURRENT_AMPERE as TASMOTA_ELECTRICAL_CURRENT_AMPERE,
ELECTRICAL_VOLT_AMPERE as TASMOTA_ELECTRICAL_VOLT_AMPERE,
ENERGY_KILO_WATT_HOUR as TASMOTA_ENERGY_KILO_WATT_HOUR,
FREQUENCY_HERTZ as TASMOTA_FREQUENCY_HERTZ,
LENGTH_CENTIMETERS as TASMOTA_LENGTH_CENTIMETERS,
LIGHT_LUX as TASMOTA_LIGHT_LUX,
MASS_KILOGRAMS as TASMOTA_MASS_KILOGRAMS,
PERCENTAGE as TASMOTA_PERCENTAGE,
POWER_WATT as TASMOTA_POWER_WATT,
PRESSURE_HPA as TASMOTA_PRESSURE_HPA,
SENSOR_AMBIENT,
SENSOR_APPARENT_POWERUSAGE,
SENSOR_BATTERY,
SENSOR_CCT,
SENSOR_CO2,
SENSOR_COLOR_BLUE,
SENSOR_COLOR_GREEN,
SENSOR_COLOR_RED,
SENSOR_CURRENT,
SENSOR_DEWPOINT,
SENSOR_DISTANCE,
SENSOR_ECO2,
SENSOR_FREQUENCY,
SENSOR_HUMIDITY,
SENSOR_ILLUMINANCE,
SENSOR_MOISTURE,
SENSOR_PB0_3,
SENSOR_PB0_5,
SENSOR_PB1,
SENSOR_PB2_5,
SENSOR_PB5,
SENSOR_PB10,
SENSOR_PM1,
SENSOR_PM2_5,
SENSOR_PM10,
SENSOR_POWERFACTOR,
SENSOR_POWERUSAGE,
SENSOR_PRESSURE,
SENSOR_PRESSUREATSEALEVEL,
SENSOR_PROXIMITY,
SENSOR_REACTIVE_POWERUSAGE,
SENSOR_STATUS_IP,
SENSOR_STATUS_LAST_RESTART_TIME,
SENSOR_STATUS_LINK_COUNT,
SENSOR_STATUS_MQTT_COUNT,
SENSOR_STATUS_RESTART_REASON,
SENSOR_STATUS_RSSI,
SENSOR_STATUS_SIGNAL,
SENSOR_STATUS_SSID,
SENSOR_TEMPERATURE,
SENSOR_TODAY,
SENSOR_TOTAL,
SENSOR_TOTAL_START_TIME,
SENSOR_TVOC,
SENSOR_VOLTAGE,
SENSOR_WEIGHT,
SENSOR_YESTERDAY,
SIGNAL_STRENGTH_DECIBELS as TASMOTA_SIGNAL_STRENGTH_DECIBELS,
SPEED_KILOMETERS_PER_HOUR as TASMOTA_SPEED_KILOMETERS_PER_HOUR,
SPEED_METERS_PER_SECOND as TASMOTA_SPEED_METERS_PER_SECOND,
SPEED_MILES_PER_HOUR as TASMOTA_SPEED_MILES_PER_HOUR,
TEMP_CELSIUS as TASMOTA_TEMP_CELSIUS,
TEMP_FAHRENHEIT as TASMOTA_TEMP_FAHRENHEIT,
TEMP_KELVIN as TASMOTA_TEMP_KELVIN,
VOLT as TASMOTA_VOLT,
)
from hatasmota import const as hc, status_sensor
from homeassistant.components import sensor
from homeassistant.const import (
@ -109,7 +39,7 @@ from homeassistant.core import callback
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.entity import Entity
from .const import DATA_REMOVE_DISCOVER_COMPONENT, DOMAIN as TASMOTA_DOMAIN
from .const import DATA_REMOVE_DISCOVER_COMPONENT
from .discovery import TASMOTA_DISCOVERY_ENTITY_NEW
from .mixins import TasmotaAvailability, TasmotaDiscoveryUpdate
@ -118,77 +48,77 @@ ICON = "icon"
# A Tasmota sensor type may be mapped to either a device class or an icon, not both
SENSOR_DEVICE_CLASS_ICON_MAP = {
SENSOR_AMBIENT: {DEVICE_CLASS: DEVICE_CLASS_ILLUMINANCE},
SENSOR_APPARENT_POWERUSAGE: {DEVICE_CLASS: DEVICE_CLASS_POWER},
SENSOR_BATTERY: {DEVICE_CLASS: DEVICE_CLASS_BATTERY},
SENSOR_CCT: {ICON: "mdi:temperature-kelvin"},
SENSOR_CO2: {ICON: "mdi:molecule-co2"},
SENSOR_COLOR_BLUE: {ICON: "mdi:palette"},
SENSOR_COLOR_GREEN: {ICON: "mdi:palette"},
SENSOR_COLOR_RED: {ICON: "mdi:palette"},
SENSOR_CURRENT: {ICON: "mdi:alpha-a-circle-outline"},
SENSOR_DEWPOINT: {ICON: "mdi:weather-rainy"},
SENSOR_DISTANCE: {ICON: "mdi:leak"},
SENSOR_ECO2: {ICON: "mdi:molecule-co2"},
SENSOR_FREQUENCY: {ICON: "mdi:current-ac"},
SENSOR_HUMIDITY: {DEVICE_CLASS: DEVICE_CLASS_HUMIDITY},
SENSOR_ILLUMINANCE: {DEVICE_CLASS: DEVICE_CLASS_ILLUMINANCE},
SENSOR_STATUS_IP: {ICON: "mdi:ip-network"},
SENSOR_STATUS_LINK_COUNT: {ICON: "mdi:counter"},
SENSOR_MOISTURE: {ICON: "mdi:cup-water"},
SENSOR_STATUS_MQTT_COUNT: {ICON: "mdi:counter"},
SENSOR_PB0_3: {ICON: "mdi:flask"},
SENSOR_PB0_5: {ICON: "mdi:flask"},
SENSOR_PB10: {ICON: "mdi:flask"},
SENSOR_PB1: {ICON: "mdi:flask"},
SENSOR_PB2_5: {ICON: "mdi:flask"},
SENSOR_PB5: {ICON: "mdi:flask"},
SENSOR_PM10: {ICON: "mdi:air-filter"},
SENSOR_PM1: {ICON: "mdi:air-filter"},
SENSOR_PM2_5: {ICON: "mdi:air-filter"},
SENSOR_POWERFACTOR: {ICON: "mdi:alpha-f-circle-outline"},
SENSOR_POWERUSAGE: {DEVICE_CLASS: DEVICE_CLASS_POWER},
SENSOR_PRESSURE: {DEVICE_CLASS: DEVICE_CLASS_PRESSURE},
SENSOR_PRESSUREATSEALEVEL: {DEVICE_CLASS: DEVICE_CLASS_PRESSURE},
SENSOR_PROXIMITY: {ICON: "mdi:ruler"},
SENSOR_REACTIVE_POWERUSAGE: {DEVICE_CLASS: DEVICE_CLASS_POWER},
SENSOR_STATUS_LAST_RESTART_TIME: {DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP},
SENSOR_STATUS_RESTART_REASON: {ICON: "mdi:information-outline"},
SENSOR_STATUS_SIGNAL: {DEVICE_CLASS: DEVICE_CLASS_SIGNAL_STRENGTH},
SENSOR_STATUS_RSSI: {ICON: "mdi:access-point"},
SENSOR_STATUS_SSID: {ICON: "mdi:access-point-network"},
SENSOR_TEMPERATURE: {DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE},
SENSOR_TODAY: {DEVICE_CLASS: DEVICE_CLASS_POWER},
SENSOR_TOTAL: {DEVICE_CLASS: DEVICE_CLASS_POWER},
SENSOR_TOTAL_START_TIME: {ICON: "mdi:progress-clock"},
SENSOR_TVOC: {ICON: "mdi:air-filter"},
SENSOR_VOLTAGE: {ICON: "mdi:alpha-v-circle-outline"},
SENSOR_WEIGHT: {ICON: "mdi:scale"},
SENSOR_YESTERDAY: {DEVICE_CLASS: DEVICE_CLASS_POWER},
hc.SENSOR_AMBIENT: {DEVICE_CLASS: DEVICE_CLASS_ILLUMINANCE},
hc.SENSOR_APPARENT_POWERUSAGE: {DEVICE_CLASS: DEVICE_CLASS_POWER},
hc.SENSOR_BATTERY: {DEVICE_CLASS: DEVICE_CLASS_BATTERY},
hc.SENSOR_CCT: {ICON: "mdi:temperature-kelvin"},
hc.SENSOR_CO2: {ICON: "mdi:molecule-co2"},
hc.SENSOR_COLOR_BLUE: {ICON: "mdi:palette"},
hc.SENSOR_COLOR_GREEN: {ICON: "mdi:palette"},
hc.SENSOR_COLOR_RED: {ICON: "mdi:palette"},
hc.SENSOR_CURRENT: {ICON: "mdi:alpha-a-circle-outline"},
hc.SENSOR_DEWPOINT: {ICON: "mdi:weather-rainy"},
hc.SENSOR_DISTANCE: {ICON: "mdi:leak"},
hc.SENSOR_ECO2: {ICON: "mdi:molecule-co2"},
hc.SENSOR_FREQUENCY: {ICON: "mdi:current-ac"},
hc.SENSOR_HUMIDITY: {DEVICE_CLASS: DEVICE_CLASS_HUMIDITY},
hc.SENSOR_ILLUMINANCE: {DEVICE_CLASS: DEVICE_CLASS_ILLUMINANCE},
hc.SENSOR_STATUS_IP: {ICON: "mdi:ip-network"},
hc.SENSOR_STATUS_LINK_COUNT: {ICON: "mdi:counter"},
hc.SENSOR_MOISTURE: {ICON: "mdi:cup-water"},
hc.SENSOR_STATUS_MQTT_COUNT: {ICON: "mdi:counter"},
hc.SENSOR_PB0_3: {ICON: "mdi:flask"},
hc.SENSOR_PB0_5: {ICON: "mdi:flask"},
hc.SENSOR_PB10: {ICON: "mdi:flask"},
hc.SENSOR_PB1: {ICON: "mdi:flask"},
hc.SENSOR_PB2_5: {ICON: "mdi:flask"},
hc.SENSOR_PB5: {ICON: "mdi:flask"},
hc.SENSOR_PM10: {ICON: "mdi:air-filter"},
hc.SENSOR_PM1: {ICON: "mdi:air-filter"},
hc.SENSOR_PM2_5: {ICON: "mdi:air-filter"},
hc.SENSOR_POWERFACTOR: {ICON: "mdi:alpha-f-circle-outline"},
hc.SENSOR_POWERUSAGE: {DEVICE_CLASS: DEVICE_CLASS_POWER},
hc.SENSOR_PRESSURE: {DEVICE_CLASS: DEVICE_CLASS_PRESSURE},
hc.SENSOR_PRESSUREATSEALEVEL: {DEVICE_CLASS: DEVICE_CLASS_PRESSURE},
hc.SENSOR_PROXIMITY: {ICON: "mdi:ruler"},
hc.SENSOR_REACTIVE_POWERUSAGE: {DEVICE_CLASS: DEVICE_CLASS_POWER},
hc.SENSOR_STATUS_LAST_RESTART_TIME: {DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP},
hc.SENSOR_STATUS_RESTART_REASON: {ICON: "mdi:information-outline"},
hc.SENSOR_STATUS_SIGNAL: {DEVICE_CLASS: DEVICE_CLASS_SIGNAL_STRENGTH},
hc.SENSOR_STATUS_RSSI: {ICON: "mdi:access-point"},
hc.SENSOR_STATUS_SSID: {ICON: "mdi:access-point-network"},
hc.SENSOR_TEMPERATURE: {DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE},
hc.SENSOR_TODAY: {DEVICE_CLASS: DEVICE_CLASS_POWER},
hc.SENSOR_TOTAL: {DEVICE_CLASS: DEVICE_CLASS_POWER},
hc.SENSOR_TOTAL_START_TIME: {ICON: "mdi:progress-clock"},
hc.SENSOR_TVOC: {ICON: "mdi:air-filter"},
hc.SENSOR_VOLTAGE: {ICON: "mdi:alpha-v-circle-outline"},
hc.SENSOR_WEIGHT: {ICON: "mdi:scale"},
hc.SENSOR_YESTERDAY: {DEVICE_CLASS: DEVICE_CLASS_POWER},
}
SENSOR_UNIT_MAP = {
TASMOTA_CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
TASMOTA_CONCENTRATION_PARTS_PER_BILLION: CONCENTRATION_PARTS_PER_BILLION,
TASMOTA_CONCENTRATION_PARTS_PER_MILLION: CONCENTRATION_PARTS_PER_MILLION,
TASMOTA_ELECTRICAL_CURRENT_AMPERE: ELECTRICAL_CURRENT_AMPERE,
TASMOTA_ELECTRICAL_VOLT_AMPERE: ELECTRICAL_VOLT_AMPERE,
TASMOTA_ENERGY_KILO_WATT_HOUR: ENERGY_KILO_WATT_HOUR,
TASMOTA_FREQUENCY_HERTZ: FREQUENCY_HERTZ,
TASMOTA_LENGTH_CENTIMETERS: LENGTH_CENTIMETERS,
TASMOTA_LIGHT_LUX: LIGHT_LUX,
TASMOTA_MASS_KILOGRAMS: MASS_KILOGRAMS,
TASMOTA_PERCENTAGE: PERCENTAGE,
TASMOTA_POWER_WATT: POWER_WATT,
TASMOTA_PRESSURE_HPA: PRESSURE_HPA,
TASMOTA_SIGNAL_STRENGTH_DECIBELS: SIGNAL_STRENGTH_DECIBELS,
TASMOTA_SPEED_KILOMETERS_PER_HOUR: SPEED_KILOMETERS_PER_HOUR,
TASMOTA_SPEED_METERS_PER_SECOND: SPEED_METERS_PER_SECOND,
TASMOTA_SPEED_MILES_PER_HOUR: SPEED_MILES_PER_HOUR,
TASMOTA_TEMP_CELSIUS: TEMP_CELSIUS,
TASMOTA_TEMP_FAHRENHEIT: TEMP_FAHRENHEIT,
TASMOTA_TEMP_KELVIN: TEMP_KELVIN,
TASMOTA_VOLT: VOLT,
hc.CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
hc.CONCENTRATION_PARTS_PER_BILLION: CONCENTRATION_PARTS_PER_BILLION,
hc.CONCENTRATION_PARTS_PER_MILLION: CONCENTRATION_PARTS_PER_MILLION,
hc.ELECTRICAL_CURRENT_AMPERE: ELECTRICAL_CURRENT_AMPERE,
hc.ELECTRICAL_VOLT_AMPERE: ELECTRICAL_VOLT_AMPERE,
hc.ENERGY_KILO_WATT_HOUR: ENERGY_KILO_WATT_HOUR,
hc.FREQUENCY_HERTZ: FREQUENCY_HERTZ,
hc.LENGTH_CENTIMETERS: LENGTH_CENTIMETERS,
hc.LIGHT_LUX: LIGHT_LUX,
hc.MASS_KILOGRAMS: MASS_KILOGRAMS,
hc.PERCENTAGE: PERCENTAGE,
hc.POWER_WATT: POWER_WATT,
hc.PRESSURE_HPA: PRESSURE_HPA,
hc.SIGNAL_STRENGTH_DECIBELS: SIGNAL_STRENGTH_DECIBELS,
hc.SPEED_KILOMETERS_PER_HOUR: SPEED_KILOMETERS_PER_HOUR,
hc.SPEED_METERS_PER_SECOND: SPEED_METERS_PER_SECOND,
hc.SPEED_MILES_PER_HOUR: SPEED_MILES_PER_HOUR,
hc.TEMP_CELSIUS: TEMP_CELSIUS,
hc.TEMP_FAHRENHEIT: TEMP_FAHRENHEIT,
hc.TEMP_KELVIN: TEMP_KELVIN,
hc.VOLT: VOLT,
}
@ -209,7 +139,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
DATA_REMOVE_DISCOVER_COMPONENT.format(sensor.DOMAIN)
] = async_dispatcher_connect(
hass,
TASMOTA_DISCOVERY_ENTITY_NEW.format(sensor.DOMAIN, TASMOTA_DOMAIN),
TASMOTA_DISCOVERY_ENTITY_NEW.format(sensor.DOMAIN),
async_discover_sensor,
)
@ -222,7 +152,6 @@ class TasmotaSensor(TasmotaAvailability, TasmotaDiscoveryUpdate, Entity):
self._state = None
super().__init__(
discovery_update=self.discovery_update,
**kwds,
)

View file

@ -5,7 +5,7 @@ from homeassistant.components.switch import SwitchEntity
from homeassistant.core import callback
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from .const import DATA_REMOVE_DISCOVER_COMPONENT, DOMAIN as TASMOTA_DOMAIN
from .const import DATA_REMOVE_DISCOVER_COMPONENT
from .discovery import TASMOTA_DISCOVERY_ENTITY_NEW
from .mixins import TasmotaAvailability, TasmotaDiscoveryUpdate
@ -28,7 +28,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
DATA_REMOVE_DISCOVER_COMPONENT.format(switch.DOMAIN)
] = async_dispatcher_connect(
hass,
TASMOTA_DISCOVERY_ENTITY_NEW.format(switch.DOMAIN, TASMOTA_DOMAIN),
TASMOTA_DISCOVERY_ENTITY_NEW.format(switch.DOMAIN),
async_discover,
)
@ -45,7 +45,6 @@ class TasmotaSwitch(
self._state = False
super().__init__(
discovery_update=self.discovery_update,
**kwds,
)