The HbbTV version supported by the TV is exposed in the UserAgent string. According to the HbbTV specification it needs to have the form:
HbbTV/1.1.1 (<capabilities>; [<vendorName>]; [<modelName>]; [<softwareVersion>]; [<hardwareVersion>]; <reserved>)
On my Samsung it is HbbTV/1.1.1 (;Samsung;SmartTV2014;T-NT14UDEUC-1005.2;;) WebKit
. On LG it is Mozilla/5.0 (Unknown; Linux armv7l) AppleWebKit/537.1+ HbbTV/1.1.1 (; LGE; WEBOS1; 03.23.31; 1H13;)
for example.
You can access this string with the Navigator object navigator.userAgent
. The version strings HbbTV/1.1.1 maps to what is called HbbTV 1.0 in public. HbbTV/1.2.1 maps to 1.5, etc.
+-------------+---------------+
| UserAgent | HbbTV Version |
+=============+===============|
| HbbTV/1.1.1 | HbbTV 1.0 |
| HbbTV/1.2.1 | HbbTV 1.5 |
| HbbTV/1.3.1 | HbbTV 2.0 |
| HbbTV/1.4.1 | HbbTV 2.0.1 |
| HbbTV/1.5.1 | HbbTV 2.0.2 |
| HbbTV/1.6.1 | HbbTV 2.0.3 |
| HbbTV/1.7.1 | HbbTV 2.0.4 |
+-------------+---------------+
You can find the specifications under https://www.hbbtv.org/resource-library/#specifications