diff --git a/homeassistant/components/lg_soundbar/media_player.py b/homeassistant/components/lg_soundbar/media_player.py
index 61baed1198b18ea1c147555fdd21340f73d14e5b..cebe1d33728bab85f0b5d2003aba9508aa2280df 100644
--- a/homeassistant/components/lg_soundbar/media_player.py
+++ b/homeassistant/components/lg_soundbar/media_player.py
@@ -2,6 +2,8 @@
 
 from __future__ import annotations
 
+from typing import Any
+
 import temescal
 
 from homeassistant.components.media_player import (
@@ -43,6 +45,8 @@ class LGDevice(MediaPlayerEntity):
     _attr_supported_features = (
         MediaPlayerEntityFeature.VOLUME_SET
         | MediaPlayerEntityFeature.VOLUME_MUTE
+        | MediaPlayerEntityFeature.TURN_ON
+        | MediaPlayerEntityFeature.TURN_OFF
         | MediaPlayerEntityFeature.SELECT_SOURCE
         | MediaPlayerEntityFeature.SELECT_SOUND_MODE
     )
@@ -93,14 +97,7 @@ class LGDevice(MediaPlayerEntity):
         """Handle responses from the speakers."""
         data = response.get("data") or {}
         if response["msg"] == "EQ_VIEW_INFO":
-            if "i_bass" in data:
-                self._bass = data["i_bass"]
-            if "i_treble" in data:
-                self._treble = data["i_treble"]
-            if "ai_eq_list" in data:
-                self._equalisers = data["ai_eq_list"]
-            if "i_curr_eq" in data:
-                self._equaliser = data["i_curr_eq"]
+            self._update_equalisers(data)
         elif response["msg"] == "SPK_LIST_VIEW_INFO":
             if "i_vol" in data:
                 self._volume = data["i_vol"]
@@ -112,6 +109,11 @@ class LGDevice(MediaPlayerEntity):
                 self._mute = data["b_mute"]
             if "i_curr_func" in data:
                 self._function = data["i_curr_func"]
+            if "b_powerstatus" in data:
+                if data["b_powerstatus"]:
+                    self._attr_state = MediaPlayerState.ON
+                else:
+                    self._attr_state = MediaPlayerState.OFF
         elif response["msg"] == "FUNC_VIEW_INFO":
             if "i_curr_func" in data:
                 self._function = data["i_curr_func"]
@@ -137,6 +139,17 @@ class LGDevice(MediaPlayerEntity):
 
         self.schedule_update_ha_state()
 
+    def _update_equalisers(self, data: dict[str, Any]) -> None:
+        """Update the equalisers."""
+        if "i_bass" in data:
+            self._bass = data["i_bass"]
+        if "i_treble" in data:
+            self._treble = data["i_treble"]
+        if "ai_eq_list" in data:
+            self._equalisers = data["ai_eq_list"]
+        if "i_curr_eq" in data:
+            self._equaliser = data["i_curr_eq"]
+
     def update(self) -> None:
         """Trigger updates from the device."""
         self._device.get_eq()
@@ -204,3 +217,17 @@ class LGDevice(MediaPlayerEntity):
     def select_sound_mode(self, sound_mode: str) -> None:
         """Set Sound Mode for Receiver.."""
         self._device.set_eq(temescal.equalisers.index(sound_mode))
+
+    def turn_on(self) -> None:
+        """Turn the media player on."""
+        self._set_power(True)
+
+    def turn_off(self) -> None:
+        """Turn the media player off."""
+        self._set_power(False)
+
+    def _set_power(self, status: bool) -> None:
+        """Set the media player state."""
+        self._device.send_packet(
+            {"cmd": "set", "data": {"b_powerkey": status}, "msg": "SPK_LIST_VIEW_INFO"}
+        )