1 """Support for Edimax switches."""
3 from __future__
import annotations
7 from pyedimax.smartplug
import SmartPlug
8 import voluptuous
as vol
11 PLATFORM_SCHEMA
as SWITCH_PLATFORM_SCHEMA,
22 DEFAULT_NAME =
"Edimax Smart Plug"
23 DEFAULT_PASSWORD =
"1234"
24 DEFAULT_USERNAME =
"admin"
26 PLATFORM_SCHEMA = SWITCH_PLATFORM_SCHEMA.extend(
28 vol.Required(CONF_HOST): cv.string,
29 vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
30 vol.Optional(CONF_PASSWORD, default=DEFAULT_PASSWORD): cv.string,
31 vol.Optional(CONF_USERNAME, default=DEFAULT_USERNAME): cv.string,
39 add_entities: AddEntitiesCallback,
40 discovery_info: DiscoveryInfoType |
None =
None,
42 """Find and return Edimax Smart Plugs."""
43 host = config.get(CONF_HOST)
44 auth = (config.get(CONF_USERNAME), config.get(CONF_PASSWORD))
45 name = config.get(CONF_NAME)
51 """Representation an Edimax Smart Plug switch."""
54 """Initialize the switch."""
63 """Return the device's MAC address."""
68 """Return the name of the Smart Plug, if any."""
69 return self.
_name_name
73 """Return true if switch is on."""
77 """Turn the switch on."""
81 """Turn the switch off."""
85 """Update edimax switch."""
86 if not self.
_info_info:
def __init__(self, smartplug, name)
None turn_on(self, **Any kwargs)
None turn_off(self, **Any kwargs)
None add_entities(AsusWrtRouter router, AddEntitiesCallback async_add_entities, set[str] tracked)
None setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback add_entities, DiscoveryInfoType|None discovery_info=None)