Configuration API LG Télévision

Un début d’automatisation


Dans le cadre du projet Domotique, nous allons avoir besoin de contrôler complétement notre téléviseur à distance.
Pour ce faire, depuis les années 2012 / 2013 les téléviseurs sont désormais équipés de systèmes embarqués, mettant à disposition des API.


TV : LG Smart TV (2013)

Installation

Les requêtes envoyés au téléviseur se feront à l’aide du package CURL.
Vous pouvez bien évidement, utiliser tout type de Soft / Package prennant en charge le protocol SOAP.

apt-get install curl 

Configuration

La configuration devrait se derouler en plusieurs étapes :

  • Demande de Pairing Key
  • Récupération de la Pairing Key
  • POST Pairing Key
  • Comment augmenter le volume
  • Comment changer de chaîne

Dans un premier temps, nous allons créer nos fichiers XML permettant au protocol SOAP de dialoguer avec notre téléviseur.

@Get_pairing_key.xml

<?xml version="1.0" encoding="utf-8"?>
<auth><type>AuthKeyReq</type></auth>

Désormais, nous pouvons demander notre Pairing Key au téléviseur.
Dans notre exemple, nous utiliserons l’url /roap/api/auth sur le port 8080.

curl -H "Content-Type: application/atom+xml" -d @get_pairing_key.xml -X POST http://XX.XX.XX.XX:8080/roap/api/auth

Voici le resultat du téléviseur :


Récupérer la Pairing Key afin de la copier/coller au d’un nouveau fichier XML, nous l’appelerons @add_pairing_key.xml

A l’aide de la commande ci-dessous, nous allons envoyer la Pairing Key au téléviseur.

curl -H "Content-Type: application/atom+xml" -d @add_pairing_key.xml -X POST http://XX.XX.XX.XX:8080/roap/api/auth

@add_pairing_key.xml :

Contenu XML :
<?xml version="1.0" encoding="utf-8"?>
<auth><type>AuthReq</type><value>447905</value></auth>

Intéraction

Désormais, il est possible de changer de chaîne, afficher le menu des Display, augmenter / baisser le volume du téléviseur….

Attention, l’url de déstination à désormais changé. Voici l’url de command API : udap/api/command

Exemple pour afficher les entrées du téléviseur :

curl -H "Content-Type: application/atom+xml" -d @display_input.xml -X POST http://XX.XX.XX.XX:8080/udap/api/command

@display_input.xml :

<?xml version="1.0" encoding="utf-8"?>
<command>
<name>HandleKeyInput</name><value>47</value></command>

Conclusion

Vous pouvez désormais prendre le contrôle de votre téléviseur. Au sein de notre exemple ci-desssus, nous avons utiliser la commande 47, qui correspond à la touche « Display Input » du téléviseur.

Documentation officielle LG : http://webostv.developer.lge.com/application/files/1214/7919/6747/NetCast_-_UDAP.pdf

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *