[Partage] Eedomus et Sony Bravia

Discussion et échanges de scripts pour la box eedomus

[Partage] Eedomus et Sony Bravia

Messagepar Olimag » 30 Nov 2017 14:31

Bonjour à tous,

Possesseur depuis hier d'une Box Eedomus+, j'ai décidé de migré de mon ancien jeedom (et Domoticz avant) afin de passer sur cette solution plus simple d'utilisation.

Seulement voila, je me suis heurté au fait qu'on ne puisse utiliser quasi aucun langage de programmation : pas de python, pas de cUrl, pas de NodeJS.. bref, faut s'adapter (même si j'avoue avoir maudit la team ;)). Bref, il me fallait un moyen de contrôler ma tv Sony Bravia avec Eedomus sans passer par un autre système et j'ai finalement trouvé mon bonheur dans le httpQuery (heureusement qu'on la celui la ! :D)

J'ai donc créer deux scripts très simple (On et Off), je vous laisse l'améliorer, le partager, et me donner des idées ;). En effet, en ayant fouiller le forum, je pense que cela aidera pas mal de monde.

Bien entendu, il faut que les configurations soient correctes sur la TV (clé de partage, autorisation de pilotage, etc..) Je ne m'étendrais pas sur la config TV mais bien sur le code :

Code : Tout sélectionner
<?
//Rappel de httpQuery

//httpQuery($url, $action = 'GET'/*GET,POST,PUT,DELETE*/, $post = NULL, $oauth_token = NULL, $headers = NULL, $use_cookies = false, $ignore_errors = false)
//Exécute une requête HTTP/HTTPS et retourne son résultat sous forme de chaine de caractère.
//Les arguments $action et $post peuvent être omis, ils peuvent être utilisés dans le cas de requêtes avancées comme un POST.
//L'argument $oauth_token est utilisé pour les scripts des objets connectés, dans les scripts personnels il peut donc être ommis ou passé à NULL
//L'argument $headers doit être fourni sous la forme d'un tableau, par exemple : $headers = array("X-Fbx-App-Auth: xxxx");
//L'argument cookies, vous permet d'activer la gestion des cookies pour la 1ère requête et celles qui suivront

$url = "http://192.168.1.214/sony/IRCC";

$headers = array(
  "X-Auth-PSK: 0000",
  "Content-Type: application/x-www-form-urlencoded",
  "SOAPACTION: \"urn:schemas-sony-com:service:IRCC:1#X_SendIRCC\"",
  "Cache-Control: no-cache"
);

$code = "AAAAAQAAAAEAAAAvAw==";

$body = "<?xml version=\"1.0\"?><s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><s:Body><u:X_SendIRCC xmlns:u=\"urn:schemas-sony-com:service:IRCC:1\"><IRCCCode>".$code."</IRCCCode></u:X_SendIRCC></s:Body></s:Envelope>";

$requete = httpQuery($url, 'POST', $body, NULL, $headers, false, false);
?>


Liste des codes acceptés par la TV (je ne les ai pas tous testés)

Code : Tout sélectionner
//Liste codes

//[PowerOff]="AAAAAQAAAAEAAAAvAw=="
//[PowerOn]="AAAAAQAAAAEAAAAuAw=="
//[VolumeUp]="AAAAAQAAAAEAAAASAw=="
//[VolumeDown]="AAAAAQAAAAEAAAATAw=="
//[Mute]="AAAAAQAAAAEAAAAUAw=="
//[Input]="AAAAAQAAAAEAAAAlAw=="
//[GGuide]="AAAAAQAAAAEAAAAOAw=="
//[EPG]="AAAAAgAAAKQAAABbAw=="
//[Favorites]="AAAAAgAAAHcAAAB2Aw=="
//[Display]="AAAAAQAAAAEAAAA6Aw=="
//[Home]="AAAAAQAAAAEAAABgAw=="
//[Options]="AAAAAgAAAJcAAAA2Aw=="
//[Return]="AAAAAgAAAJcAAAAjAw=="
//[Up]="AAAAAQAAAAEAAAB0Aw=="
//[Down]="AAAAAQAAAAEAAAB1Aw=="
//[Right]="AAAAAQAAAAEAAAAzAw=="
//[Left]="AAAAAQAAAAEAAAA0Aw=="
//[Confirm]="AAAAAQAAAAEAAABlAw=="
//[Red]="AAAAAgAAAJcAAAAlAw=="
//[Green]="AAAAAgAAAJcAAAAmAw=="
//[Yellow]="AAAAAgAAAJcAAAAnAw=="
//[Blue]="AAAAAgAAAJcAAAAkAw=="
//[Num1]="AAAAAQAAAAEAAAAAAw=="
//[Num2]="AAAAAQAAAAEAAAABAw=="
//[Num3]="AAAAAQAAAAEAAAACAw=="
//[Num4]="AAAAAQAAAAEAAAADAw=="
//[Num5]="AAAAAQAAAAEAAAAEAw=="
//[Num6]="AAAAAQAAAAEAAAAFAw=="
//[Num7]="AAAAAQAAAAEAAAAGAw=="
//[Num8]="AAAAAQAAAAEAAAAHAw=="
//[Num9]="AAAAAQAAAAEAAAAIAw=="
//[Num0]="AAAAAQAAAAEAAAAJAw=="
//[Num11]="AAAAAQAAAAEAAAAKAw=="
//[Num12]="AAAAAQAAAAEAAAALAw=="

//[HDMI1]="AAAAAgAAABoAAABaAw=="
//[HDMI2]="AAAAAgAAABoAAABbAw=="
//[HDMI3]="AAAAAgAAABoAAABcAw=="
//[HDMI4]="AAAAAgAAABoAAABdAw=="

//[ChannelUp]="AAAAAQAAAAEAAAAQAw=="
//[ChannelDown]="AAAAAQAAAAEAAAARAw=="
//[SubTitle]="AAAAAgAAAJcAAAAoAw=="
//[ClosedCaption]="AAAAAgAAAKQAAAAQAw=="
//[Enter]="AAAAAQAAAAEAAAALAw=="
//[DOT]="AAAAAgAAAJcAAAAdAw=="
//[Analog]="AAAAAgAAAHcAAAANAw=="
//[Teletext]="AAAAAQAAAAEAAAA/Aw=="
//[Exit]="AAAAAQAAAAEAAABjAw=="
//[Analog2]="AAAAAQAAAAEAAAA4Aw=="
//[*AD]="AAAAAgAAABoAAAA7Aw=="
//[Digital]="AAAAAgAAAJcAAAAyAw=="
//[Analog?]="AAAAAgAAAJcAAAAuAw=="
//[BS]="AAAAAgAAAJcAAAAsAw=="
//[CS]="AAAAAgAAAJcAAAArAw=="
//[BSCS]="AAAAAgAAAJcAAAAQAw=="
//[Ddata]="AAAAAgAAAJcAAAAVAw=="
//[PicOff]="AAAAAQAAAAEAAAA+Aw=="
//[Tv_Radio]="AAAAAgAAABoAAABXAw=="
//[Theater]="AAAAAgAAAHcAAABgAw=="
//[SEN]="AAAAAgAAABoAAAB9Aw=="
//[InternetWidgets]="AAAAAgAAABoAAAB6Aw=="
//[InternetVideo]="AAAAAgAAABoAAAB5Aw=="
//[Netflix]="AAAAAgAAABoAAAB8Aw=="
//[SceneSelect]="AAAAAgAAABoAAAB4Aw=="
//[Mode3D]="AAAAAgAAAHcAAABNAw=="
//[iManual]="AAAAAgAAABoAAAB7Aw=="
//[Audio]="AAAAAQAAAAEAAAAXAw=="
//[Wide]="AAAAAgAAAKQAAAA9Aw=="
//[Jump]="AAAAAQAAAAEAAAA7Aw=="
//[PAP]="AAAAAgAAAKQAAAB3Aw=="
//[MyEPG]="AAAAAgAAAHcAAABrAw=="
//[ProgramDescription]="AAAAAgAAAJcAAAAWAw=="
//[WriteChapter]="AAAAAgAAAHcAAABsAw=="
//[TrackID]="AAAAAgAAABoAAAB+Aw=="
//[TenKey]="AAAAAgAAAJcAAAAMAw=="
//[AppliCast]="AAAAAgAAABoAAABvAw=="
//[acTVila]="AAAAAgAAABoAAAByAw=="
//[DeleteVideo]="AAAAAgAAAHcAAAAfAw=="
//[PhotoFrame]="AAAAAgAAABoAAABVAw=="
//[TvPause]="AAAAAgAAABoAAABnAw=="
//[KeyPad]="AAAAAgAAABoAAAB1Aw=="
//[Media]="AAAAAgAAAJcAAAA4Aw=="
//[SyncMenu]="AAAAAgAAABoAAABYAw=="
//[Forward]="AAAAAgAAAJcAAAAcAw=="
//[Play]="AAAAAgAAAJcAAAAaAw=="
//[Rewind]="AAAAAgAAAJcAAAAbAw=="
//[Prev]="AAAAAgAAAJcAAAA8Aw=="
//[Stop]="AAAAAgAAAJcAAAAYAw=="
//[Next]="AAAAAgAAAJcAAAA9Aw=="
//[Rec]="AAAAAgAAAJcAAAAgAw=="
//[Pause]="AAAAAgAAAJcAAAAZAw=="
//[Eject]="AAAAAgAAAJcAAABIAw=="
//[FlashPlus]="AAAAAgAAAJcAAAB4Aw=="
//[FlashMinus]="AAAAAgAAAJcAAAB5Aw=="
//[TopMenu]="AAAAAgAAABoAAABgAw=="
//[PopUpMenu]="AAAAAgAAABoAAABhAw=="
//[RakurakuStart]="AAAAAgAAAHcAAABqAw=="
//[OneTouchTimeRec]="AAAAAgAAABoAAABkAw=="
//[OneTouchView]="AAAAAgAAABoAAABlAw=="
//[OneTouchRec]="AAAAAgAAABoAAABiAw=="
//[OneTouchStop]="AAAAAgAAABoAAABjAw=="
//[DUX]="AAAAAgAAABoAAABzAw=="
//[FootballMode]="AAAAAgAAABoAAAB2Aw=="
//[Social]="AAAAAgAAABoAAAB0Aw=="
Olimag
 
Messages : 1
Inscription : 30 Nov 2017

Re: [Partage] Eedomus et Sony Bravia

Messagepar rover820i » 30 Nov 2017 15:09

Salut et bienvenue ;)

