Aller au contenu

Module Virtuel Pour Tv Panasonic


Did

Recommended Posts

  Bonjour,

 

 Je recherche un module virtuel pour piloter (pas toute les commandes) une Tv Panasonic AS800. Jusquà  présent, je n'ai rien trouvé ni même d'API venant de Panasonic (toujours redirection vers les caméras).

 

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Peux tu vérifier si le port 55000 est ouvert ? Si oui il y a de fortes chances pour que ton Panasonic réponde aux commandes SOAP

 

il y a cela ici http://pastebin.com/h2DQMRxs

POST /nrc/control_0 HTTP/1.1
User-Agent: Panasonic iOS VR-CP UPnP/2.0
Host: 10.0.1.155:55000
Content-Type: text/xml; charset="utf-8"
SOAPACTION: "urn:panasonic-com:service:p00NetworkControl:1#X_SendKey"
Content-Length: 331

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
 <s:Body>
  <u:X_SendKey xmlns:u="urn:panasonic-com:service:p00NetworkControl:1">
   <X_KeyEvent>NRC_MUTE-ONOFF</X_KeyEvent>
  </u:X_SendKey>
 </s:Body>
</s:Envelope>
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

 Merci Krikroff pour ta réponse mais je n'ai pas compris grand chose. J'ai bien essayé l'adresse IP du TV suivi de :55000 dans Firefox et une page blanche s'affiche. Que dois-je faire avec le script?

Lien vers le commentaire
Partager sur d’autres sites

non Il faudrait essayer avec fiddler (http://www.telerik.com/fiddler) par exemple pour tester ...  ou alors tu peux essayer pour faire plus simple de créer un vd puis dans un bouton copier ce code

POST /nrc/control_0 HTTP/1.1
User-Agent: Panasonic iOS VR-CP UPnP/2.0
Host: 10.0.1.155:55000
Content-Type: text/xml; charset="utf-8"
SOAPACTION: "urn:panasonic-com:service:p00NetworkControl:1#X_SendKey"
Content-Length: 331
 
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body><u:X_SendKey xmlns:u="urn:panasonic-com:service:p00NetworkControl:1"><X_KeyEvent>NRC_MUTE-ONOFF</X_KeyEvent></u:X_SendKey></s:Body>
</s:Envelope>0x0D0x0A0x0D0x0A

 
 
qui doit activer / désactiver le MUTE. Ne pas oublier de modifier l'adresse IP et aussi specifier l' IP et le port dans la panneau "avancé" du VD.

Lien vers le commentaire
Partager sur d’autres sites

 J'ai essayé le code (avec l'IP remplacée ligne 4) dans un bouton d'un VD et changé l'IP et le port dans le panneau du VD mais ça ne coupe pas le son.

Lien vers le commentaire
Partager sur d’autres sites

C'est un bon début alors, tout est donc prêt ... Reste juste àtrouver les bonnes commandes !

As-tu bien coché la case attendre la réponse blah blah pour le code du bouton ? Je ne peut malheureusement pas faire de tests actuellement en live sur le Pana, après si tu n'es pas pressé ;)

Lien vers le commentaire
Partager sur d’autres sites

 La case se décoche après sauvegarde (code en Lua) et reste bien cochée en string mais pas de mute sur le TV. Bien évidement, je ne suis pas aux pièces.

 

    Merci

Lien vers le commentaire
Partager sur d’autres sites

  • 3 weeks later...

Hello, perso j'ai un panasonic Viera TX-P60ZT60 et l'app IOS panasonic "TV remote 2" et j'arrive àpiloter ma TV avec.

Et j'aimerais aussi pouvoir commander la TV via un périphérique virtuel.

Lien vers le commentaire
Partager sur d’autres sites

  • 5 months later...

Aller ma première nano-contribution...
 
Après avoir utilisé plusieurs mois un module virtuel qui commandait un script php je me suis dit qu'il était grandement temps de simplifier le process de contrôle de ma tv P65ST60E (le E de European version -  détail important car sur cette version il n'y a pas de WOL (wake on Lan) et le réseau est éteint quand la TV est en standby donc impossible d'allumer la TV autrement que par infrarouge ;-( )
 

Je n'ai pas réussi à  faire fonctionner les solutions à  base de string et puis il ya toujours les problèmes de retour de ligne de nombre de caractères etc...

 

Alors beaucoup plus simple et en plus ça marche :

 

1. Copier le code ci-dessous dans un bouton de device virtuel (IP de votre TV, port = 55000) :

