developers.home-assistant/docs/entity_switch.md

1.7 KiB

title sidebar_label
Switch Entity Switch

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. :::

Name Type Default Description
is_on boolean Required If the switch is currently on or off.
current_power_w float None The current power usage in W.
today_energy_kwh float None Total energy usage in kWh.
is_standby boolean None Indicate 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.