Tu peux même proposer un script sur le store :D
rover820i
 
Messages : 3363
Inscription : 23 Juil 2016

Re: [Partage] Eedomus et Sony Bravia

Messagepar Thierryazur » 11 Juin 2018 23:09

Bonsoir,

J'ai également une TV Sony Bravia
J'ai réalisé plusieurs tentatives sans succès pour créer l'actionneur
Est-ce que quelqu'un peut svp, étape par étape, m'expliquer comme faire.
Merci d'avance à tous
Bonne soirée
Thierry
Thierryazur
 
Messages : 35
Inscription : 03 Oct 2017

Re: [Partage] Eedomus et Sony Bravia

Messagepar smog » 24 Août 2018 00:27

Bonjour le forum,

J'ai également une tv Sony Bravia.

le script de Olimag fonctionne parfaitement chez moi...du moment que je modifie le code IRCC directement dans le script à chaque fois que je veux faire une action ...

Bref ça fonctionne mais c'est pas pratique ...
mes compétence en php sont nul, alors si une bonne âme pouvait créer un actionneur où on remplirai les valeurs différentes dans les paramètres avec les codes IRCC... un peu comme dans le script de la TV Samsung qui est sur le store, ce serai vraiment génial!

ou expliquer comment intégrer le script dans un actionneur et préciser quoi noter dans les différentes colonnes de l'onglet valeur...