local command = "NRC_MUTE-ONOFF";
--------------------------------------------------------
local selfId = fibaro:getSelfId();
local _deviceIp = fibaro:get(selfId, "IPAddress");
local _devicePort = fibaro:get(selfId, "TCPPort");
panasonicTvTcp = Net.FTcpSocket(_deviceIp, _devicePort)
requestMethod = "POST /nrc/control_0 HTTP/1.1"
custom_header = "SOAPACTION: \"urn:panasonic-com:service:p00NetworkControl:1#X_SendKey\""
local payload = "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><s:Body><u:X_SendKey xmlns:u=\"urn:panasonic-com:service:p00NetworkControl:1\"><X_KeyEvent>"..command.."</X_KeyEvent></u:X_SendKey></s:Body></s:Envelope>"
tcpstring =
requestMethod .. "\r\n" ..
"CONTENT-LENGTH: " .. string.len(payload) .. "\r\n" ..
custom_header .. "\r\n\r\n" ..
payload

bytes, errorCode = panasonicTvTcp:write(tcpstring)
if errorCode == 0 then
fibaro:debug("tcp write OK")
else
fibaro:debug("tcp write failed")
end

remplacer la commande en ligne 1 par l'une des commandes disponibles  :

/*$keys = array(
"NRC_CH_DOWN-ONOFF", // channel down
"NRC_CH_UP-ONOFF", // channel up
"NRC_VOLUP-ONOFF", // volume up
"NRC_VOLDOWN-ONOFF", // volume down
"NRC_MUTE-ONOFF", // mute
"NRC_TV-ONOFF", // TV
"NRC_CHG_INPUT-ONOFF", // AV,
"NRC_RED-ONOFF", // red
"NRC_GREEN-ONOFF", // green
"NRC_YELLOW-ONOFF", // yellow
"NRC_BLUE-ONOFF", // blue
"NRC_VTOOLS-ONOFF", // VIERA tools
"NRC_CANCEL-ONOFF", // Cancel / Exit
"NRC_SUBMENU-ONOFF", // Option
"NRC_RETURN-ONOFF", // Return
"NRC_ENTER-ONOFF", // Control Center click / enter
"NRC_RIGHT-ONOFF", // Control RIGHT
"NRC_LEFT-ONOFF", // Control LEFT
"NRC_UP-ONOFF", // Control UP
"NRC_DOWN-ONOFF", // Control DOWN
"NRC_3D-ONOFF", // 3D button
"NRC_SD_CARD-ONOFF", // SD-card
"NRC_DISP_MODE-ONOFF", // Display mode / Aspect ratio
"NRC_MENU-ONOFF", // Menu
"NRC_INTERNET-ONOFF", // VIERA connect
"NRC_VIERA_LINK-ONOFF", // VIERA link
"NRC_EPG-ONOFF", // Guide / EPG
"NRC_TEXT-ONOFF", // Text / TTV
"NRC_STTL-ONOFF", // STTL / Subtitles
"NRC_INFO-ONOFF", // info
"NRC_INDEX-ONOFF", // TTV index
"NRC_HOLD-ONOFF", // TTV hold / image freeze
"NRC_R_TUNE-ONOFF", // Last view
"NRC_POWER-ONOFF", // Power off

"NRC_REW-ONOFF", // rewind
"NRC_PLAY-ONOFF", // play
"NRC_FF-ONOFF", // fast forward
"NRC_SKIP_PREV-ONOFF", // skip previous
"NRC_PAUSE-ONOFF", // pause
"NRC_SKIP_NEXT-ONOFF", // skip next
"NRC_STOP-ONOFF", // stop
"NRC_REC-ONOFF", // record

// numeric buttons
"NRC_D1-ONOFF", "NRC_D2-ONOFF", "NRC_D3-ONOFF", "NRC_D4-ONOFF", "NRC_D5-ONOFF",
"NRC_D6-ONOFF", "NRC_D7-ONOFF", "NRC_D8-ONOFF", "NRC_D9-ONOFF", "NRC_D0-ONOFF",

// The below commands were not avaliable in the iPhone app when using my
// VIERA G30 - they were pulled out from a disassembly instead
// only these top three did anything on my TV

"NRC_P_NR-ONOFF", // P-NR (Noise reduction)
"NRC_OFFTIMER-ONOFF", // off timer
"NRC_R_TUNE-ONOFF", // Seems to do the same as INFO

"NRC_CHG_NETWORK-ONOFF",
"NRC_CC-ONOFF",
"NRC_SAP-ONOFF",
"NRC_RECLIST-ONOFF",
"NRC_DRIVE-ONOFF",
"NRC_DATA-ONOFF",
"NRC_BD-ONOFF",
"NRC_FAVORITE-ONOFF",
"NRC_DIGA_CTL-ONOFF",
"NRC_VOD-ONOFF",
"NRC_ECO-ONOFF",
"NRC_GAME-ONOFF",
"NRC_EZ_SYNC-ONOFF",
"NRC_PICTAI-ONOFF",
"NRC_MPX-ONOFF",
"NRC_SPLIT-ONOFF",
"NRC_SWAP-ONOFF",
"NRC_R_SCREEN-ONOFF",
"NRC_30S_SKIP-ONOFF",
"NRC_PROG-ONOFF",
"NRC_TV_MUTE_ON-ONOFF",
"NRC_TV_MUTE_OFF-ONOFF",
"NRC_DMS_CH_UP-ONOFF",
"NRC_DMS_CH_DOWN-ONOFF");
*/

