Skip to content

DVR Recording Rules

nickkelsey edited this page Sep 19, 2017 · 30 revisions

Introduction:

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:

https://api.hdhomerun.com/api/recording_rules

List recording rules:

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.

Add a recording rule:

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.

Modify a recording rule:

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.

Change the priority of a recording rule:

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.

Delete a recording rule:

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".

Result format:

[
    {
        "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
    },
    {
        ...
    }
]

Additional Details:

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.

History:

20160318:

  • Add TeamOnly rules.
  • Expand delete command. 20160218:
  • Add command will update an existing rule if a collision occurs.
  • The OriginalAirdate associated with the series no longer reported in the recording rule results.
  • Results include all matching rules if a SeriesID is specified.

Copyright © 2016 Silicondust USA Inc. <www.silicondust.com>.

You can’t perform that action at this time.