A compatibility wrapper around the BrightScript debug protocol https://developer.roku.com/en-ca/docs/developer-program/debugging/socket-based-debugger.md
check the firmware version (from the device-info object added in #121) to make sure it's at least firmware 11.5. if lower, none of the rest of this logic can be applied.
The logic should be added into RendezvousTracker.
We will look at device settings to determine if rendezvouz tracking is enabled. If either of these resolve in true, then rendezvous tracking should be enabled:
query this url (http://192.168.1.37:8060/query/sgrendezvous) and check to see if <tracking-enabled>false</tracking-enabled> is set to true or false.
So then, if rendezvous tracking is enabled in either method (8080 or ECP), and firmware is 11.5 or higher, do the following:
Send an ECP "disable rendezvous tracking" command to reset any data left over from previous session
Send ECP "enable rendezvous tracking" command to enable tracking
send query/sgrendezvous ECP requests at regular intervals
emit the results through the RendezvousTracker's standard event emitter, in the same format.
disable emitting rendezvous tracking from the scraped telnet logs in RendezvousTracker (but still remove the items from the log output).
We still need to fall back to the old telnet scraping method, but if we are able to successfully use the ECP command, then the old method's results should be discarded.
Add support for the sgrendezvous ECP command (instead of using the port 8080 commands). https://developer.roku.com/en-gb/docs/developer-program/debugging/external-control-api.md#general-ecp-commands
RendezvousTracker
.We will look at device settings to determine if rendezvouz tracking is enabled. If either of these resolve in true, then rendezvous tracking should be enabled:
logrendezvous
status says it's enabled. https://developer.roku.com/en-gb/docs/developer-program/debugging/debugging-channels.md#scenegraph-debug-server-port-8080-commands (runlogrendezvous
over telnet port 8080, the response should belogrendezvous: rendezvous logging is on
, so maybe just check that the string ends with "on").http://192.168.1.37:8060/query/sgrendezvous
) and check to see if<tracking-enabled>false</tracking-enabled>
is set to true or false.So then, if rendezvous tracking is enabled in either method (8080 or ECP), and firmware is 11.5 or higher, do the following:
query/sgrendezvous
ECP requests at regular intervalsRendezvousTracker
's standard event emitter, in the same format.RendezvousTracker
(but still remove the items from the log output).We still need to fall back to the old telnet scraping method, but if we are able to successfully use the ECP command, then the old method's results should be discarded.
To enable rendezvous tracking over ECP:
curl -d '' "http://192.168.1.37:8060/sgrendezvous/track"
To disable rendezvous tracking over ECP:
curl -d '' "http://192.168.1.37:8060/sgrendezvous/untrack"
To view rendezvous status over ECP:
curl "http://192.168.1.37:8060/query/sgrendezvous"