Cityron ПУ-3 и принудительная запись значений

Доброе утро!

Пытаюсь запустить пульт управления Cityron ПУ-3. В целом работает, но вот закавыка вышла. Иногда в верхнем правом углу значение температуры выводиться как три дефиса.

Я написал правило, которое должно записывать туда раз в 10 секунд значение (регистр интервала проверки доступности MODBUS установлен в 30 секунд). Но оно не сработало, хотя когда добавляю лог - вижу, что функция вызывается.

// Раз в 10 секунд дергаем прибор, чтобы показать, что он жив
// на панелях Cityron ПУ-3

function __pu3_keep_alive(devName) {
   if (dev[devName]["Hour#error"]) {
      log("Нет доступа к устройству (__pu3_keep_alive) " + devName);
      return;
   }

   dev[devName]["Additional Temperature"] = dev[devName]["Temperature Setpoint"];
}

defineRule("pu3_keep_alive", {
   when: cron("*/10 * * * *"),
   then: function () {
      var date = new Date();
      __pu3_keep_alive("cityron-pu-3_116");
      __pu3_keep_alive("cityron-pu-3_117");
      __pu3_keep_alive("cityron-pu-3_118");
      __pu3_keep_alive("cityron-pu-3_119");
   }
});

Полагаю, это из-за того, что WB не посылает явно в шину неизменное значение. Можно ли как-то принудительно обновлять значение? Что-то вроде force update?

Здравствуйте!
Предполагаю, что нужно периодически записывать само значение температуры, как показано в примере на вики, а не просто любого регистра: Использование Cityron ПУ-3 с контроллером Wiren Board — Wiren Board

А очень хочется записывать значение температуры уставки. Но она понятно, постоянная. В классическом modbus,где запись идет постоянно - я бы ее писал и всё. Но WB пишет, как я понимаю, только в случае изменения значения. Отсюда и вопрос о force update

В целом да, вроде бы все правильно делаете.

Это драйвер опроса по RS-485 так делает, да. Но при присваивании через правила команда на запись должна отправляться в любом случае. Попробуйте использовать пример из вики, чтобы разобраться, в чем причина.

Кажется, получилось. Похоже, проблема в cron. Перешел на setTimer - и все заработало.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.