Differences

This shows you the differences between two versions of the page.

Link to this comparison view

dvr_api:dvr_recording_rules [2019/10/10 20:12] (current)
neds created
Line 1: Line 1:
 +======DVR Recording Rules======
 +<btn type="​success"​ size="​xs"​ icon="​fa fa-chevron-left">​[[:​DVR API|Back to all DVR API topics]]</​btn>​
  
 +A Series rule will record every unique episode that matches the given criteria within a TV series. The rule does not expire. Only one Series rule can exist per TV series.
 +
 +A Movie rule will record the first showing of the movie that matches the given criteria. The rule will automatically expire after the movie has been recorded. Only one Movie rule can exist per movie.
 +
 +A TeamOnly rule will record every game within a sport series where the specified team is playing.
 +
 +A DateTimeOnly rule will record a single airing of the specified TV series or movie at the specified date and time. The rule will automatically expire once the time has passed, even if it did not result in a recording. DateTimeOnly rules with different date/time values can exist for the same series.
 +
 +====API URL====
 +<WRAP indent>
 +
 +<​code>​https://​api.hdhomerun.com/​api/​recording_rules</​code>​
 +
 +</​WRAP>​
 +====List recording rules====
 +<WRAP indent>
 +
 +^ Parameter ^ Type ^ Description ^
 +| DeviceAuth | string | Concatenation of the DeviceAuth strings from all HDHomeRun tuners. |
 +| RecordingRuleID | string | Optional. Return only the matching rule. |
 +| SeriesID | string | Optional. Return only the matching Series or Movie rule. |
 +
 +Specifying the SeriesID will return all rules matching the SeriesID including DateTimeOnly rules. If neither RecordingRuleID nor SeriesID are specified then details of all recording rules are returned.
 +
 +Returns: Details all matching recording rules, or "​null"​ if no matching rules exist. Results are ordered DateTimeOnly first, then by priority highest first.
 +
 +</​WRAP>​
 +====Add a recording rule====
 +<WRAP indent>
 +
 +^ Parameter ^ Type ^ Description ^
 +| DeviceAuth | string | Concatenation of the DeviceAuth strings from all HDHomeRun tuners. |
 +| Cmd | string | "​add"​ |
 +| SeriesID | string | SeriesID identifying the series or movie to record. |
 +| RecentOnly | bool | Optional. Record only recent episodes (default 0). |
 +| ChannelOnly | string | Optional. Record only on this channel (virtual channel number). |
 +| AfterOriginalAirdateOnly | int64 | Optional. Record only if the original airdate is the same or after (UTC unixtime). |
 +| TeamOnly | string | Optional. Record only if the given team is playing. |
 +| DateTimeOnly | int64 | Optional. Record only if the start date and time exactly matches (UTC unixtime). |
 +| StartPadding | uint | Optional. Start recording early (seconds, default 30s, max 1h). |
 +| EndPadding | uint | Optional. Continue recording past end (seconds, default 30s, max 3h). |
 +
 +If a Series or Movie rule is specified and a Series or Movie rule already exists it will be updated.
 +
 +A TeamOnly rule is created when TeamOnly is specified. If a TeamOnly rule is specified and a TeamOnly rule already exists for the given team name it will be updated. The team name must be an exact match to the guide to record - it is recommended the UI offer the user the ability to select a team based on episode data and not require the user to enter a team name.
 +
 +A DateTimeOnly rule is created when DateTimeOnly is specified. If a DateTimeOnly rule is specified and a DateTimeOnly rule already exists for the given date/time it will be updated.
 +
 +Returns: Details of all recording rules matching the given SeriesID including the newly created rule, or "​null"​ if the request failed and no other matching rules exist.
 +
 +</​WRAP>​
 +====Modify a recording rule====
 +<WRAP indent>
 +
 +^ Parameter ^ Type ^ Description ^
 +| DeviceAuth | string | Concatenation of the DeviceAuth strings from all HDHomeRun tuners. |
 +| Cmd | string | "​change"​ |
 +| RecordingRuleID | string | Optional. ID identifying the rule to modify. |
 +| SeriesID | string | Optional. SeriesID identifying the series or movie to delete. |
 +| RecentOnly | bool | Optional. Record only recent episodes (default 0). |
 +| ChannelOnly | string | Optional. Record only on this channel (virtual channel number or "​null"​ to remove channel restriction). |
 +| AfterOriginalAirdateOnly | int64 | Optional. Record only if the original airdate is the same or after (UTC unixtime). |
 +| StartPadding | uint | Optional. Start recording early (seconds, default 30s, max 1h). |
 +| EndPadding | uint | Optional. Continue recording past end (seconds, default 30s, max 3h). |
 +
 +The RecordingRuleID or the SeriesID must be specified. Specifying the SeriesID will modify the matching Series or Movie rule (if any). To modify a DateTimeOnly rule the RecordingRuleID must be specified.
 +
 +It is not possible to convert between a Series, Movie, Team, or DateTimeOnly rule. It is not possible to modify the TeamOnly property of the DateTimeOnly property.
 +
 +Returns: Details of all recording rules matching the given SeriesID after modification,​ or "​null"​ if no matching rules exist.
 +
 +</​WRAP>​
 +====Change the priority of a recording rule====
 +<WRAP indent>
 +
 +^ Parameter ^ Type ^ Description ^
 +| DeviceAuth | string | Concatenation of the DeviceAuth strings from all HDHomeRun tuners. |
 +| Cmd | string | "​change"​ |
 +| RecordingRuleID | string | ID identifying the rule to modify. |
 +| AfterRecordingRuleID | string | The new priority of the rule by specifying which rule it should be directly after, or 0 to make the highest priority. |
 +
 +Priority applies to Series and Movie rules only. DateTimeOnly rules are always highest priority.
 +
 +Returns: Details of the recording rule after modification,​ or "​null"​ on failure.
 +
 +</​WRAP>​
 +====Delete a recording rule====
 +<WRAP indent>
 +
 +^ Parameter ^ Type ^ Description ^
 +| DeviceAuth | string | Concatenation of the DeviceAuth strings from all HDHomeRun tuners. |
 +| Cmd | string | "​delete"​ |
 +| RecordingRuleID | string | Optional. ID identifying the rule to delete. |
 +| SeriesID | string | Optional. SeriesID identifying the series or movie to delete.|
 +| TeamOnly | string | Optional. Use with SeriesID to match a Team rule. |
 +| DateTimeOnly | int64 | Optional. Use with SeriesID to match a DateTimeOnly rule (UTC unixtime). |
 +| ProgramID | string | Optional. Use ProgramID + StartTime to identifying a specific airing. |
 +| StartTime | int64 | Optional. Use ProgramID + StartTime to identifying a specific airing. |
 +
 +If RecordingRuleID is specified the given rule is deleted.
 +
 +If SeriesID and TeamOnly are specified the matching TeamOnly rule is delete.
 +
 +If SeriesID and DateTimeOnly are specified the matching DateTimeOnly rule is delete.
 +
 +If SeriesID is specified without TeamOnly or DateTimeOnly the matching Series rule is deleted. TeamOnly or DateTimeOnly rules matching the same SeriesID are not affected.
 +
 +If ProgramID and StartTime are specified the airing is identified in the guide and ALL recording rules that would result in recording the specified airing are deleted.
 +
 +Returns: "​null"​.
 +
 +</​WRAP>​
 +====Result format====
 +<WRAP indent>
 +<​code>​
 +[
 +    {
 +        "​RecordingRuleID":​ "​403922",​
 +        "​SeriesID":​ "​11579711",​
 +        "​Title":​ "​Skyfall",​
 +        "​Synopsis":​ "With MI6 under attack, James Bond comes to M's rescue when her daunting past comes back to haunt her, forcing him to seek revenge and take down whoever gets in his way in an effort to find the dangerous assassin before its too late. (3.5/​4.0)",​
 +        "​ImageURL":​ "​http://​my.hdhomerun.com/​fyimediaservices/​v_3_3_6_1/​Program.svc/​96/​1579711/​Primary",​
 +        "​ChannelOnly":​ "​2.1",​
 +        "​AfterOriginalAirdateOnly":​ 1351209600,
 +        "​TeamOnly":​ "​England",​
 +        "​DateTimeOnly":​ 1455212160,
 +        "​Priority":​ 1,
 +        "​StartPadding":​ 30,
 +        "​EndPadding":​ 30
 +    },
 +    {
 +        ...
 +    }
 +]
 +</​code>​
 +
 +</​WRAP>​
 +====Additional Details====
 +<WRAP indent>
 +
 +Specifying AfterOriginalAirdateOnly will restrict recordings to first-airings and shows with an original airdate greater than or equal to the given date. A first-airing will match regardless of the original airdate - this ensures shows without per-episode information are recorded. Repeats without a known original airdate are not recorded.
 +
 +</​WRAP>​
  • Last modified: 2019/10/10 20:12