Проблема с мостом между WB6 и dev.rightech.io как снизить частоту синхронизации?

Проблема с мостом между WB6 и dev.rightech.io как снизить частоту синхронизации?

Добрый день. Если вы знаете как при устройстве моста между двумя брокерами выставить частоту синхронизации, что бы синхронизация была к примеру 1 раза в минуту буду очень благодарен. Есть Контроллер Wiren Board 6. К нему подключены модули ввода вывода. 16 реле 14 входов и два датчика температуры (DS18B20) первый внутри щита и второй на улице.
У сервиса dev.rightech.io есть ограничение в 14400 сообщений в день. Не выглядит чем то невыполнимым. Но что прописать в настройках моста. Рылся в описании моста, так и не нашел что отвечает за частоту синхронизации. Из за чего сообщения сыпятся часто?
Или WB6 отправляет много пакетов например свое время или от датчиков температуры.
Задача любым способом влезть в 14400 сообщений в день. Например синхронизация каждые 10 секунд это будет всего 8640 сообщений в день.

Вот что у меня прописано в mosquitto.conf

connection rightech
address dev.rightech.io:1883

remote_username ******
remote_password ******

clientid ******

try_private false
notifications true
notification_topic /devices/bridge_status/controls/enabled
start_type automatic

topic /devices/wb-gpio/controls/# both 2
topic /devices/wb-w1/controls/# out 2
topic /devices/position/controls/# out 1

Это состояние входов выходов
topic /devices/wb-gpio/controls/# both 2

Это датчики температуры
topic /devices/wb-w1/controls/# out 2

Это место расположения, но оно статично прописано (не меняется)
topic /devices/position/controls/# out 1

Частота синхронизации mqtt-бриджа?
Он же просто переправляет все сообщения, которые получает.

Предлагаю решить вопрос фундаментально иначе - создать виртуальное устройство и правилами присваивать ему значения и wb-w1, скажем, они отличаются на (значение с потолка) 0.2 градуса. Это радикально уменьшит количество сообщений.

GPIO без изменения значения, насколько я помню, ничего не шлют.

Отличное решение помогите ссылками или примерами как это прописать?

По мотивам этого.

Собственно, правило должно быть примерно таким:

defineRule({
    whenChanged: "wb-w1/28-000009795545",
    then: function(newValue, devName, cellName) {
        if Math.abs(newValue - dev["mytemperaturesensors/T1"]) {
            dev["mytemperaturesensors/T1"] = newValue;
        }
    }
});

Спасибо буду пробовать делать. Если что то еще раз спрошу. )))

Вот такое правило. Буду тестить упадет ли количество посылок

// Создаём виртуальное устройство - датчики температуры.
defineVirtualDevice("mytemperaturesensors", {
  title: "mytemperaturesensors",
  cells: {
        indoor: {
          type: "value",
          value: 0,
          readonly: true
        },
    	outdoor: {
          type: "value",
          value: 0,
          readonly: true
        }
      }
});

// Создаем правило которое дает измениться температуре только если
// изменение было значительным
defineRule({
    whenChanged: "wb-w1/28-00000d6b1916",
    then: function(newValue, devName, cellName) {
        if (Math.abs(newValue - dev["mytemperaturesensors/indoor"])>0.2) {
            dev["mytemperaturesensors/indoor"] = Number(newValue.toFixed(1));
        }
    }
});

// Создаем правило которое дает измениться температуре только если
// изменение было значительным
defineRule({
    whenChanged: "wb-w1/28-00000de08b44",
    then: function(newValue, devName, cellName) {
        if (Math.abs(newValue - dev["mytemperaturesensors/outdoor"])>0.2) {
            dev["mytemperaturesensors/outdoor"] = Number(newValue.toFixed(1));
        }
    }
});
1 лайк