bschlenk/homebridge-roku

Roku Configs

bschlenk opened this issue · 26 comments

Creating this issue as a place for others to post their configurations generated by running the setup. The idea is to gather all possible values from a range of device versions, which might aid in adding new features.

Feel free to remove any fields that seem private, such as the advertisingId.

{
    "udn": "02780009-580a-1010-8036-ace010954e4e",
    "serial-number": "2N009F659510",
    "device-id": "4R6569659510",
    "vendor-name": "TCL",
    "model-name": "TCL 55FS3700",
    "model-number": "5115X",
    "model-region": "US",
    "screen-size": "55",
    "panel-id": "10",
    "tuner-type": "ATSC",
    "supports-ethernet": "false",
    "wifi-mac": "<redacted>",
    "network-type": "wifi",
    "user-device-name": "Roku TV",
    "software-version": "7.7.0",
    "software-build": "4142",
    "secure-device": "true",
    "language": "en",
    "country": "US",
    "locale": "en_US",
    "time-zone": "US/Pacific",
    "time-zone-offset": "-420",
    "power-mode": "PowerOn",
    "supports-suspend": "true",
    "supports-find-remote": "false",
    "supports-audio-guide": "true",
    "developer-enabled": "false",
    "keyed-developer-id": "",
    "search-enabled": "true",
    "search-channels-enabled": "true",
    "voice-search-enabled": "true",
    "notifications-enabled": "true",
    "notifications-first-use": "true",
    "supports-private-listening": "true",
    "headphones-connected": "false",
    "supports-ecs-textedit": "true",
    "supports-ecs-microphone": "true",
    "is-tv": "true",
    "supports-wake-on-wlan": "false",
    "has-play-on-roku": "true",
    "has-mobile-screensaver": "false"
}

My TV is this one. I find mine is "supportsWakeOnWlan": "true",

{
                "udn": "298c0002-9c0c-104e-8091-2cd974b86564",
                "serialNumber": "-----------",
                "deviceId": "-----------",
                "advertisingId": "-----------",
                "vendorName": "TCL",
                "modelName": "55S515",
                "modelNumber": "7118X",
                "modelRegion": "US",
                "isTv": "true",
                "isStick": "false",
                "screenSize": "55",
                "panelId": "18",
                "tunerType": "ATSC",
                "supportsEthernet": "true",
                "wifiMac": "-----------",
                "ethernetMac": "-----------",
                "networkType": "wifi",
                "userDeviceName": "55\" TCL Roku TV",
                "softwareVersion": "8.0.2",
                "softwareBuild": "4140",
                "secureDevice": "true",
                "language": "en",
                "country": "US",
                "locale": "en_US",
                "timeZone": "US/Pacific",
                "timeZoneOffset": "-420",
                "powerMode": "PowerOn",
                "supportsSuspend": "true",
                "supportsFindRemote": "false",
                "supportsAudioGuide": "true",
                "developerEnabled": "false",
                "keyedDeveloperId": "",
                "searchEnabled": "true",
                "searchChannelsEnabled": "true",
                "voiceSearchEnabled": "true",
                "notificationsEnabled": "true",
                "notificationsFirstUse": "true",
                "supportsPrivateListening": "true",
                "supportsPrivateListeningDtv": "true",
                "supportsWarmStandby": "true",
                "headphonesConnected": "false",
                "expertPqEnabled": "0.5",
                "supportsEcsTextedit": "true",
                "supportsEcsMicrophone": "true",
                "supportsWakeOnWlan": "true",
                "hasPlayOnRoku": "true",
                "hasMobileScreensaver": "true"
}

{
"device-info": {
"udn": "xxxxx-xxxxx-xx...",
"serial-number": "XXXX12345-XX",
"device-id": "XXXXXXXXXXXX",
"advertising-id": "xxxxxx-xxxxx-xxxxx-xxx...",
"vendor-name": "Insignia",
"model-name": "NS-50DR620NA18",
"model-number": "7302X",
"model-region": "US",
"is-tv": "true",
"is-stick": "false",
"screen-size": "50",
"panel-id": "3",
"tuner-type": "ATSC",
"supports-ethernet": "true",
"wifi-mac": "00:11:22:333:44:55",
"wifi-driver": "realtek",
"ethernet-mac": "00:11:22:33:44:66",
"network-type": "ethernet",
"friendly-device-name": "INSIGNIA•Roku TV - [serial]",
"friendly-model-name": "INSIGNIA•Roku TV",
"default-device-name": "INSIGNIA•Roku TV - [serial]",
"software-version": "8.1.0",
"software-build": "4139",
"secure-device": "true",
"language": "en",
"country": "US",
"locale": "en_US",
"time-zone-auto": "true",
"time-zone": "US/Eastern",
"time-zone-name": "United States/Eastern",
"time-zone-tz": "America/New_York",
"time-zone-offset": "-240",
"clock-format": "24-hour",
"uptime": "151122",
"power-mode": "DisplayOff",
"supports-suspend": "true",
"supports-find-remote": "false",
"supports-audio-guide": "true",
"developer-enabled": "false",
"search-enabled": "true",
"search-channels-enabled": "true",
"voice-search-enabled": "true",
"notifications-enabled": "true",
"notifications-first-use": "true",
"supports-private-listening": "true",
"supports-private-listening-dtv": "true",
"supports-warm-standby": "true",
"headphones-connected": "false",
"expert-pq-enabled": "0.5",
"supports-ecs-textedit": "true",
"supports-ecs-microphone": "true",
"supports-wake-on-wlan": "true",
"has-play-on-roku": "true",
"has-mobile-screensaver": "true",
"support-url": "www.insigniaproducts.com"
}
}

can someone please help me out on this

