Switch Entity

Properties

tip

Properties should always only return information from memory and not do I/O (like network requests). Implement update() or async_update() to fetch data.

NameTypeDefaultDescription
is_onbooleanRequiredIf the switch is currently on or off.
current_power_wfloatNoneThe current power usage in W.
today_energy_kwhfloatNoneTotal energy usage in kWh.
is_standbybooleanNoneIndicate if the device connected to the switch is currently in standby.

Methods

Turn On

Turn the switch on.

class MySwitch(SwitchDevice):
# Implement one of these methods.
def turn_on(self, **kwargs) -> None:
"""Turn the entity on."""
async def async_turn_on(self, **kwargs):
"""Turn the entity on."""

Turn Off

Turn the switch off.

class MySwitch(SwitchDevice):
# Implement one of these methods.
def turn_off(self, **kwargs):
"""Turn the entity off."""
async def async_turn_off(self, **kwargs):
"""Turn the entity off."""

Toggle

Optional. If not implemented will default to checking what method to call using the is_on property.

class MySwitch(SwitchDevice):
# Implement one of these methods.
def toggle(self, **kwargs):
"""Toggle the entity."""
async def async_toggle(self, **kwargs):
"""Toggle the entity."""

Available device classes

Optional. What type of device this. It will possibly map to google device types. | Value | Description | ----- | ----------- | outlet | Device is an outlet for power. | switch | Device is switch for some type of entity.