A controller device programming system for performing at least one programming request for a controller device (CD), the controller device paired with a content management device (CMD) in indirect data communication with a connected display device (CDD) via at least one connected intermediary device (CID),
- (a) wherein the controller device includes:
- (i) an CD radio frequency (RF) transceiver;
- (ii) an CD memory;
- and
- (iii) a codeset test module:
- (b) wherein the content management device:
- (i) includes:
- (1) a CMD audio/visual input configured to receive first audio/visual content according to a first communication protocol;
- (2) a CMD audio/visual output configured to send second audio/visual content directly or indirectly to the at least one connected intermediary device according to a second communication protocol;
- (3) a CMD RF transceiver configured for wireless communication with the controller device according to a third communication protocol;
- and
- (4) a discovery module, an inspection module, and an CD programmer;
- and
- (ii) stores or links to:
- (1) a codeset database with a plurality of codeset records;
- and
- (2) a sink database with a plurality of sink records:
- (e) wherein each codeset record includes or links to:
- (i) at least one codeset identifier of a plurality of codeset identifiers;
- and
- (ii) a set of function codes associated with the at least one codeset identifier of the codeset record;
- (d) wherein each sink record includes or links to:
- (i) at least one sink identifier of a plurality of sink identifiers, each sink identifier associated with at least one of a plurality of sink devices;
- (ii) at least one of the codeset identifiers, the at least one codeset identifier designating the set of function codes for the at least one sink device associated with the sink record;
- and
- (iii) a keyword set for the at least one sink device associated with the sink record, the keyword set including at least one of:
- (1) manufacturer name of the at least one sink device associated with the sink record;
- (2) device name of the at least one sink device associated with the sink record;
- and
- (3) serial number of the at least one sink device associated with the sink record;
- (e) wherein each of the at least one connected intermediary devices includes:
- (i) a CID audio/visual input configured to receive the second audio/visual content directly or indirectly from the content management device according to the second communication protocol;
- and
- (ii) a CID audio/visual output configured to send third audio/visual content from the connected intermediary device directly or indirectly to the connected display device according to the second communication protocol;
- (f) wherein the connected display device includes:
- (i) a CDD audio/visual input configured to receive the third audio/visual content from the content management device according to the second communication protocol;
- and
- (ii) at least one of a CDD RF transceiver and a CDD infrared receiver;
- (g) wherein, for each programming request:
- (i) the discovery module of the content management device is configured to:
- (1) receive physical address data for a cluster including the connected display device, the at least one connected intermediary device, and the content management device;
- (2) confirm presence of indirect data communication between the content management device and the connected display device based on the physical address data;
- and
- (3) request and receive sink identification data via the second communication protocol;
- and
- (ii) the sink identification data:
- (1) is organized according to a device identification data structure;
- and
- (2) comprises a sink data amalgamation of at least two of:
- (a) the manufacturer name of at least one of the connected intermediary devices;
- (b) the manufacturer name of the connected display device;
- (c) the device name of at least one of the connected intermediary devices;
- (d) the device name of the connected display device;
- (e) the serial number of at least one of the connected intermediary devices;
- and
- (f) the serial number of the connected display device;
- (h) wherein, for each programming request, the inspection module of the content management device is configured to:
- (i) access the sink identification data received by the discovery module;
- (ii) access the sink records of the sink database;
- (iii) perform a keyword search of the keyword sets of the sink records of the sink database employing at least a portion of the sink identification data;
- (iv) identify at least one priority display device match, wherein a priority of each priority display device match is calculated according to at least one of:
- (1) a first reliability score for the manufacturer name;
- (2) a second reliability score for the device name;
- and
- (3) a third reliability score for the serial number;
- and
- (v) cross-reference each priority display device match to at least one codeset identifier in the sink records of the sink database;
- (i) wherein, for each programming request, the CD programmer is configured to:
- (i) access the codeset database;
- (ii) initialize communication with the controller device via the third communication protocol;
- and
- (iii) for each codeset identifier cross-referenced to at least one priority display device match by the inspection module, transfer at least a portion of the set of function codes associated with the codeset identifier to the controller device via the third communication protocol;
- and
- (j) wherein, for each programming request, the controller device is configured to:
- (i) test functionality of at least a subset of each set of function codes received by the controller device from the CD programmer of the content management device to identify at least one functional codeset;
- (ii) store at least one functional codeset within the CD memory of the controller device;
- and
- (iii) employ the at least one functional codeset, based on user input, to control operation of the connected display device.