{
"udn": "xxxxx-xxxxx-xx...",
"serial-number": "XXXX12345-XX",
"device-id": "XXXXXXXXXXXX",
"advertising-id": "xxxxxx-xxxxx-xxxxx-xxx...",
"vendorName": "TCL",
"modelName": "49S405",
"modelNumber": "7104X",
"modelRegion": "US",
"isTv": "true",
"isStick": "false",
"screenSize": "50",
"panelId": "3",
"tunerType": "ATSC",
"supportsEthernet": "true",
"wifiMac": "xxxxxxx",
"wifiDriver": "realtek",
"ethernetMac": "xxxxxxx",
"networkType": "ethernet",
"friendlyDeviceName": "49" TCL Roku TV",
"friendlyModelName": "TCL•Roku TV",
"defaultDeviceName": "TCL•Roku TV - YN00KT863750",
"userDeviceName": "49" TCL Roku TV",
"softwareVersion": "8.2.0",
"softwareBuild": "4167",
"secureDevice": "true",
"language": "en",
"country": "US",
"locale": "en_US",
"timeZoneAuto": "true",
"timeZone": "US/Pacific",
"timeZoneName": "United States/Pacific",
"timeZoneTz": "America/Los_Angeles",
"timeZoneOffset": "-480",
"clockFormat": "12-hour",
"uptime": "350937",
"powerMode": "PowerOn",
"supportsSuspend": "true",
"supportsFindRemote": "false",
"supportsAudioGuide": "true",
"supportsRva": "true",
"developerEnabled": "false",
"keyedDeveloperId": "",
"searchEnabled": "true",
"searchChannelsEnabled": "true",
"voiceSearchEnabled": "true",
"notificationsEnabled": "true",
"notificationsFirstUse": "true",
"supportsPrivateListening": "true",
"supportsPrivateListeningDtv": "true",
"supportsWarmStandby": "true",
"headphonesConnected": "true",
"expertPqEnabled": "0.5",
"supportsEcsTextedit": "true",
"supportsEcsMicrophone": "true",
"supportsWakeOnWlan": "true",
"hasPlayOnRoku": "true",
"hasMobileScreensaver": "true",
"supportUrl": "tclusa.com/support"
},
"appMap": {
"Movie Store and TV Store": "31012",
"HDMI 1 (ARC)": "tvinput.hdmi1",
"HDMI 2": "tvinput.hdmi2",
"HDMI 3": "tvinput.hdmi3",
"AV": "tvinput.cvbs",
"Antenna TV": "tvinput.dtv",
"Netflix": "12",
"Amazon Prime Video": "13",
"Hulu": "2285",
"4K Spotlight": "69091",
"VUDU": "13842",
"Google Play Movies": "50025",
"YouTube TV": "195316",
"Comedy Central": "63344",
"Cartoon Network": "164003",
"Roku Media Player": "2213",
"iHeartRadio": "20197",
"Roku TV Intro": "45706",
"HBO NOW": "61322",
"The Roku Channel": "151908",
"DIRECTV NOW": "140474"

My tv is this.

{
  "ip": "http://xxx.xxx.x.xx:xxxx",
  "info": {
    "udn": "2978001d-a00f-1003-8058-c4985c793ef7",
    "serialNumber": "xxxxxxxxxxxx",
    "deviceId": "xxxxxxxxxxxx",
    "advertisingId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "vendorName": "TCL",
    "modelName": "50S423",
    "modelNumber": "7130X",
    "modelRegion": "US",
    "isTv": "true",
    "isStick": "false",
    "screenSize": "50",
    "panelId": "40",
    "tunerType": "ATSC",
    "supportsEthernet": "true",
    "wifiMac": "xx:xx:xx:xx:xx:xx",
    "wifiDriver": "realtek",
    "ethernetMac": "xx:xx:xx:xx:xx:xx",
    "networkType": "wifi",
    "networkName": "<redacted>",
    "friendlyDeviceName": "50\" TCL Roku TV",
    "friendlyModelName": "TCL•Roku TV",
    "defaultDeviceName": "TCL•Roku TV - xxxxxxxxxxxx",
    "userDeviceName": "50\" TCL Roku TV",
    "softwareVersion": "8.2.2",
    "softwareBuild": "4107",
    "secureDevice": "true",
    "language": "en",
    "country": "US",
    "locale": "en_US",
    "timeZoneAuto": "true",
    "timeZone": "US/Pacific",
    "timeZoneName": "United States/Pacific",
    "timeZoneTz": "America/Los_Angeles",
    "timeZoneOffset": "-480",
    "clockFormat": "12-hour",
    "uptime": "168778",
    "powerMode": "PowerOn",
    "supportsSuspend": "true",
    "supportsFindRemote": "false",
    "supportsAudioGuide": "true",
    "supportsRva": "true",
    "developerEnabled": "false",
    "keyedDeveloperId": "",
    "searchEnabled": "true",
    "searchChannelsEnabled": "true",
    "voiceSearchEnabled": "true",
    "notificationsEnabled": "true",
    "notificationsFirstUse": "true",
    "supportsPrivateListening": "true",
    "supportsPrivateListeningDtv": "true",
    "supportsWarmStandby": "true",
    "headphonesConnected": "true",
    "expertPqEnabled": "0.5",
    "supportsEcsTextedit": "true",
    "supportsEcsMicrophone": "true",
    "supportsWakeOnWlan": "true",
    "hasPlayOnRoku": "true",
    "hasMobileScreensaver": "true",
    "supportUrl": "tclusa.com/support"
  },
  "appMap": {
    "Movie Store and TV Store": "31012",
    "Apple TV": "tvinput.hdmi1",
    "Game console": "tvinput.hdmi2",
    "Computer": "tvinput.hdmi3",
    "Netflix": "12",
    "YouTube": "837",
    "Amazon Prime Video": "13",
    "The Roku Channel": "151908",
    "Spotify": "19977",
    "Pandora": "28",
    "Cartoon Network": "164003",
    "Redbox": "189839",
    "iHeartRadio": "20197",
    "Vimeo": "1980",
    "Google Play Movies": "50025",
    "TNT": "154157",
    "Spectrum TV": "23048",
    "Firefox": "47545",
    "Crunchyroll.com": "2595",
    "NASA UHD": "252738",
    "Roku Media Player": "2213",
    "4K Spotlight": "69091"
  },
  "name": "Roku",
  "accessory": "Roku"
}

how did you get it to 12.2?

i used a harmony hub to do it, but would love to know how to do it through homebridge

has anyone figure out how to config more than one device. this is what i have, but can't get it validated.

"accessories": [{
"ip": "http://192.168.0.2:8060",
"info": {
"udn": "2978001b-040f-1039-8086-0c62a6aa7c66",
"serialNumber": "YN00K1997766",
"deviceId": "CN67AK997766",
"advertisingId": "ea9ca249-df2b-520d-b035-09cffb251e4e",
"vendorName": "TCL",
"modelName": "55S401",
"modelNumber": "7111X",
"modelRegion": "US",
"isTv": "true",
"isStick": "false",
"screenSize": "55",
"panelId": "14",
"tunerType": "ATSC",
"supportsEthernet": "true",
"wifiMac": "0c:62:a6:aa:7c:66",
"wifiDriver": "realtek",
"ethernetMac": "5c:ad:76:25:27:9d",
"networkType": "wifi",
"networkName": "ARRIS-8E83-5G",
"friendlyDeviceName": "55" TCL Roku TV",
"friendlyModelName": "TCL•Roku TV",
"defaultDeviceName": "TCL•Roku TV - YN00K1997766",
"userDeviceName": "55" TCL Roku TV",
"softwareVersion": "8.2.0",
"softwareBuild": "4167",
"secureDevice": "true",
"language": "en",
"country": "US",
"locale": "en_US",
"timeZoneAuto": "true",
"timeZone": "US/Eastern",
"timeZoneName": "United States/Eastern",
"timeZoneTz": "America/New_York",
"timeZoneOffset": "-300",
"clockFormat": "12-hour",
"uptime": "2047090",
"powerMode": "PowerOn",
"supportsSuspend": "true",
"supportsFindRemote": "false",
"supportsAudioGuide": "true",
"supportsRva": "true",
"developerEnabled": "false",
"keyedDeveloperId": "",
"searchEnabled": "true",
"searchChannelsEnabled": "true",
"voiceSearchEnabled": "true",
"notificationsEnabled": "true",
"notificationsFirstUse": "true",
"supportsPrivateListening": "true",
"supportsPrivateListeningDtv": "true",
"supportsWarmStandby": "true",
"headphonesConnected": "false",
"expertPqEnabled": "0.5",
"supportsEcsTextedit": "true",
"supportsEcsMicrophone": "true",
"supportsWakeOnWlan": "true",
"hasPlayOnRoku": "true",
"hasMobileScreensaver": "true",
"supportUrl": "tclusa.com/support"
},
"appMap": {
"HDMI 3": "tvinput.hdmi3",
"PlayStation": "tvinput.hdmi2",
"Apple TV": "tvinput.hdmi1",
"Cable TV": "tvinput.cvbs",
"Antenna TV": "tvinput.dtv",
"Netflix": "12",
"VUDU": "13842",
"Amazon Prime Video": "13",
"4K Spotlight": "69091",
"Hulu": "2285",
"Google Play Movies": "50025",
"DIRECTV NOW": "140474",
"Spectrum TV": "23048",
"Roku Media Player": "2213",
"Roku TV Intro": "45706",
"Sling TV ": "46041",
"SHOWTIME": "8838",
"HBO NOW": "61322",
"The Roku Channel": "151908",
"YouTube": "837",
"PlayStation Vue": "93374",
"YouTube TV": "195316"
},
"name": "Roku",
"accessory": "Roku"
}
}]
}

