Все, разобрался. Если кому будет интересно.
Запрос делается через публикацию.
в Java с использованием org.eclipse.paho.client.mqttv3 делается так:
подписываемся на топик top1 = “/rpc/v1/db_logger/history/get_values/свойID/reply”;
публикуем топик top2 = “/rpc/v1/db_logger/history/get_values/свойID”; с сообщением
“{“id”:idтранзакции,“params”:{“channels”:[[“NL-1S0112”,“temperature”]],“limit”:1000,“ver”:1,“timestamp”:{“gt”:1477857599,“lt”:1477944000},“min_interval”:0}}”;
ответ приходит в top1
public void runClient() {
String clientID = "1";
connOpt = new MqttConnectOptions();
connOpt.setCleanSession(true);
connOpt.setKeepAliveInterval(30);
try {
myClient = new MqttClient(BROKER_URL, clientID);
myClient.setCallback(this);
myClient.connect(connOpt);
} catch (MqttException e) {
e.printStackTrace();
System.exit(-1);
}
try {
int subQoS = 1;
myClient.subscribe(top1, subQoS);
} catch (Exception e) {
e.printStackTrace();
}
MqttTopic topic = myClient.getTopic(top2);
String pubMsg = “{“id”:13,“params”:{“channels”:[[“NL-1S0112”,“temperature”]],“limit”:1000,“ver”:1,“timestamp”:{“gt”:1477857599,“lt”:1477944000},“min_interval”:0}}”;
int pubQoS = 1;
MqttMessage message = new MqttMessage(pubMsg.getBytes());
message.setQos(pubQoS);
message.setRetained(false);
MqttDeliveryToken token = null;
try {
token = topic.publish(message);
token.waitForCompletion();
Thread.sleep(100);
} catch (Exception e) {
e.printStackTrace();
}
try {
Thread.sleep(50000);
}
myClient.disconnect();
} catch (Exception e) {
e.printStackTrace();
}