0
Not a bug

Не считывается IR.GetDevice("AV").GetCommandAtName("Command 1").data

Василий Пупкин 2 years ago in iRidium Script updated by Aleksandr Romanov (CTO) 2 years ago 5

По инструкции http://dev.iridiummobile.net/Drivers_API#.GetCommandAtName хочу считать поле data, но там пусто.
В Драйвер добавляю элемент в Commands с полями:

Name: ZWayVDev_zway_4-5-38
Type: POST
URI:

Data: hahaha


Хочу в JS прочитать data:

IR.AddListener(IR.EVENT_CHANNEL_SET, that.device, function(name, value) {
         var Command = that.device.GetCommandAtName(name);
         IR.Log("id: " + Command.id + ", name: " + Command.name + ", data: " + Command.data);


Ответ:
[02-10-2017 12:55:57.753] INFO CORE * The client started to work *
[02-10-2017 12:55:59.968] INFO SCRIPT id: 2, name: ZWayVDev_zway_4-5-38, data: 
[02-10-2017 12:55:59.968] INFO SCRIPT /ZAutomation/api/v1/devices/ZWayVDev_zway_4-5-38/command/on


data пусто!!!

Waiting for user's reply

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

Попробуйте в поле Data записывать строку в кавычках.

Двойные кавычки не помогли, а вот если взять в одинарные тогда data выводится в hex ascii, это уже что то. Может есть стандартная функция для преобразования в читаемые символы?

Name: ZWayVDev_zway_4-5-38 

Type: POST 

URI:

Data: 'hahahaha'


Ответ:

[03-10-2017 22:55:08.348] INFO CORE *** The client started to work ***

[03-10-2017 22:55:14.463] INFO SCRIPT id: 2, name: ZWayVDev_zway_4-5-38, data: 68,61,68,61,68,61,68,61

[03-10-2017 22:55:14.479] INFO SCRIPT /ZAutomation/api/v1/devices/ZWayVDev_zway_4-5-38/command/on

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

Как сконвертировать полученные данные, вы можете прочитать здесь.

И все же правильно, если данные из поле data будут передаваться в скрипт в неизменном виде и без кавычек. Видимо конвертация была давно сделано для каких то конкретных целей, но не описана в текучей документации для каких.