Répéter l'opération pour chacun des boutons de commande souhaités

 

Bonne soirée

  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

 Intéressant, mais comment ça marche, il faut refaire les boutons que l'on souhaite? Le premier code à  copier dans un bouton est à  laisser en chaîne ou en code Lua? Ou peut-être est-ce dans la mainloop qu'il faut le copier?

Lien vers le commentaire
Partager sur d’autres sites

Il suffit de copier le code dans chacun des boutons que tu veux créer.

Ensuite tu remplaces la commande en ligne 1 en choisissant l'une des commandes de la grande liste.

 

Je n'ai pas encore eu le temps de m'en occuper mais j'imagine qu'il y a tout ce qu'il faut pour que quelqu'un avec un peu de temps nous face un beau virtual device ou plugin. ;-)

Lien vers le commentaire
Partager sur d’autres sites

 Merci bat,

Cela veut dire que le premier code (comme il est) devrait couper le son? Mais il ne fait rien (essayé en chaîne et Lua avec la bonne IP et le port). Je vais tester plus sérieusement demain.

Lien vers le commentaire
Partager sur d’autres sites

  J'ai bien mis l'adresse IP et le port TCP dans l'onglet général mais cela ne bouge pas. Je les ai ensuite renseigné aussi dans les lignes 4 et 5 mais rien non plus.

local _deviceIp = fibaro:get(selfId, "192.168.1.14");
local _devicePort = fibaro:get(selfId, "55000");
Lien vers le commentaire
Partager sur d’autres sites

Invité chris6783

Did,

 

le fibaro:get va chercher les propriétes par leur nom, tu devrais laisser le noms des proprieté du virtual device

 

fibaro:get(selfId, "IPAddress") et  fibaro:get(selfId, "TCPPort")

pour tester tu peux ajouter un debug ou meme écrire

local _deviceIp = "192.168.1.14" mais pas local _deviceIp = fibaro:get(selfId, "192.168.1.14");

 

 

EDIT : C getValue a priori qu'il te faut meme s'il me sembait quen 3.x les 2 passent

http://www.domotique-fibaro.fr/index.php/cp/21-fonction-fibarogetvaluedeviceid-propertyname/

 

local _deviceIp = fibaro:getValue(selfId, 'IPAddress')

Lien vers le commentaire
Partager sur d’autres sites

  • 1 year later...
 
Thank you for al codes.
You have a brand new Panasonic 65 "CX800 and made a small VD to control some inputs, power and channel numbers

 

Thanks for the al codes. 

Got a brand new Panasonic 65 "CX800 and made a small VD to control Some inputs, power and channel numbers That Work

 

IP adres: 192.168.x.x or your IP.
TCP port: 55000

Panasonic_CX800.vfib

Lien vers le commentaire
Partager sur d’autres sites

  • 5 months later...

Bonjour à¡ tous,

 

J ai suivi avec attention ce post car je souhaitais automatiser certaines taches en lien avec la TV,

 

malheureusement, en vérifiant par le débogage il m indique l'erreur suivante :

 

[ERROR] 16:52:48: line FTcpSocket:

 
 
je précise que la TV est connectée en Wifi sur ma freebox, comme la HC2 en RJ45.
 
Lorsque je teste l,adresse IP de la TV, j ai bien une page blanche (contrairement à  la page d erreur que j obtiens lorsque j éteins la TV ce qui est normal)
 
Je vous remercie par avance pour votre aide
 
 
Lien vers le commentaire
Partager sur d’autres sites

 Bonsoir @dvine,

Je retombe sur ce post et j'ai installé ton VD mais à  part l'adresse IP de la TV, que mets tu comme numéro de port TCP?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour, Désolé de ne pas mentionner. adres IP : 192.168.x.x ou votre adresse IP . port TCP : 55000

Bonjour, Désolé de ne pas mentionner. adres IP : 192.168.x.x ou votre adresse IP . port TCP : 55000 modifier aslo mon poste.

Lien vers le commentaire
Partager sur d’autres sites

 Merci de ta réponse @dvine,

C'est ce que j'avais essayé mais ça ne fonctionne toujours pas chez moi.

Je m'étais dit en installant un module tout fait qui fonctionne ailleurs où j'ai juste à  renseigner l'IP de la tv et le port TCP mais rien.

Mon modèle est un AS800E.

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...