diff --git a/source/_integrations/directv.markdown b/source/_integrations/directv.markdown index af10e475b72..6bb2a847db5 100644 --- a/source/_integrations/directv.markdown +++ b/source/_integrations/directv.markdown @@ -7,83 +7,34 @@ ha_category: ha_release: 0.25 ha_iot_class: Local Polling ha_domain: directv +ha_config_flow: true --- -Master [DirecTV](https://www.directv.com/) receivers (ie: those that have tuners) will be automatically discovered if you enable the [discovery integration](/integrations/discovery/) and the receiver is powered-on. Slave/RVU client/Genie boxes will also be discovered, but only if they are also online at the time of discovery. +The DirecTV platform allows you to control a [DirecTV](https://www.directv.com) receiver and its client devices. + +### Configuration + +Go to the integrations page in your configuration and click on new integration -> DirecTV. +If your DirecTV device is on, it has likely been discovered already and you just have to confirm the detected device. + +### YAML Configuration + +Manual configuration of your DirecTV device is also possible, add the following to your `configuration.yaml` file: -To ensure that your DirecTV boxes are always found and configured, they should be added into your `configuration.yaml`. ```yaml # Example configuration.yaml entry -media_player: - - platform: directv +directv: + - host: IP_ADDRESS ``` {% configuration %} host: - description: The IP address or the hostname of the device. Use only if you don't want to scan for devices. - required: false - type: string -port: - description: The port your receiver is using. - required: false - default: 8080 - type: integer -name: - description: Use to give a specific name to the device. - required: false - default: DirecTV Receiver - type: string -device: - description: Use to specify a particular receiver in a Genie setup. - required: false + description: "The hostname or IP of the DirecTV receiver, e.g., `192.168.0.10`." + required: true type: string {% endconfiguration %} -To find valid device IDs, open `http://:8080/info/getLocations` in a web browser. For each Genie slave, you will find a variable `clientAddr` in the response, and this should be used for `device` in `configuration.yaml` - -For example, a response such as: - -```json -{ - "locations": [ - { - "clientAddr": "0", - "locationName": "MASTER GENIE SERVER", - "tunerBond": true - }, - { - "clientAddr": "5009591D6969", - "locationName": "SOME SLAVE GENIE" - } - ], - "status": { - "code": 200, - "commandResult": 0, - "msg": "OK.", - "query": "/info/getLocations" - } -} -``` - -Could be formatted into `configuration.yaml` like so: - -```yaml -media_player: -  - platform: directv - host: 192.168.1.10 - port: 8080 - name: Main DirecTV Box - device: 0 - - platform: directv - host: 192.168.1.10 - port: 8080 - name: Bedroom DirecTV - device: 5009591D6969 -``` - -It is important to notice that the host and port variables for slave/Genie receivers are the same as the master receiver. - ## Services ### Media control services diff --git a/source/_integrations/ssdp.markdown b/source/_integrations/ssdp.markdown index 7bdf9839852..3d7d5d2c12e 100644 --- a/source/_integrations/ssdp.markdown +++ b/source/_integrations/ssdp.markdown @@ -25,6 +25,7 @@ ssdp: The following integrations are automatically discovered by the SSDP integration: - [deCONZ](../deconz/) + - [DirecTV](/integrations/directv/) - [Huawei LTE](../huawei_lte/) - [Philips Hue](../hue/) - [Samsung TV](../samsungtv/)