Le périphérique Philips TV pour eedomus permet de lire l'état du téléviseur Philips (Smart modèles de 2011 ainsi que les Android 2016+) et de passer des commandes via son API port 1925 en HTTP ou 1926 en HTTPS.
Pour certains modèles Android 2016+ le port 1925 reste ouvert sans cryptage pour majorité des Androids le port 1926 est avec cryptage en HTTPS et "authorization Digest" avec url de type 'https://IP_TV:port/6/'
Un historique de l'API v1, v5 et v6 Téléviseur Philips est disponible à cette adresse: https://www.domoticz.com/wiki/Philips_tv
Cette version du Plugin permet de piloter plusieurs télévisions, il faut autant de créations que de TV Philips à piloter.
Le Plugin Philips TV est constitué de plusieurs devices un nom (capteur HTTP), un Marche/Arrêt (actionneur HTTP), un volume (actionneur HTTP), une chaîne (actionneur HTTP).
Pour les TV Classique: une source (actionneur HTTP).
Pour les TV Android API v6: une application (actionneur HTTP).
Lors de la création vous devez saisir:
Nom personnalisé si vous souhaitez le modifier au lieu de "TV Philips", spécialement si vous disposez de plusieurs TV Philips à piloter. puis sélectionnez une Pièce. Il est recommandé de l'affecter à une pièce, pour retrouver les devices plus facilement.
Eventuellement saisir des Notes utilisateur.
L'adresse IP du Téléviseur,
L'adresse MAC du Téléviseur (pour le Wake On Line: WOL),
Sélectionner le type de téléviseur (Android API v6 ou Classique),
Enfin cliquer sur "créer" pour créer les 5 devices.
Vous allez retrouver:
Un device TV Philips qui affiche le nom du téléviseur.
Un device TV Philips-M/A avec 2 commandes et 2 états:
cde On
cde Off
Un device TV Philips-volume permet de piloter le téléviseur avec 2 modes différents: volume mini, maxi, volume absolu, volume relatif (incréments 1 ou 5). Il permet aussi de mettre en Mute ou UnMute. Liste des 10 commandes et 67 états (57 masqués) :
cde Volume Min
cde Mute
cde UnMute
cde Volume -5
cde Volume Down (-1)
cde Volume Up (+1)
cde Volume +5
cde Volume 10
cde Volume 30
cde Volume Max
Un device TV Philips-source permet de sélectionner la source d'entrée du téléviseur. Liste des 8 commandes et 8 états:
cde EXT 1
cde HDMI 1
cde HDMI 2
cde HDMI 3
cde HDMI Side
cde Watch TV
cde VGA
cde YPBPR
Un device TV Philips-chaîne permet de sélectionner la chaine du téléviseur. Liste des 7 commandes et 7 états:
cde chaine 1
cde chaine 2
cde chaine 3
cde chaine 4
cde chaine 5
cde chaine -
cde chaine +
Plusieurs images pour les chaînes sont disponibles dans le répertoire img du Plugin, afin de personnaliser les chaînes.
Un device TV Philips-application qui affiche l'application en cours et permet de lancer les applications, 3 applications par défaut MyCanal, YouTube et NETFLIX.
Un device TV Philips-ambilight qui affiche le mode ambilight en cours et permet de changer de mode: Music, Lounge, Video et Off.
Avec les paramètres:
VAR1 (obligatoire) contient l'adresse IP du téléviseur Philips.
VAR2 (obligatoire) contient l'adresse MAC du téléviseur Philips.
Le script est lancé à la fréquence moyenne (polling à 15 minutes, il est tout à fait possible de changer cette valeur, en effet l'API n'a pas de quota).
POLLING=15.
Le fonctionnement du PLUGIN est le suivant:
Apairage du Plugin avec la TV Philips:
1. Cette opération est effectuée 1 seule fois après la création du Plugin.
Elle va permettre pour les téléviseurs en API:
v1, v5 et v6 qui utilisent le port 1925 en classique de récupérer l'url de commande.
v6 qui utilisent le port 1926 en mode crypté de récupérer l'identifiant, le mot de passe, l'url de commande et d'autres informations nécessaires lors de la communication entre la box eedomus et la TV Philips.
On passe le device TV Philips en mode test et:
On saisit en fin d'url: &commande=pair
puis cliquer sur "tester".
Seulement pour les TV Philips Android, on récupère le code PIN affiché sur le téléviseur et en moins de 60 secondes (durée de validité du code PIN),
On saisit en fin d'url: &commande=grant¶metre=nnnn
(remplacer nnnn par le code PIN) puis cliquer sur "tester".
2. Lorsque tout s'est déroulé correctement, la TV Philips est apairée à la box eedomus.
Le nom de la télé doit s'afficher dans le device TV Philips, et le volume actuel dans le device TV Philips-volume, et ainsi de suite...
Ceci peut prendre jusqu'à 15 minutes car le Polling a été fixé à 15 mins, il est possible de la passer à 1 minute après pour que cette étape soit plus rapide.
3. Le passage des commandes s'effectue au travers des devices TV Philips-volume, TV Philips-chaîne, éventuellement TV Philips-source.
4. Mode debug, passage de commandes et mode expert
Un mode debug est disponible en ajoutant &debug=1, en mode test à la fin de la "Requête de mise à jour :" http://localhost/script/?exec=philips_tv.php&ip=[VAR1]&debug=1
.
Il faut passer en mode test en appuyant sur "tester", et les messages s'affichent dans la fenêtre XML.
Il est possible de passer des commandes, par exemple:
Mettre le volume à 26: http://localhost/script/?exec=philips_tv.php&ip=[VAR1]&commande=volume¶metre=26
Mettre en Mute: http://localhost/script/?exec=philips_tv.php&ip=[VAR1]&commande=mute¶metre=Mute
Autre manière de mettre en Mute: http://localhost/script/?exec=philips_tv.php&ip=[VAR1]&commande=key¶metre=Mute
Beaucoup de commandes sont possible avec key...
Pour plus de détails sur l'API v1, v5 voir l'adresse http://jointspace.sourceforge.net/projectdata/documentation/jasonApi/index.html Pour plus de détails sur l'API v6 voir l'adresse https://github.com/eslavnov/pylips/blob/master/docs/Home.md
Enfin un mode "expert" d'écriture des commandes est disponible pour ceux qui veulent passer eux même les commandes de type POST au téléviseur:
Mettre le volume à 26: http://localhost/script/?exec=philips_tv.php&ip=[VAR1]&commande=expert¶metre=/6/audio/volume,{"muted":false,"current":26}
ceci définit l'uri=/6/audio/volume et le message={"muted":false,"current":26} à envoyer à la TV Philips, ici v6 de l'API.
Il est tout à fait possible de créer ses propres actionneurs HTTP, et les configurer pour passer des commandes. Onglet Valeurs: URL: http://localhost/script/?exec=philips_tv.php&ip=[VAR1]&commande=expert Paramètres: parametre=/6/audio/volume,{"muted":false,"current":26}