# Не работает правило

**URL:** <https://support.wirenboard.com/t/ne-rabotaet-pravilo/4384>\
**Category:** Rule Engine\
**Created:** [February 6, 2020, 2:37pm UTC](https://support.wirenboard.com/t/ne-rabotaet-pravilo/4384 "2020-02-06T14:37:09Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Geldion](https://avatars.discourse-cdn.com/v2/letter/g/fbc32d/32.png) [@Geldion](https://support.wirenboard.com/u/Geldion)\
**Post date:** [February 6, 2020, 2:37pm UTC](https://support.wirenboard.com/t/ne-rabotaet-pravilo/4384/1 "2020-02-06T14:37:09Z")

</div>

День добрый.  
Вопрос глупый, но все же.  
Это правило не срабатывает, хотя в UI датчик виден и показания меняются.  
В чем секрет?

> defineRule(“tmp”, {  
> whenChanged: “wb-w1/28-00000b60afb8”,  
> then: function(newValue)  
> {  
> if(newValue \< 30)  
> dev.FH\_1.K1 = 1;  
> if(newValue \>= 30)  
> dev.FH\_1.K1 = 0;  
> }  
> });

WB 6.5 обновления 1.7.2

---

<div class="post-metadata">

**Author:** ![poglazov](https://avatars.discourse-cdn.com/v2/letter/p/d26b3c/32.png) [@poglazov](https://support.wirenboard.com/u/poglazov)\
**Post date:** [February 6, 2020, 3:36pm UTC](https://support.wirenboard.com/t/ne-rabotaet-pravilo/4384/2 "2020-02-06T15:36:29Z")

</div>

Добрый день!

Тут стандартный совет по отладке: добавьте отладочную печать через `log()`, нажмите гаечный ключ, и смотрите, куда доходит ваш скрипт.

---

<div class="post-metadata">

**Author:** ![Geldion](https://avatars.discourse-cdn.com/v2/letter/g/fbc32d/32.png) [@Geldion](https://support.wirenboard.com/u/Geldion)\
**Post date:** [February 6, 2020, 3:52pm UTC](https://support.wirenboard.com/t/ne-rabotaet-pravilo/4384/3 "2020-02-06T15:52:57Z")

</div>

Пробовал. В логе отображается только то что правило создано и все.  
 ![111](https://support.wirenboard.com/uploads/default/original/2X/2/276b169d9d87154646ff58168c7631b2ab0fdaab.jpeg)  
Так же пытался вывести и параметр newValue. С другими устройствами работает.

---

<div class="post-metadata">

**Author:** ![poglazov](https://avatars.discourse-cdn.com/v2/letter/p/d26b3c/32.png) [@poglazov](https://support.wirenboard.com/u/poglazov)\
**Post date:** [February 6, 2020, 4:05pm UTC](https://support.wirenboard.com/t/ne-rabotaet-pravilo/4384/4 "2020-02-06T16:05:26Z")

</div>

1. Оставьте в самом правиле только `log("Test");`
2. В этом правиле в whenChanged укажите другой параметр, с которым работает. Убедитесь, что Test появляется.
3. Потом верните нынешнее устройство. Убедитесь, что Test не появляется.
4. Пришлите скриншот с нынешним устройством из Devices.

---

<div class="post-metadata">

**Author:** ![Geldion](https://avatars.discourse-cdn.com/v2/letter/g/fbc32d/32.png) [@Geldion](https://support.wirenboard.com/u/Geldion)\
**Post date:** [February 6, 2020, 4:15pm UTC](https://support.wirenboard.com/t/ne-rabotaet-pravilo/4384/5 "2020-02-06T16:15:48Z")

</div>

> defineRule(“tmp”, {  
> whenChanged: “FH\_1/K1”,  
> then: function()  
> {  
> log(“Test”);  
> }  
> });

Включил и выключил реле, в лог все вышло.

 ![111](https://support.wirenboard.com/uploads/default/original/2X/5/56a8e8492f36bf1113cd699d5151711ab5a934df.jpeg)

> 

defineRule(“tmp”, {  
whenChanged: “wb-w1/28-00000b60afb8”,  
then: function()  
{  
log(“Test”);  
}  
});

> 

 ![112](https://support.wirenboard.com/uploads/default/original/2X/b/b7f3d1aa58f982cc9a9368255289f4d6886f30c8.jpeg) ![113](https://support.wirenboard.com/uploads/default/original/2X/8/824badb068d4849dc114aeac344c3490fdbd8325.jpeg)

---

<div class="post-metadata">

**Author:** ![Geldion](https://avatars.discourse-cdn.com/v2/letter/g/fbc32d/32.png) [@Geldion](https://support.wirenboard.com/u/Geldion)\
**Post date:** [February 6, 2020, 4:45pm UTC](https://support.wirenboard.com/t/ne-rabotaet-pravilo/4384/6 "2020-02-06T16:45:32Z")

</div>

Может еще схема подключения влияет (но тогда и значения в Devices не показывалоб).  
Датчик подключен “+” и “-” к БП MeanWell, “S” к W1 контроллера. “-” БП и контроллера соединены.

[UPD]  
Заметил еще странность.  
В Settings у датчика нет типа значения.

 ![111](https://support.wirenboard.com/uploads/default/original/2X/c/cb20f91409aac618d75f81a6981a1a5bda44d64f.jpeg)

---

<div class="post-metadata">

**Author:** ![Geldion](https://avatars.discourse-cdn.com/v2/letter/g/fbc32d/32.png) [@Geldion](https://support.wirenboard.com/u/Geldion)\
**Post date:** [February 6, 2020, 6:52pm UTC](https://support.wirenboard.com/t/ne-rabotaet-pravilo/4384/7 "2020-02-06T18:52:35Z")

</div>

Можно в “…/meta/type” датчика прописать “temperature” и тогда работает, сообщения в debug приходят.

 ![113](https://support.wirenboard.com/uploads/default/original/2X/e/ebb9cedab5a77d64d389eb34054dfeb39263f644.jpeg)  
Но через некоторое время “…/meta/type” сново пустой.

[UPD #1]  
Сменил датчик. Другой завелся без проблем. “meta/type” - temperature и правило срабатывает. Видимо брак в датчике. Надо остальные 13 проверить…

[UPD #2]  
Подключил все датчики разом (и тот что барахлил).  
15 мин. полет нормальный. Буду наблюдать далее.

 ![112](https://support.wirenboard.com/uploads/default/original/2X/3/3c100346857100042528e7242f9e2a1062a868b3.jpeg)

---

<div class="post-metadata">

**Author:** ![poglazov](https://avatars.discourse-cdn.com/v2/letter/p/d26b3c/32.png) [@poglazov](https://support.wirenboard.com/u/poglazov)\
**Post date:** [February 7, 2020, 4:09pm UTC](https://support.wirenboard.com/t/ne-rabotaet-pravilo/4384/8 "2020-02-07T16:09:06Z")

</div>



---

<div class="post-metadata">

**Author:** ![Xexe](https://avatars.discourse-cdn.com/v2/letter/x/59ef9b/32.png) [@Xexe](https://support.wirenboard.com/u/Xexe)\
**Post date:** [October 19, 2020, 1:59pm UTC](https://support.wirenboard.com/t/ne-rabotaet-pravilo/4384/9 "2020-10-19T13:59:00Z")

</div>

У нас такая же ерунда.  
Есть два датчика - после старта системы оба отображались с пустым полем Type и не работают в скриптах, соответственно.  
( dev[“wb-w1/xxxxxxxxx”] возвращает null, а в GUI/Devices видим сырые значения, без значка градусов )  
Отключил датчики,  
сделал mqtt-delete-retained ‘/devices/wb-w1/#’  
подключил обратно.  
Теперь один датчик оторажается с Type - temperature, в GUI появились градусы, а второй по-прежнему пустой.

---

<div class="post-metadata">

**Author:** ![EvgenyBoger](https://support.wirenboard.com/user_avatar/support.wirenboard.com/evgenyboger/32/188_2.png) [@EvgenyBoger](https://support.wirenboard.com/u/EvgenyBoger)\
**Post date:** [November 1, 2020, 12:10pm UTC](https://support.wirenboard.com/t/ne-rabotaet-pravilo/4384/10 "2020-11-01T12:10:08Z")

</div>


