DIRECTV DVR Control

This plugin is an extremely simple plugin that uses the DIRECTV SHEF protocol to enable Indigo to command your DIRECTV DVR or set-top box to change channels or to simulate a button press on the standard remote. According to the protocol specification document, it supports the H21 and HR20 and newer DVR models. Others may work as well but we make no claims about those. In practice, we've only tested it with the HR24-500 (the only one we have available).

Note: if you have the IP address wrong or your DVR is completely powered off, it will take up to a minute before an error shows in the Event Log that a command sent to the DVR couldn't be executed. Also, you must have your DVR configured for external device access - see your setup menus to find the appropriate setting, it should be called “External Access” or similar and the description will mention external devices controlling your receiver.

Actions

This plugin provides two actions:

  • Go To Channel - this action will change the DVR to the specified channel. There is an optional Minor number that's not really used so the default value (65535) will probably never need to be changed. So, specify the IP address of your DVR and enter the channel to change to.
  • Send Key Press - this action mimics a key press on the physical remote control - you enter the IP address of your DVR and select the button from the popup.

Scripting Support

As with all plugins, actions defined by this plugin may be executed by Python scripts. Here's the information you need to script the actions in this plugin.

Plugin ID: com.perceptiveautomation.indigoplugin.directvdvrcontrol

Action specific properties

Go To Channel

Action id: setChannel

Properties for scripting:

address the IP address of your DVR
channelNumber the channel number (between 1 and 9999, but not all are valid channels).
minorNumber the minor channel number (between 0 and 999 OR 65535, however it doesn't appear to be used currently and it defaults to 65535 so it's probably best to just leave it out

Example:

dvrPlugin = indigo.server.getPlugin("com.perceptiveautomation.indigoplugin.directvdvrcontrol")
if dvrPlugin.isEnabled():
	dvrPlugin.executeAction("setChannel", props={'address':"192.168.1.10", 'channelNumber':'206'})

Send Key Press

Action id: sendKeyPress

Properties for scripting:

address the IP address of your DVR
keyToPress the key on the remote to press - see the list below for the valid key strings

Example:

dvrPlugin = indigo.server.getPlugin("com.perceptiveautomation.indigoplugin.directvdvrcontrol")
if dvrPlugin.isEnabled():
	dvrPlugin.executeAction("sendKeyPress", props={'address':"192.168.1.10", 'keyToPress':"menu"})

Valid key strings: “power”, “poweron”, “poweroff”, “play”, “pause”, “rew”, “replay”, “stop”, “advance”, “ffwd”, “record”, “guide”, “active”, “list”, “exit”, “back”, “menu”, “info”, “up”, “down”, “left”, “right”, “select”, “red”, “green”, “yellow”, “blue”, “chanup”, “chandown”, “prev”, “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “enter”, “dash”, “format”

Support and Troubleshooting

For usage or troubleshooting tips discuss this plugin on our forum.

plugins/directvdvrcontrol.txt · Last modified: 2019/01/26 00:10 (external edit)
 

© Perceptive Automation, LLC. · Privacy