"ip": "http://192.168.0.29:8060",
"info": {
"udn": "296c0006-7408-1092-808d-c4985c0b04a0",
"serialNumber": "YK006M561805",
"deviceId": "J9A896561805",
"advertisingId": "da327541-a17c-5fa2-bb64-3aee48753a36",
"vendorName": "TCL",
"modelName": "32S321",
"modelNumber": "8112X",
"modelRegion": "US",
"isTv": "true",
"isStick": "false",
"screenSize": "32",
"panelId": "9",
"tunerType": "ATSC",
"supportsEthernet": "false",
"wifiMac": "c4:98:5c:0b:04:a0",
"wifiDriver": "realtek",
"ethernetMac": "5c:ad:76:25:27:9d",
"networkType": "wifi",
"networkName": "ARRIS-8E83",
"friendlyDeviceName": "32" TCL Roku TV",
"friendlyModelName": "TCL•Roku TV",
"defaultDeviceName": "TCL•Roku TV - YK006M561805",
"userDeviceName": "32" TCL Roku TV",
"softwareVersion": "8.2.0",
"softwareBuild": "4169",
"secureDevice": "true",
"language": "en",
"country": "US",
"locale": "en_US",
"timeZoneAuto": "true",
"timeZone": "US/Eastern",
"timeZoneName": "United States/Eastern",
"timeZoneTz": "America/New_York",
"timeZoneOffset": "-300",
"clockFormat": "12-hour",
"uptime": "3301",
"powerMode": "PowerOn",
"supportsSuspend": "true",
"supportsFindRemote": "false",
"supportsAudioGuide": "true",
"supportsRva": "true",
"developerEnabled": "false",
"keyedDeveloperId": "",
"searchEnabled": "true",
"searchChannelsEnabled": "true",
"voiceSearchEnabled": "true",
"notificationsEnabled": "true",
"notificationsFirstUse": "true",
"supportsPrivateListening": "true",
"supportsPrivateListeningDtv": "true",
"supportsWarmStandby": "true",
"headphonesConnected": "false",
"expertPqEnabled": "0.5",
"supportsEcsTextedit": "true",
"supportsEcsMicrophone": "true",
"supportsWakeOnWlan": "true",
"hasPlayOnRoku": "true",
"hasMobileScreensaver": "false",
"supportUrl": "tclusa.com/support"
},
"name": "Roku",
"accessory": "Roku",
"appMap": {
"Firestick": "tvinput.hdmi1",
"Cable TV": "tvinput.cvbs",
"Antenna TV": "tvinput.dtv",
"Netflix": "12",
"VUDU": "13842",
"Amazon Prime Video": "13",
"Hulu": "2285",
"Google Play Movies": "50025",
"DIRECTV NOW": "140474",
"Spectrum TV": "23048",
"Roku Media Player": "2213",
"YouTube": "837",
"PlayStation Vue": "93374",
"YouTube TV": "195316",
"Roku TV Intro": "45706",
"Sling TV ": "46041",
"SHOWTIME": "8838",
"HBO NOW": "61322",
"The Roku Channel": "151908"
}
}]
}

@roberkane212 the bare minimum you could have done is notice the many errors in the code using a validation tool. Now it’s fixed. I’ve added a comma. :/

