Samsung Smart TV

The samsungtv platform allows you to control a Samsung Smart TV.


Go to the integrations page in your configuration and click on new integration -> Samsung TV. If your TV is on and you have enabled SSDP discovery, it’s likely that you just have to confirm the detected device.

When the TV is first connected, you will need to accept Home Assistant on the TV to allow communication.

YAML Configuration

YAML configuration is around for people that prefer YAML. To use this integration, add the following to your configuration.yaml file:

# Example configuration.yaml entry
  - host: IP_ADDRESS

Configuration Variables

host string Required

The hostname or IP of the Samsung Smart TV, e.g.,

name string (Optional)

The name you would like to give to the Samsung Smart TV.

turn_on_action list (Optional)

Defines an action to turn the TV on.

After saving the YAML configuration, the TV must be turned on before launching Home Assistant in order for the TV to be registered the first time.

Wake up TV / TV does not turn on

If the integration knows the MAC address of the TV from discovery, it will attempt to wake it using wake on LAN when calling turn on. Wake on LAN must be enabled on the TV for this to work. If the TV is connected to a smart strip or requires a more complex turn-on process, a turn_on_action can be provided that will take precedence over the built-in wake on LAN functionality.

To wake up the TV when switched off you can use the wake-on-lan integration and call a service.


  - host: IP_ADDRESS
      - service: wake_on_lan.send_magic_packet
          mac: MAC_ADDRESS


Changing channels

Changing channels can be done by calling the media_player.play_media service with the following payload:

entity_id: media_player.samsung_tv
media_content_id: 590
media_content_type: channel

Selecting a source

It’s possible to switch between the 2 sources TV and HDMI.

Home Assistant Core additional requirements

You will need to install the websocket-client Python package in your Home Assistant install. This will probably be done with:

pip3 install websocket-client

Remembering to activate your venv if you’re using a venv install.