Как проверить через wb-rules что устройство в сети

Добрый вечер.
Подскажите, возможно тривиальный вопрос, но я не нашел на него ответ. У меня есть ряд датчиков, подключенных через RS-485 Modbus (да те же WB-MSW например), и мне нужно через wb-rules как то проверять что устройства в сети, и если оно пропало из сети - уже выполнять определенные действия оповещения. Для zigbee устройств я например могу использовать last_seen или availability status.
А как что-то аналогичное реализовать для устройств подключенных через modbus?

Спасибо.

https://wirenboard.com/wiki/Rule_Examples

Обработка ошибок в работе с serial-устройствами

defineVirtualDevice("meta_error_test", {
  title: "Metaerordisplay",
  cells: {
      topic: {
      type: "text",
      value: "",
      readonly: true
    },
    value: {
      type: "text",
      value: "",
      readonly: true
    },
  }
});

 
trackMqtt("/devices/+/controls/+/meta/error", function(message){
  log.info("name: {}, value: {}".format(message.topic, message.value))
  if (message.value=="r"){
  	dev["meta_error_test/topic"] = message.topic;
    dev["meta_error_test/value"] = message.value;
  }
  
});
// отправим смс каждый раз, когда первое реле на модуле WB-MR3 станет недоступно
defineRule("onRelayLost", {
    asSoonAs: function () { // также возможно использовать параметр when
        return (dev["wb-mr3_48/K1#error"]);
    },
    then: function () {
        log("ERROR: " + dev["wb-mr3_48/K1#error"]);
        Notify.sendSMS(...);
    }
});
2 Likes

Спасибо. Работает.

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