Добрый день
Пытаюсь подружить Sprut.hub CE (в своей коробке) с виртуальным устройством Wirenboard.
Пример кода для виртуального устройства взял где-то здесь на форуме (термостат)
var Termostat = {
TemperaturaTarget: {
title: "Целевая температура",
type: "range",
order: 0,
value: 22,
max: 35,
min: 10
},
};
defineVirtualDevice('01_VirtualTermostat', {
title: 'Управление отоплением',
cells: Termostat,
})
В спрут.хабе создал виртуальное устройство, нашел его топик.
В отдельном правиле присваиваю значение этого виртуального устройства нашему термостату (также виртуальному, только от вайренборда).
Значение присваивается! При изменении температуры в спрут.хабе - вайренборд также меняет температуру своего виртуального термостата.
var MQTT_TargetTemperaturaWB_short = "01_VirtualTermostat/TemperaturaTarget";
var MQTT_TargetTemperaturaWB = "/devices/01_VirtualTermostat/controls/TemperaturaTarget";
var MQTT_TargetTemperaturaSH = "Sprut.hub-0311450A9720CEF8_2/accessories/301/13/18";
trackMqtt(MQTT_TargetTemperaturaSH, function(message){
dev[MQTT_TargetTemperaturaWB_short] = parseFloat(message.value),
log.debug("Temp SH = ", parseFloat(message.value));
});
trackMqtt(MQTT_TargetTemperaturaWB, function(message){
dev[MQTT_TargetTemperaturaSH] = parseFloat(message.value)
});
Вот, только в обратную сторону это не работает. И полагаю, дело в моем незнании команды для присваивания, отличной от команды
dev["девайс/контрол"]
В логе ошибка:
failed to SetValue for unexisting control Sprut.hub-0311450A9720CEF8_2/accessories/301/13/18: 25.8
(25.8 - это значение температуры)
Как мне присвоить своё значение топику, имеющему более сложный адрес, чем у устройств Wirenboard?