Bonne journée
Merci d'avance pour toute aide
smog
 
Messages : 45
Inscription : 24 Août 2018

Re: [Partage] Eedomus et Sony Bravia

Messagepar waow29 » 28 Nov 2018 19:09

Bonjour,
Tout nouveau sur eedomus (mais pas en domotique), je découvre avec joie qu'Olimag a trouvé un moyen de piloter les smart TV sony Bravia via des scripts mais sans approfondir son installation.
Dommage pour les novices qu'il ne donne pas plus de détails ou de signes de vie afin de nous aider à intégrer cette fonction
La team pourrait peut-être implémenter ce script sur le store
waow29
 
Messages : 13
Inscription : 28 Nov 2018

Re: [Partage] Eedomus et Sony Bravia

Messagepar SoicnarfB » 15 Fév 2021 14:38

Bonjour tout le monde,

un petit déterrage de topic :)
Avec les posts précédents un tout petit peu de recherche voici un script modifié:

Code : Tout sélectionner
<?
//appel du script http://localhost/script/?exec=tvbravia.php&bravia_ip=[VAR1]&psk=[VAR2]&code_irc=

$GLOBALS['bravia_ip'] = getArg('bravia_ip');
$GLOBALS['psk'] = getArg('psk');
$GLOBALS['code_irc'] = getArg('code_irc');

