====== 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 [[indigo_5_documentation:plugin_scripting_tutorial&#scripting_indigo_plugins|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 [[https://forums.indigodomo.com/viewforum.php?f=92|discuss this plugin]] on our forum.