"accessories":[
   {
      "ip":"http://192.168.0.2:8060",
      "info":{
         "udn":"2978001b-040f-1039-8086-0c62a6aa7c66",
         "serialNumber":"YN00K1997766",
         "deviceId":"CN67AK997766",
         "advertisingId":"ea9ca249-df2b-520d-b035-09cffb251e4e",
         "vendorName":"TCL",
         "modelName":"55S401",
         "modelNumber":"7111X",
         "modelRegion":"US",
         "isTv":"true",
         "isStick":"false",
         "screenSize":"55",
         "panelId":"14",
         "tunerType":"ATSC",
         "supportsEthernet":"true",
         "wifiMac":"0c:62:a6:aa:7c:66",
         "wifiDriver":"realtek",
         "ethernetMac":"5c:ad:76:25:27:9d",
         "networkType":"wifi",
         "networkName":"ARRIS-8E83-5G",
         "friendlyDeviceName":"55\" TCL Roku TV",
         "friendlyModelName":"TCL•Roku TV",
         "defaultDeviceName":"TCL•Roku TV - YN00K1997766",
         "userDeviceName":"55\" TCL Roku TV",
         "softwareVersion":"8.2.0",
         "softwareBuild":"4167",
         "secureDevice":"true",
         "language":"en",
         "country":"US",
         "locale":"en_US",
         "timeZoneAuto":"true",
         "timeZone":"US/Eastern",
         "timeZoneName":"United States/Eastern",
         "timeZoneTz":"America/New_York",
         "timeZoneOffset":"-300",
         "clockFormat":"12-hour",
         "uptime":"2047090",
         "powerMode":"PowerOn",
         "supportsSuspend":"true",
         "supportsFindRemote":"false",
         "supportsAudioGuide":"true",
         "supportsRva":"true",
         "developerEnabled":"false",
         "keyedDeveloperId":"",
         "searchEnabled":"true",
         "searchChannelsEnabled":"true",
         "voiceSearchEnabled":"true",
         "notificationsEnabled":"true",
         "notificationsFirstUse":"true",
         "supportsPrivateListening":"true",
         "supportsPrivateListeningDtv":"true",
         "supportsWarmStandby":"true",
         "headphonesConnected":"false",
         "expertPqEnabled":"0.5",
         "supportsEcsTextedit":"true",
         "supportsEcsMicrophone":"true",
         "supportsWakeOnWlan":"true",
         "hasPlayOnRoku":"true",
         "hasMobileScreensaver":"true",
         "supportUrl":"tclusa.com/support"
      },
      "appMap":{
         "HDMI 3":"tvinput.hdmi3",
         "PlayStation":"tvinput.hdmi2",
         "Apple TV":"tvinput.hdmi1",
         "Cable TV":"tvinput.cvbs",
         "Antenna TV":"tvinput.dtv",
         "Netflix":"12",
         "VUDU":"13842",
         "Amazon Prime Video":"13",
         "4K Spotlight":"69091",
         "Hulu":"2285",
         "Google Play Movies":"50025",
         "DIRECTV NOW":"140474",
         "Spectrum TV":"23048",
         "Roku Media Player":"2213",
         "Roku TV Intro":"45706",
         "Sling TV ":"46041",
         "SHOWTIME":"8838",
         "HBO NOW":"61322",
         "The Roku Channel":"151908",
         "YouTube":"837",
         "PlayStation Vue":"93374",
         "YouTube TV":"195316"
      },
      "name":"Roku Family Room",
      "accessory":"Roku"
   },
   {
      "ip":"http://192.168.0.29:8060",
      "info":{
         "udn":"296c0006-7408-1092-808d-c4985c0b04a0",
         "serialNumber":"YK006M561805",
         "deviceId":"J9A896561805",
         "advertisingId":"da327541-a17c-5fa2-bb64-3aee48753a36",
         "vendorName":"TCL",
         "modelName":"32S321",
         "modelNumber":"8112X",
         "modelRegion":"US",
         "isTv":"true",
         "isStick":"false",
         "screenSize":"32",
         "panelId":"9",
         "tunerType":"ATSC",
         "supportsEthernet":"false",
         "wifiMac":"c4:98:5c:0b:04:a0",
         "wifiDriver":"realtek",
         "ethernetMac":"5c:ad:76:25:27:9d",
         "networkType":"wifi",
         "networkName":"ARRIS-8E83",
         "friendlyDeviceName":"32"         TCL Roku TV",
         "friendlyModelName":"TCL•Roku TV",
         "defaultDeviceName":"TCL•Roku TV - YK006M561805",
         "userDeviceName":"32"         TCL Roku TV",
         "softwareVersion":"8.2.0",
         "softwareBuild":"4169",
         "secureDevice":"true",
         "language":"en",
         "country":"US",
         "locale":"en_US",
         "timeZoneAuto":"true",
         "timeZone":"US/Eastern",
         "timeZoneName":"United States/Eastern",
         "timeZoneTz":"America/New_York",
         "timeZoneOffset":"-300",
         "clockFormat":"12-hour",
         "uptime":"3301",
         "powerMode":"PowerOn",
         "supportsSuspend":"true",
         "supportsFindRemote":"false",
         "supportsAudioGuide":"true",
         "supportsRva":"true",
         "developerEnabled":"false",
         "keyedDeveloperId":"",
         "searchEnabled":"true",
         "searchChannelsEnabled":"true",
         "voiceSearchEnabled":"true",
         "notificationsEnabled":"true",
         "notificationsFirstUse":"true",
         "supportsPrivateListening":"true",
         "supportsPrivateListeningDtv":"true",
         "supportsWarmStandby":"true",
         "headphonesConnected":"false",
         "expertPqEnabled":"0.5",
         "supportsEcsTextedit":"true",
         "supportsEcsMicrophone":"true",
         "supportsWakeOnWlan":"true",
         "hasPlayOnRoku":"true",
         "hasMobileScreensaver":"false",
         "supportUrl":"tclusa.com/support"
      },
      "name":"Roku Bedroom",
      "accessory":"Roku",
      "appMap":{
         "Firestick":"tvinput.hdmi1",
         "Cable TV":"tvinput.cvbs",
         "Antenna TV":"tvinput.dtv",
         "Netflix":"12",
         "VUDU":"13842",
         "Amazon Prime Video":"13",
         "Hulu":"2285",
         "Google Play Movies":"50025",
         "DIRECTV NOW":"140474",
         "Spectrum TV":"23048",
         "Roku Media Player":"2213",
         "YouTube":"837",
         "PlayStation Vue":"93374",
         "YouTube TV":"195316",
         "Roku TV Intro":"45706",
         "Sling TV ":"46041",
         "SHOWTIME":"8838",
         "HBO NOW":"61322",
         "The Roku Channel":"151908"
      }
   }
]

