developers.home-assistant/docs/entity_switch.md

1.5 KiB

title sidebar_label
Switch Entity Switch

Properties

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