$url = "http:///".$GLOBALS['bravia_ip']."/sony/IRCC";

$headers = array(
  "X-Auth-PSK: ".$GLOBALS['psk']."",
  "Content-Type: application/x-www-form-urlencoded",
  "SOAPACTION: \"urn:schemas-sony-com:service:IRCC:1#X_SendIRCC\"",
  "Cache-Control: no-cache"
);

$code = $GLOBALS['code_irc'];

$body = "<?xml version=\"1.0\"?><s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><s:Body><u:X_SendIRCC xmlns:u=\"urn:schemas-sony-com:service:IRCC:1\"><IRCCCode>".$code."</IRCCCode></u:X_SendIRCC></s:Body></s:Envelope>";

$requete = httpQuery($url, 'POST', $body, NULL, $headers, false, false);
?>


Le script prend en entrée [VAR1] l'ip du téléviseur et en [VAR2] le code psk que vous avez mis en place sur votre télé
(petit rappel:
Navigate to: [Settings] -> [Network] -> [Home Network Setup] -> [IP Control] Set [Authentication] to [Normal and Pre-Shared Key] There should be a new menu entry [Pre-Shared Key]. Set it to 0000. If you choose anything else, you need to change the PSK
)

capture1.jpg
capture1.jpg (43.41 Kio) Consulté 4685 fois


Il faut ensuite charger le script sur votre Eedomus (https://doc.eedomus.com/view/Scripts) et configurer un nouveau HTTP actionneur (https://doc.eedomus.com/view/Pilotage_HTTP) sur la box.
Dans la liste des URLs, l'url principale est:
Code : Tout sélectionner
http://localhost/script/?exec=nom_de_votre_script.php&bravia_ip=[VAR1]&psk=[VAR2]&code_irc=

et la colonne Paramètres prend les codes remote exposés dans le post ci-dessus.

capture2.jpg
capture2.jpg (61.4 Kio) Consulté 4685 fois


J'ai testé seulement Power On, Power Off et Volume Up and Down pour les codes fournis sur une télé Sony récente de 2020 et le script ne gère pas les erreurs.
Si cela ne fonctionne pas, le mieux c'est de se mettre sur le périphérique créé (actionneur http), puis "Valeurs" puis cliquer sur une des requètes et cliquez sur "Tester" en bas. Cela va exécuter la requète par la box eedomus et vous verrez le code retour envoyé par la télé (si vous avez du "403 forbidden", vous avez oublié de définir un code psk ;) )
SoicnarfB
 
Messages : 40
Inscription : 27 Juil 2016



Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 21 invité(s)