We use a combination of device templates to control SmartTV's. See our Wiki page section for specifics; http://wiki.linuxmce.org/index.php/Dianemo_S#TV_Control_In_Summary. I think this section needs some updates for other brands of TV's - which I will follow up on asap. Most modern SmartTV's are controllable to some extent by using our Universal UPnP template alone but every make/model varies a lot in this respect. One universal limitation is that if you force SmartTV's into stand-by mode with an 'Off' command they will not respond to an 'On' command to wake them up again (because the network port is powered down in stand-by mode!). So we always use our CEC HDMI over IP device to power up TV's from stand-by.
So depending on the brand of TV we use one or all of the device templates mentioned to deliver control of the TV. Its a little bit messy but until TV manufacturers standardise how they implement this this is not going to change - don't hold your breath for that!
All the best