"scorpiontahir02" wrote:
... So, according to this info, ifDeviceInfo.GetModel() returns 5000X for all the RokuTVs, no matter what the actual model is. Actual model is returned by ifDeviceInfo.GetModelDetails().ModelNumber. So, I think we can rely on ifDeviceInfo.GetModel() to be 5000X and 6000X for all the RokuTVs.
Yes, that is well known - that RokuTV model# are starting with 5xxx, the news is that 4K RokuTVs are 6xxx. See the recent "Roku Device List (New)" table in a dev.blog post^ - it's the most detailed i have seen yet!
Like i said, currently you can check for RokuTV as simple as:
if createObject("roDeviceInfo").getModel() > "5" then
For code robustness, obviously shouldn't check for "5000X" or "6000X" literals (
hint 1: your code must continue^^, regardless of surprising/future value and make the best informed decision
hint 2: what if you get "5000EU" returned, what say you - is that RokuTV or not?
hint 3: what if a year from now you get "6100X" - what says your gut, which is more likely this to be - a Roku device with or without HDMI cable? ).
I am fairly confident 5 and 6 series will all be RokuTVs, however i won't place bets on whether 7xxx (if there ever be one) would be a set-top box with HDMI output or a combo with TV. Which brings us to asking for
somebody from Roku to chime-in on how to reliably check if TV screen is actually connected/active?
PS. the part that
IsHdcpActive() cannot be relied on to detect if HDMI cable is unplugged in standalone boxes is unfortunate. Not a fan of checking version strings! Relatedly, remember why there was never a "Windows 9" version...
(^) Somewhat unfortunate, the table is [mis]placed under the otherwise unexciting (and in parts wrong!) post "Channel Certification Checklist Version 2.0"
https://blog.roku.com/developer/2016/06 ... cklist-v2/(^^) "The spice must flow..."