thanks, but this is not valid

Then name the accessories differently.

if i could i would have, if anyone can help me validate it id appreciate it

thats how i knew the one you gave me wasn't i put it in validator

{
"accessories": [
{
"ip": "XXX.XXX.XXX",
"info": {
"udn": "29780013-040e-1066-801f-c0d2f35e7d08",
"serialNumber": "",
"deviceId": "HD786C943647",
"advertisingId": "",
"vendorName": "TCL",
"modelName": "55S405",
"modelNumber": "7122X",
"modelRegion": "US",
"isTv": "true",
"isStick": "false",
"screenSize": "55",
"panelId": "25",
"tunerType": "ATSC",
"supportsEthernet": "true",
"wifiMac": "",
"wifiDriver": "realtek",
"ethernetMac": "5",
"networkType": "wifi",
"networkName": "",
"friendlyDeviceName": "55" TCL Roku TV",
"friendlyModelName": "TCL•Roku TV",
"defaultDeviceName": "TCL•Roku TV - YN00C1943647",
"userDeviceName": "55" TCL Roku TV",
"softwareVersion": "8.2.0",
"softwareBuild": "4170",
"secureDevice": "true",
"language": "en",
"country": "US",
"locale": "en_US",
"timeZoneAuto": "false",
"timeZone": "Canada/Pacific",
"timeZoneName": "Canada/Pacific",
"timeZoneTz": "America/Vancouver",
"timeZoneOffset": "-480",
"clockFormat": "12-hour",
"uptime": "20552",
"powerMode": "Headless",
"supportsSuspend": "true",
"supportsFindRemote": "false",
"supportsAudioGuide": "true",
"supportsRva": "true",
"developerEnabled": "false",
"keyedDeveloperId": "",
"searchEnabled": "true",
"searchChannelsEnabled": "true",
"voiceSearchEnabled": "true",
"notificationsEnabled": "true",
"notificationsFirstUse": "true",
"supportsPrivateListening": "true",
"supportsPrivateListeningDtv": "true",
"supportsWarmStandby": "true",
"headphonesConnected": "false",
"expertPqEnabled": "0.5",
"supportsEcsTextedit": "true",
"supportsEcsMicrophone": "true",
"supportsWakeOnWlan": "true",
"hasPlayOnRoku": "true",
"hasMobileScreensaver": "true",
"supportUrl": "tclusa.com/support"
},
"inputs": [
{
"id": "31012",
"name": "Movie Store and TV Store"
},
{
"id": "tvinput.hdmi1",
"name": "HDMI 1 (ARC)"
},
{
"id": "tvinput.dtv",
"name": "Antenna TV"
},
{
"id": "12",
"name": "Netflix"
},
{
"id": "13",
"name": "Amazon Prime Video"
},
{
"id": "2285",
"name": "Hulu"
},
{
"id": "46041",
"name": "Sling TV "
},
{
"id": "69091",
"name": "4K Spotlight"
},
{
"id": "140474",
"name": "DIRECTV NOW"
},
{
"id": "14",
"name": "MLB.TV"
},
{
"id": "63772",
"name": "NFL Sunday Ticket"
},
{
"id": "2213",
"name": "Roku Media Player"
},
{
"id": "151908",
"name": "The Roku Channel"
},
{
"id": "195316",
"name": "YouTube TV"
},
{
"id": "186362",
"name": "Movies Anywhere"
},
{
"id": "8378",
"name": "HBO GO"
},
{
"id": "37966",
"name": "WWE Network"
},
{
"id": "74519",
"name": "Pluto TV"
},
{
"id": "837",
"name": "YouTube"
}
],
"name": "Roku",
"accessory": "Roku"
}
]
}

"udn": "299c0006-6c00-1055-80c2-548ca0289d7e",
"serialNumber": "",
"deviceId": "",
"advertisingId": "",
"vendorName": "TCL",
"modelName": "TCL 55US57",
"modelNumber": "6112X",
"modelRegion": "US",
"isTv": "true",
"isStick": "false",
"screenSize": "55",
"panelId": "18",
"tunerType": "ATSC",
"supportsEthernet": "true",
"wifiMac": "",
"wifiDriver": "bison",
"ethernetMac": "",
"networkType": "wifi",
"networkName": "",
"friendlyDeviceName": "Living Room",
"friendlyModelName": "TCL•Roku TV",
"defaultDeviceName": "TCL•Roku TV - ",
"userDeviceName": "Living Room",
"softwareVersion": "8.2.0",
"softwareBuild": "4167",
"secureDevice": "true",
"language": "en",
"country": "US",
"locale": "en_US",
"timeZoneAuto": "true",
"timeZone": "US/Eastern",
"timeZoneName": "United States/Eastern",
"timeZoneTz": "America/New_York",
"timeZoneOffset": "-300",
"clockFormat": "12-hour",
"uptime": "3678619",
"powerMode": "PowerOn",
"supportsSuspend": "true",
"supportsFindRemote": "false",
"supportsAudioGuide": "true",
"supportsRva": "true",
"developerEnabled": "false",
"keyedDeveloperId": "",
"searchEnabled": "true",
"searchChannelsEnabled": "true",
"voiceSearchEnabled": "true",
"notificationsEnabled": "true",
"notificationsFirstUse": "false",
"supportsPrivateListening": "true",
"supportsPrivateListeningDtv": "true",
"supportsWarmStandby": "true",
"headphonesConnected": "false",
"expertPqEnabled": "0.5",
"supportsEcsTextedit": "true",
"supportsEcsMicrophone": "true",
"supportsWakeOnWlan": "true",
"hasPlayOnRoku": "true",
"hasMobileScreensaver": "true",
"supportUrl": "tclusa.com/support"

