diff --git a/homeassistant/components/samsungtv/bridge.py b/homeassistant/components/samsungtv/bridge.py index 3577ac567b1..84a92b3a9b6 100644 --- a/homeassistant/components/samsungtv/bridge.py +++ b/homeassistant/components/samsungtv/bridge.py @@ -459,6 +459,9 @@ class SamsungTVWSBridge( async def async_is_on(self) -> bool: """Tells if the TV is on.""" + # On some TVs, opening a websocket turns on the TV + # so first check "PowerState" if device_info has it + # then fallback to default, trying to open a websocket if self._get_device_spec("PowerState") is not None: LOGGER.debug("Checking if TV %s is on using device info", self.host) # Ensure we get an updated value