A Python library that provides an easy way to identify devices like mobile phones, tablets and their capabilities by parsing (browser) user agent strings.
It seems many specific cases aren't detected (I totally appreciate User Agent strings are a nightmare), such as Steam Overlay, so feel free to close this if you're not interested in niche devices.
Samsung smart-tv is detected as 'Other'.
They've provided docs for their smart-tv range. http://developer.samsung.com/technical-doc/view.do?v=T000000203