Как правильно подключить Ватериус к Wirenboard?

// Waterius2Wirenboard.js

var topic = "waterius/toilet"; //Указываем id Ватериуса указанный в настройках (mqtt topic). Сюда Ватериус будет слать данные.

var device_id = "waterius2"; //Придумайте уникальный id устройства в WirenBoard. Это адрес Виртуального устройства WirenBoard

defineVirtualDevice(device_id, {
  title: "Ватериус (Туалет)",
  cells: {

    "Горячая вода": {
      type: "value",
      units: "m^3",
      precision: 0.001,
      order: 0,
      value: 0,
    },    

    "Холодная вода": {
      type: "value",
      units: "m^3",
      precision: 0.001,
      order: 1,
      value: 0,
    },
    
    "Вес горячей воды": {
      type: "value",
      units: "имп/литр",
      precision: 0,
      order: 2,
      value: 0,
    },

    "Вес холодной воды": {
      type: "value",
      units: "имп/литр",
      precision: 0,
      order: 2,
      value: 0,
    },

    "Период пробуждения": {
      type: "value",
      units: "мин",
      precision: 0,
      order: 2,
      value: 0,
    },
  }
});

trackMqtt(topic + "/ch0", function(message){
  dev[device_id + "/Горячая вода"] = parseFloat(message.value);
});
trackMqtt(topic + "/ch1", function(message){
  dev[device_id + "/Холодная вода"] = parseFloat(message.value);
});
trackMqtt(topic + "/period_min", function(message){
  dev[device_id + "/Период пробуждения"] = parseInt(message.value);
});
trackMqtt(topic + "/f0", function(message){
  dev[device_id + "/Вес горячей воды"] = parseInt(message.value);
});
trackMqtt(topic + "/f1", function(message){
  dev[device_id + "/Вес холодной воды"] = parseInt(message.value);
});


// с версии 1.0.0 (если включен флаг homeassistant discovery)

trackMqtt(topic, function(message){
    try {
        var data = JSON.parse(message.value);
        dev[device_id + "/Горячая вода"] = data["ch0"];
        dev[device_id + "/Холодная вода"] = data["ch1"];
        dev[device_id + "/Период пробуждения"] = data["period_min"];
        dev[device_id + "/Вес горячей воды"] = data["f0"];
        dev[device_id + "/Вес холодной воды"] = data["f1"];
    } catch (e) {
        log("Failed to parse waterius data: " + e.message);
    }
});


// с версии >=0.11.0
defineRule("Установить Период пробуждения (мин)", {
    whenChanged: device_id + "/Период пробуждения",
    then: function (newValue) {
    publish(topic + "/period_min/set", newValue.toString());
    }
});
// с версии >=0.11.9
defineRule("Установить Горячую воду (м3)", {
    whenChanged: device_id + "/Горячая вода",
    then: function (newValue) {
    publish(topic + "/ch0/set", newValue.toString());
    }
});
// с версии >=0.11.9
defineRule("Установить Холодную воду (м3)", {
    whenChanged: device_id + "/Холодная вода",
    then: function (newValue) {
    publish(topic + "/ch1/set", newValue.toString());
    }
});
// с версии >=0.11.9
defineRule("Установить вес Горячей воды", {
    whenChanged: device_id + "/Вес горячей воды",
    then: function (newValue) {
    publish(topic + "/f0/set", newValue.toString());
    }
});
// с версии >=0.11.9
defineRule("Установить вес Холодной воды", {
    whenChanged: device_id + "/Вес холодной воды",
    then: function (newValue) {
    publish(topic + "/f1/set", newValue.toString());
    }
});