"udn": "29780014-5405-1055-8015-c4985c4021cd",
"serialNumber": "",
"deviceId": "",
"advertisingId": "",
"vendorName": "TCL",
"modelName": "43S405",
"modelNumber": "7126X",
"modelRegion": "US",
"isTv": "true",
"isStick": "false",
"screenSize": "43",
"panelId": "0",
"tunerType": "ATSC",
"supportsEthernet": "true",
"wifiMac": "",
"wifiDriver": "realtek",
"ethernetMac": "",
"networkType": "wifi",
"networkName": "",
"friendlyDeviceName": "Gaming Room Display",
"friendlyModelName": "TCL•Roku TV",
"defaultDeviceName": "TCL•Roku TV - ",
"userDeviceName": "Gaming Room Display",
"softwareVersion": "8.2.2",
"softwareBuild": "4129",
"secureDevice": "true",
"language": "en",
"country": "US",
"locale": "en_US",
"timeZoneAuto": "true",
"timeZone": "US/Eastern",
"timeZoneName": "United States/Eastern",
"timeZoneTz": "America/New_York",
"timeZoneOffset": "-300",
"clockFormat": "12-hour",
"uptime": "2235500",
"powerMode": "PowerOn",
"supportsSuspend": "true",
"supportsFindRemote": "false",
"supportsAudioGuide": "true",
"supportsRva": "true",
"developerEnabled": "false",
"keyedDeveloperId": "",
"searchEnabled": "true",
"searchChannelsEnabled": "true",
"voiceSearchEnabled": "true",
"notificationsEnabled": "true",
"notificationsFirstUse": "true",
"supportsPrivateListening": "true",
"supportsPrivateListeningDtv": "true",
"supportsWarmStandby": "true",
"headphonesConnected": "false",
"expertPqEnabled": "0.5",
"supportsEcsTextedit": "true",
"supportsEcsMicrophone": "true",
"supportsWakeOnWlan": "true",
"hasPlayOnRoku": "true",
"hasMobileScreensaver": "true",
"supportUrl": "tclusa.com/support"

and also another model:

"udn": "298c0027-9804-102d-80e4-1c1ee3f3aa66",
"serialNumber": "",
"deviceId": "",
"advertisingId": "",
"vendorName": "TCL",
"modelName": "55P605",
"modelNumber": "7103X",
"modelRegion": "US",
"isTv": "true",
"isStick": "false",
"screenSize": "55",
"panelId": "2",
"tunerType": "ATSC",
"supportsEthernet": "true",
"wifiMac": "",
"wifiDriver": "realtek",
"ethernetMac": "",
"networkType": "wifi",
"networkName": "",
"friendlyDeviceName": "Living Room Display",
"friendlyModelName": "TCL•Roku TV",
"defaultDeviceName": "TCL•Roku TV - ",
"userDeviceName": "Living Room Display",
"softwareVersion": "8.2.2",
"softwareBuild": "4129",
"secureDevice": "true",
"language": "en",
"country": "US",
"locale": "en_US",
"timeZoneAuto": "true",
"timeZone": "US/Eastern",
"timeZoneName": "United States/Eastern",
"timeZoneTz": "America/New_York",
"timeZoneOffset": "-300",
"clockFormat": "12-hour",
"uptime": "3345499",
"powerMode": "PowerOn",
"supportsSuspend": "true",
"supportsFindRemote": "false",
"supportsAudioGuide": "true",
"supportsRva": "true",
"developerEnabled": "false",
"keyedDeveloperId": "",
"searchEnabled": "true",
"searchChannelsEnabled": "true",
"voiceSearchEnabled": "true",
"notificationsEnabled": "true",
"notificationsFirstUse": "true",
"supportsPrivateListening": "true",
"supportsPrivateListeningDtv": "true",
"supportsWarmStandby": "true",
"headphonesConnected": "false",
"expertPqEnabled": "0.5",
"supportsEcsTextedit": "true",
"supportsEcsMicrophone": "true",
"supportsWakeOnWlan": "true",
"hasPlayOnRoku": "true",
"hasMobileScreensaver": "true",
"supportUrl": "tclusa.com/support"

This is the config I'm using with HOOBS 3.1.20

{
    "ip": "192.168.1.143",
    "name": "Roku TV",
    "accessory": "Roku",
    "info": {
        "serialNumber": "XXXX",
        "deviceId": "XXXX",
        "vendorName": "TCL",
        "modelName": "65R615",
        "modelNumber": "7121X",
        "modelRegion": "US",
        "isTv": "true",
        "isStick": "false",
        "screenSize": "65",
        "tunerType": "ATSC",
        "supportsEthernet": "true",
        "wifiMac": "D8:13:99:3C:AB:C8",
        "ethernetMac": "34:93:42:72:81:E0",
        "networkType": "wifi",
        "networkName": "XXX",
        "friendlyDeviceName": "Roku TV",
        "friendlyModelName": "TCL•Roku TV",
        "defaultDeviceName": "TCL•Roku TV - XXX",
        "userDeviceName": "Roku TV",
        "softwareVersion": "9.2.0",
        "softwareBuild": "4502-30",
        "secureDevice": "true",
        "language": "en",
        "country": "US",
        "locale": "en_US",
        "timeZoneAuto": "true",
        "timeZone": "US/Eastern",
        "timeZoneName": "United States/Eastern",
        "timeZoneTz": "America/New_York",
        "timeZoneOffset": "-300",
        "clockFormat": "12-hour",
        "powerMode": "PowerOn",
        "supportsSuspend": "true",
        "supportsFindRemote": "false",
        "supportsAudioGuide": "true",
        "supportsRva": "true",
        "developerEnabled": "false",
        "searchEnabled": "true",
        "searchChannelsEnabled": "true",
        "voiceSearchEnabled": "true",
        "notificationsEnabled": "true",
        "notificationsFirstUse": "true",
        "supportsPrivateListening": "true",
        "supportsPrivateListeningDtv": "true",
        "supportsWarmStandby": "true",
        "headphonesConnected": "false",
        "expertPqEnabled": "0.5",
        "supportsEcsTextedit": "true",
        "supportsEcsMicrophone": "true",
        "supportsWakeOnWlan": "true",
        "hasPlayOnRoku": "true",
        "hasMobileScreensaver": "true",
        "supportUrl": "tclusa.com/support"
    }
}

Using HOOBS v2 to keep Config UI X, everything else updated.

