# Error

**URL:** <https://support.wirenboard.com/t/error/16132>\
**Category:** Программное обеспечение\
**Tags:** wb-rules\
**Created:** [August 9, 2023, 1:54pm UTC](https://support.wirenboard.com/t/error/16132 "2023-08-09T13:54:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![sansa26](https://avatars.discourse-cdn.com/v2/letter/s/ecae2f/32.png) [@sansa26](https://support.wirenboard.com/u/sansa26)\
**Post date:** [August 9, 2023, 1:54pm UTC](https://support.wirenboard.com/t/error/16132/1 "2023-08-09T13:54:41Z")

</div>

Добрый день. У меня вопрос, как обработать в правилах случай когда модбас устройство становиться не доступным. То-есть например шину модбас повредили, и все топики устройств стали красными.  
Мне нужно получить эту информацию в правилах, и передать ее в виртуальное устройство.  
Например

```auto
defineRule("Нет связи", { 
  whenChanged: "Fancoil_1/error",
  then: function (newValue, devName, cellName) {
      if(newValue != 0){
        
          dev["Устройство"]["КодОшибки"] = 2;
      }

}});

```

В инструкции есть немного про это, например про топик meta/error  
Но нигде не написано как это в правилах обработать.  
Спасибо!

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [August 9, 2023, 3:49pm UTC](https://support.wirenboard.com/t/error/16132/3 "2023-08-09T15:49:31Z")

</div>

Добрый день.

> [@Сообщение при отключении или неисправности в Telegram](https://support.wirenboard.com/t/soobshhenie-pri-otklyuchenii-ili-neispravnosti-v-telegram/10880/3):
>
> Добрый день. Читать следут топики meta/error, полное описание в [конвенции](https://github.com/wirenboard/conventions/blob/main/README.md) Для демонстрации правило: 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 (messag…

---

<div class="post-metadata">

**Author:** ![sansa26](https://avatars.discourse-cdn.com/v2/letter/s/ecae2f/32.png) [@sansa26](https://support.wirenboard.com/u/sansa26)\
**Post date:** [August 10, 2023, 9:21am UTC](https://support.wirenboard.com/t/error/16132/4 "2023-08-10T09:21:43Z")

</div>

Отлично, это подходит. еще один маленький вопрос. В инструкции написано что `/devices/+/controls/+/meta/error` темы могут содержать комбинацию значений. Это значит что там могут быть в некоторых случаях сразу 2 значения? Или в этом топике в любом случае может быть только одна буква, или отсутствовать значение?

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [August 10, 2023, 2:16pm UTC](https://support.wirenboard.com/t/error/16132/5 "2023-08-10T14:16:35Z")

</div>

[Значения в топике](https://github.com/wirenboard/conventions#errors) могут быть (сейчас) три:  
r - ошибка **чтения**  
w - ошибка **записи**  
p - драйвер не укладывается в установленный период времени опроса, это следствие длинной очереди при недостаточной пропускной способности шины.

Два значения могут быть одновременно, да. Например когда есть ошибка чтения и при этом в очереди драйвера есть значение на запись - rw

---

<div class="post-metadata">

**Author:** ![system](https://support.wirenboard.com/uploads/default/original/2X/5/5ac90dc8a7bdff486d3494a19ec6aaa6f6cc5d36.png) [@system](https://support.wirenboard.com/u/system)\
**Post date:** [August 17, 2023, 2:17pm UTC](https://support.wirenboard.com/t/error/16132/6 "2023-08-17T14:17:13Z")

</div>

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