I came up with a work around to get Alexa to turn on Samsung Smart TVs. I believe this should work with 2016+ models. First we are going to create an app that will let us turn the tv on through wake-on-lan.
Login to your smartthings account at https://graph-na04-useast2.api.smartthings.com/
Select From Code
Go to here in a new broswer tab: https://github.com/freethewhat/mySmartThings/blob/master/smartapps/freethewhat/computer-power-control-with-wake-on-lan.src/computer-power-control-with-wake-on-lan.groovy
Go back to Smartthings browser tab
Select box and press Ctrl+V
Select For Me
Next we are going to create a virtual switch through Smartthings. In the same tab already open do the following:
Select My Devices
Select +New Device
Under Name type “Turn TV On” without the quotation marks
Under Device Network id put whatever you want as log as it isn’t in use by another device. I put “12345678” without the quotation marks
Under type select “Momentary Button Tile”
Under location select “Home” or whatever is applicable to you
Under hub select “Home Hub” or whatever is applicable to you
Now we are going to setup the Simulated Switch that Alexa will use to turn the TV on and off.
Next open Smartthings Classic on your phone/tablet (MAKE SURE YOU ARE USING THE SMARTTHINGS CLASSIC APP AND NOT THE NEW SMARTTHINGS APP TO SET THIS UP!)
Select Computer Power Control with Wake on LAN
Under Switch select “Turn TV On”
Under Computer IP address enter the IP address of your tv. To find it do the following on your TV:
Hit home button on remote
Go to Settings
Go to Network
Select Network Status
Select IP Settings. You will find your IP address on this screen. Enter this into the app on your phone/tablet. I highly recommend settings up a static ip address on your router for your tv. This number may change over time.
Under Webserver port enter 8001
Now we need to find the MAC address for your tv. Select home button on TV remote.
Go to settings
Go to Support
Go to Contact Samsung
Scroll down and you will find two MAC addresses for Wired internet and for Wireless internet. Copy down wireless if you are on wifi or wired if your TV is connected to the internet with an ethernet cable.
Back on your phone/tablet enter the MAC address under “Computer MAC Address without” Make sure you leave all of the colons “:” from the MAC address
Now we need to setup voice triggers on the Alexa app. Go ahead and open the Amazon Alexa app on your phone or tablet
Go to Routines
Select + Under “When this happens”
type “Turn TV on”
Select + Under “Add action”
Select “Smart Home”
Select “Control device”
Select “Turn TV On”
Now your tv will turn on when you tell Alexa “Turn TV On”. I repeated the last section and added “Turn On TV”, “Turn On the TV”, and “Turn the TV On” for voice triggers in the Alexa app. I’d recommend doing this as well so Alexa can turn on the TV using these voice triggers.