"info": {
"udn": "28000000-0000-1000-8007-d4abcd00a921",
"serialNumber": "XXXXX",
"deviceId": "XXXXX",
"advertisingId": "",
"vendorName": "TCL",
"modelName": "50S423",
"modelNumber": "C105X",
"modelRegion": "US",
"isTv": "true",
"isStick": "false",
"screenSize": "50",
"panelId": "17",
"tunerType": "ATSC",
"supportsEthernet": "true",
"wifiMac": "d4:ab:cd:00:a9:21",
"wifiDriver": "realtek",
"hasWifiExtender": "false",
"hasWifi5GSupport": "true",
"canUseWifiExtender": "true",
"ethernetMac": "34:51:80:28:50:cf",
"networkType": "wifi",
"networkName": "",
"friendlyDeviceName": "50" TCL Roku TV",
"friendlyModelName": "TCL•Roku TV",
"defaultDeviceName": "TCL•Roku TV - X000007RGU50",
"userDeviceName": "50" TCL Roku TV",
"userDeviceLocation": "Great Room",
"buildNumber": "939.30E04194A",
"softwareVersion": "9.3.0",
"softwareBuild": "4194",
"secureDevice": "true",
"language": "en",
"country": "US",
"locale": "en_US",
"timeZoneAuto": "false",
"timeZone": "US/Mountain",
"timeZoneName": "United States/Mountain",
"timeZoneTz": "America/Ojinaga",
"timeZoneOffset": "-360",
"clockFormat": "12-hour",
"uptime": "666133",
"powerMode": "Ready",
"supportsSuspend": "true",
"supportsFindRemote": "true",
"findRemoteIsPossible": "false",
"supportsAudioGuide": "true",
"supportsRva": "true",
"developerEnabled": "false",
"keyedDeveloperId": "",
"searchEnabled": "true",
"searchChannelsEnabled": "true",
"voiceSearchEnabled": "true",
"notificationsEnabled": "true",
"notificationsFirstUse": "true",
"supportsPrivateListening": "true",
"supportsPrivateListeningDtv": "true",
"supportsWarmStandby": "true",
"headphonesConnected": "false",
"expertPqEnabled": "1.0",
"supportsEcsTextedit": "true",
"supportsEcsMicrophone": "true",
"supportsWakeOnWlan": "true",
"hasPlayOnRoku": "true",
"hasMobileScreensaver": "true",
"supportUrl": "tclusa.com/support",
"grandcentralVersion": "3.3.43",
"trcVersion": "3.0",
"trcChannelVersion": "2.9.42",
"davinciVersion": "2.8.20"

Where are you guys getting these configs? Where did you find the data to put into them? Is there a URL to see all of the API information of the Roku? After installing, nothing was added to my Homebridge config and when I ran homebridge-roku-config --merge, I got Error: Could not find any Roku devices after 10 seconds. Now, that could be because there's nothing in my Homebridge config telling the plugin where to look.

Is there a basic "homebrige-roku" specific config example? I looked all over the repo here but didn't see one.

config.txt
So this is my config.json file (in text for uploading) and I attempted to configure multiple roku devices, but it does not seem to work. I was able to have this as my config file with no issues, however, it does not recognize the other two Roku devices that I've configured. I've also attempted to take away the instantiation portion of the accessories part and housed all three Roku configs under one accessory, but still to no avail.

Even noticed @mxdanger's comment of his fix to that config file, and tried to mirror that myself, but to no avail. Wondering if we can get this going or have multi support, would be a def changer! If there's anything else needed to help push this along, I'm all for it. Thanks in advance for any assistance!

Where is the config actually installed when the plugin is added? ~/.homebridge/config.json does not exist for me nor does it connect to my homebridge setup when I touch the file. I know there is a config SOMEWHERE for one of my Roku accessories because I successfully added one of my TVs to the Roku plugin via the Homebridge GUI. I have a second TV using a Roku Express stick that I want to add now but have no clue how to get that on...

My entire Homebridge installation is under /usr/local/lib/node_modules. Below is the entire homebridge-roku directory. Where is the accessory config stored?

drwxr-xr-x  7 root root 4096 Nov  2 13:47 ./
drwxr-xr-x 11 root root 4096 Nov  2 13:47 ../
drwxr-xr-x  2 root root 4096 Nov  2 13:47 bin/
-rw-r--r--  1 root root 3034 Oct 26  1985 CHANGELOG.md
-rw-r--r--  1 root root   70 Oct 26  1985 commitlint.config.js
-rw-r--r--  1 root root  496 Oct 26  1985 .eslintrc.js
-rw-r--r--  1 root root   51 Oct 26  1985 index.js
-rw-r--r--  1 root root  181 Oct 26  1985 jest.config.js
-rw-r--r--  1 root root 1072 Oct 26  1985 LICENSE
drwxr-xr-x  2 root root 4096 Nov  2 13:47 __mocks__/
drwxr-xr-x 19 root root 4096 Nov  2 13:47 node_modules/
-rw-r--r--  1 root root 2472 Nov  2 13:47 package.json
-rw-r--r--  1 root root   77 Oct 26  1985 .prettierrc
-rw-r--r--  1 root root 5284 Oct 26  1985 README.md
drwxr-xr-x  2 root root 4096 Nov  2 13:47 scripts/
drwxr-xr-x  3 root root 4096 Nov  2 13:47 src/
-rw-r--r--  1 root root   88 Oct 26  1985 .travis.yml

Where is the config actually installed when the plugin is added? ~/.homebridge/config.json does not exist for me nor does it connect to my homebridge setup when I touch the file. I know there is a config SOMEWHERE for one of my Roku accessories because I successfully added one of my TVs to the Roku plugin via the Homebridge GUI. I have a second TV using a Roku Express stick that I want to add now but have no clue how to get that on...

My entire Homebridge installation is under /usr/local/lib/node_modules. Below is the entire homebridge-roku directory. Where is the accessory config stored?

drwxr-xr-x  7 root root 4096 Nov  2 13:47 ./
drwxr-xr-x 11 root root 4096 Nov  2 13:47 ../
drwxr-xr-x  2 root root 4096 Nov  2 13:47 bin/
-rw-r--r--  1 root root 3034 Oct 26  1985 CHANGELOG.md
-rw-r--r--  1 root root   70 Oct 26  1985 commitlint.config.js
-rw-r--r--  1 root root  496 Oct 26  1985 .eslintrc.js
-rw-r--r--  1 root root   51 Oct 26  1985 index.js
-rw-r--r--  1 root root  181 Oct 26  1985 jest.config.js
-rw-r--r--  1 root root 1072 Oct 26  1985 LICENSE
drwxr-xr-x  2 root root 4096 Nov  2 13:47 __mocks__/
drwxr-xr-x 19 root root 4096 Nov  2 13:47 node_modules/
-rw-r--r--  1 root root 2472 Nov  2 13:47 package.json
-rw-r--r--  1 root root   77 Oct 26  1985 .prettierrc
-rw-r--r--  1 root root 5284 Oct 26  1985 README.md
drwxr-xr-x  2 root root 4096 Nov  2 13:47 scripts/
drwxr-xr-x  3 root root 4096 Nov  2 13:47 src/
-rw-r--r--  1 root root   88 Oct 26  1985 .travis.yml

I also want to add an express stick with out a Roku TV in the home, can this be accomplished/if so what is config edits needed

{
    "name": "Roku",
    "accessory": "Roku",
    "ip": "xxx",
    "inputs": [
        {
            "id": "xxxxx",
            "name": "xxxxx"
        }
    ],
    "info": {
        "udn": "xxxxx",
        "serialNumber": "xxxxx",
        "deviceId": "xxxxx",
        "advertisingId": "xxxxx",
        "vendorName": "Roku",
        "modelName": "Roku Express",
        "modelNumber": "3900X",
        "modelRegion": "US",
        "isTv": "false",
        "isStick": "false",
        "uiResolution": "720p",
        "supportsEthernet": "false",
        "wifiMac": "xxxxx",
        "wifiDriver": "realtek",
        "hasWifiExtender": "false",
        "hasWifi5GSupport": "false",
        "canUseWifiExtender": "true",
        "networkType": "wifi",
        "networkName": "xxxxx",
        "friendlyDeviceName": "xxxxx",
        "friendlyModelName": "Roku Express",
        "defaultDeviceName": "xxxxx",
        "userDeviceName": "xxxxx",
        "userDeviceLocation": "Living room",
        "buildNumber": "51A.50E04198A",
        "softwareVersion": "10.5.0",
        "softwareBuild": "4198",
        "secureDevice": "true",
        "language": "en",
        "country": "US",
        "locale": "en_US",
        "timeZoneAuto": "true",
        "timeZone": "US/Eastern",
        "timeZoneName": "United States/Eastern",
        "timeZoneTz": "America/New_York",
        "timeZoneOffset": "-240",
        "clockFormat": "12-hour",
        "uptime": "94057",
        "powerMode": "PowerOn",
        "supportsSuspend": "false",
        "supportsFindRemote": "true",
        "findRemoteIsPossible": "false",
        "supportsAudioGuide": "true",
        "supportsRva": "true",
        "developerEnabled": "true",
        "keyedDeveloperId": "xxxxx",
        "searchEnabled": "true",
        "searchChannelsEnabled": "true",
        "voiceSearchEnabled": "true",
        "notificationsEnabled": "true",
        "notificationsFirstUse": "true",
        "supportsPrivateListening": "true",
        "headphonesConnected": "false",
        "supportsAudioSettings": "false",
        "supportsEcsTextedit": "true",
        "supportsEcsMicrophone": "true",
        "supportsWakeOnWlan": "false",
        "supportsAirplay": "true",
        "hasPlayOnRoku": "false",
        "hasMobileScreensaver": "false",
        "supportUrl": "roku.com/support",
        "grandcentralVersion": "6.1.46",
        "davinciVersion": "2.8.20"
    }
}

How would I configure a Roku Stick?

I keep getting errors on start:
[16/12/2022, 17:38:15] [Roku] Initializing Roku accessory...
[16/12/2022, 17:38:15] TypeError: Cannot read properties of undefined (reading 'map')
at RokuAccessory.setupInputs (/var/lib/homebridge/node_modules/homebridge-roku/src/homebridge-roku.js:239:32)
at RokuAccessory.setup (/var/lib/homebridge/node_modules/homebridge-roku/src/homebridge-roku.js:78:32)
at new RokuAccessory (/var/lib/homebridge/node_modules/homebridge-roku/src/homebridge-roku.js:67:10)
at /var/lib/homebridge/node_modules/homebridge/src/server.ts:379:50
at Array.forEach ()
at Server.loadAccessories (/var/lib/homebridge/node_modules/homebridge/src/server.ts:299:29)
at Server.start (/var/lib/homebridge/node_modules/homebridge/src/server.ts:179:12)

here is my config:
{ "ip": "REDACTED", "accessory": "Roku", "name": "Roku", "info": { "serialNumber": "REDACTED", "deviceId": "REDACTED", "vendorName": "Roku", "modelName": "3801UK", "modelNumber": "3801UK", "modelRegion": "GB", "isTv": "false", "isStick": "true", "supportsEthernet": "false", "wifiMac": "REDACTED", "networkType": "wifi", "networkName": "REDACTED". "friendlyDeviceName": "Roku Stick", "friendlyModelName": "Roku Stick", "defaultDeviceName": "NOW device 3801UK", "userDeviceName": "NOW device 3801UK", "softwareVersion": "11.0.3", "softwareBuild": "4063-56", "secureDevice": "true", "language": "en", "country": "GB", "locale": "en_GB", "timeZoneAuto": "true", "timeZone": "EU/London", "timeZoneName": "Europe/London", "timeZoneTz": "Europe/London", "timeZoneOffset": "+0", "clockFormat": "24-hour", "powerMode": "PowerOn", "supportsSuspend": "false", "supportsFindRemote": "false", "supportsAudioGuide": "true", "supportsRva": "true", "developerEnabled": "false", "searchEnabled": "true", "searchChannelsEnabled": "true", "voiceSearchEnabled": "true", "notificationsEnabled": "true", "notificationsFirstUse": "true", "supportsPrivateListening": "true", "supportsPrivateListeningDtv": "true", "supportsWarmStandby": "false", "headphonesConnected": "false", "expertPqEnabled": "0.5", "supportsEcsTextedit": "true", "supportsEcsMicrophone": "true", "supportsWakeOnWlan": "flase", "hasPlayOnRoku": "true", "hasMobileScreensaver": "false" } }