NEW VALUE и OLD VALUE: различия между версиями

Материал из MajorDoMo инфо
мНет описания правки
Нет описания правки
Строка 6: Строка 6:
<pre>if ($params['NEW_VALUE'] == 1 && $params['OLD_VALUE'] == 0) </pre> // из 0 в 1 - "началось"
<pre>if ($params['NEW_VALUE'] == 1 && $params['OLD_VALUE'] == 0) </pre> // из 0 в 1 - "началось"
<pre>if ($params['NEW_VALUE'] == 0 && $params['OLD_VALUE'] == 1) </pre> // из 1 в 0  - "кончилось"
<pre>if ($params['NEW_VALUE'] == 0 && $params['OLD_VALUE'] == 1) </pre> // из 1 в 0  - "кончилось"
Однако из топика MQTT приходит параметр '''VALUE'''. При использовании привязки методов к топикам использовать его.





Версия от 14:42, 10 сентября 2020


if ($params['NEW_VALUE'] == $params['OLD_VALUE']) return;

//код сравнивает новое значение со старым и выходит из метода если они совпадают.

срабатывание по фронту для 0/1 значений

if ($params['NEW_VALUE'] == 1 && $params['OLD_VALUE'] == 0) 

// из 0 в 1 - "началось"

if ($params['NEW_VALUE'] == 0 && $params['OLD_VALUE'] == 1) 

// из 1 в 0 - "кончилось"


Однако из топика MQTT приходит параметр VALUE. При использовании привязки методов к топикам использовать его.


Так же можно использовать в различных условиях передаваемые данные (ниже пример вызова метода по изменению свойства класса)

//{"PROPERTY":"temperatureDevices", "NEW_VALUE":"29.05", "OLD_VALUE":"29.05", "no_session":"1", "ORIGINAL_OBJECT_TITLE":"ZB_relay_03"}

if ($params['PROPERTY'] == "temperatureDevices") $temp=$params['NEW_VALUE'];
else $temp=$this->getProperty('temperatureDevices');

if ($params['ORIGINAL_OBJECT_TITLE'] == "ZB_relay_03") $ot=$params['ORIGINAL_OBJECT_TITLE'];

Поисковые запросы

олдвалуе, ньювалуе, Алиса постоянно говорит значения которые изменились, в чате постоянно пишет, повтор сообщения, повторы, многократное срабатывание метода при одном и том же значении свойства, срабатывание метода только при изменении значения, срабатывание по фронту, препроцессинг и постпроцессинг значений свойств объектов