diff --git a/homeassistant/components/hdmi_cec/switch.py b/homeassistant/components/hdmi_cec/switch.py index 3764766275e..a268d7cfe79 100644 --- a/homeassistant/components/hdmi_cec/switch.py +++ b/homeassistant/components/hdmi_cec/switch.py @@ -4,6 +4,7 @@ from __future__ import annotations import logging from homeassistant.components.switch import DOMAIN, SwitchEntity +from homeassistant.const import STATE_OFF, STATE_ON from . import ATTR_NEW, CecEntity @@ -34,17 +35,25 @@ class CecSwitchEntity(CecEntity, SwitchEntity): def turn_on(self, **kwargs) -> None: """Turn device on.""" self._device.turn_on() - self._attr_is_on = True + self._state = STATE_ON self.schedule_update_ha_state(force_refresh=False) def turn_off(self, **kwargs) -> None: """Turn device off.""" self._device.turn_off() - self._attr_is_on = False + self._state = STATE_OFF self.schedule_update_ha_state(force_refresh=False) def toggle(self, **kwargs): """Toggle the entity.""" self._device.toggle() - self._attr_is_on = not self._attr_is_on + if self._state == STATE_ON: + self._state = STATE_OFF + else: + self._state = STATE_ON self.schedule_update_ha_state(force_refresh=False) + + @property + def is_on(self) -> bool: + """Return True if entity is on.""" + return self._state == STATE_ON