0
Answered

Panasonic Viera TV. SOAP запрос через драйвер Custom HTTP (TCP)

Егор Щурков 3 years ago in Tips and Tricks • updated by Aleksandr Romanov (CTO) 2 years ago 7

Реализую ip-управление телевизором Panasonic Viera.

Управление осуществляется post-запросами вида:


my URL:


http://192.168.0.34:55000/nrc/control_0/


Header

Accept: text/xml
Cache-Control: no-cache
Pragma: no-cache
SOAPACTION: "urn:panasonic-com:service:p00NetworkControl:1#X_SendKey"
Content-Length: 324
Content-Type: text/xml;charset="utf-8"


Payload

<?xml version="1.0" encoding="utf-8"?>
<s:Body>
<u:X_SendKey xmlns:u="urn:panasonic-com:service:p00NetworkControl:1">
<X_KeyEvent>NRC_CH_DOWN-ONOFF</X_KeyEvent>
</u:X_SendKey>
</s:Body>
</s:Envelope>


Если отправлять запрос через браузер (дополнение Poster к Firefox), то всё работает.

Через IridiumMobile - нет.

Критичным является дополнительный заголовок (остальные по факту не нужны):

SOAPACTION: "urn:panasonic-com:service:p00NetworkControl:1#X_SendKey"


Как добавить его в post-запрос Iridium mobile?

Answer

PINNED

Написал драйвер для телевизора Panasonic Viera (вставил еще не все команды). Работает.

Спасибо за помощь.

PanasonicVieraScript.js

Under review

Здравствуйте!


Как вы передаете эту команду через Иридиум?


Через драйвер AV&Custom Systems (HTTP).

Задаю в свойствах хост и порт:


Добавляю команду, тип передачи ставлю POST, URI - /nrc/control_0/:


В поле DATA - часть Payload из запроса в одинарных кавычках:


Ну и назначаю send command по нажатию на элемент:


Как в header запроса добавить дополнительный заголовок пока не понимаю.


Может использовать TCP driver вместо HTTP и формировать запрос вручную на пример темы http://support.iridiummobile.net/topic/683204-where-to-put-the-cookie-parameter-while-sending-http-commands/ ?

Есть варианты?

Как вариант конечно можете попробовать драйвер TCP, т.к. он позволяет отправлять запрос целиком в виде строки. Вот вам для примера генератор HTTP запроса для передачи его через TCP.

SimpleHTTPGenerator.js



Правда он использовался для преобразования JSON объекта в строку, но как пример думаю вам подойдет

Спасибо. Как попробую, отпишусь.


Просто уточняю - дополнительные заголовки в запрос post в драйвере http всё таки добавлять нельзя?

К сожалению на данный момент Header изменить нельзя, точнее нельзя дописать в него дополнительные заголовки. Так что ваш выход только TCP драйвер.

PINNED

Написал драйвер для телевизора Panasonic Viera (вставил еще не все команды). Работает.

Спасибо за помощь.

PanasonicVieraScript.js