NEW VALUE и OLD VALUE: различия между версиями
Newz20 (обсуждение | вклад) (Новая страница: «Category:Примеры <pre>if ($params['NEW_VALUE'] == $params['OLD_VALUE']) return;</pre> ==Поисковые запросы== олдвалуе, нью...») |
Xor (обсуждение | вклад) Нет описания правки |
||
(не показано 7 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
[[Category:Примеры]] | [[Category:Примеры]] | ||
При выполнении связанного со свойством метода в него передаются параметры - текущее значение свойства (OLD_VALUE) и новое значение (NEW_VALUE) | |||
<pre>if ($params['NEW_VALUE'] == $params['OLD_VALUE']) return; //код сравнивает новое значение со старым и выходит из метода если они совпадают.</pre> | |||
срабатывание по фронту для 0/1 значений | |||
<pre>if ($params['NEW_VALUE'] == 1 && $params['OLD_VALUE'] == 0) { // из 0 в 1 - "началось"}</pre> | |||
<pre>if ($params['NEW_VALUE'] == 0 && $params['OLD_VALUE'] == 1) { // из 1 в 0 - "кончилось"}</pre> | |||
Однако из топика MQTT приходит параметр не NEW_VALUE, а '''VALUE'''. При использовании привязки методов к топикам использовать его. | |||
Так же можно использовать в различных условиях передаваемые данные (ниже пример вызова метода по изменению свойства класса) | |||
<pre> | |||
//{"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']; | |||
</pre> | |||
==Поисковые запросы== | ==Поисковые запросы== | ||
олдвалуе, ньювалуе, Алиса постоянно говорит значения которые изменились, в чате постоянно пишет, повтор сообщения, повторы, многократное срабатывание метода при одном и том же значении свойства | олдвалуе, ньювалуе, Алиса постоянно говорит значения которые изменились, в чате постоянно пишет, повтор сообщения, повторы, многократное срабатывание метода при одном и том же значении свойства, срабатывание метода только при изменении значения, срабатывание по фронту, препроцессинг и постпроцессинг значений свойств объектов |
Текущая версия от 11:50, 8 января 2021
При выполнении связанного со свойством метода в него передаются параметры - текущее значение свойства (OLD_VALUE) и новое значение (NEW_VALUE)
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 приходит параметр не NEW_VALUE, а 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'];
Поисковые запросы
олдвалуе, ньювалуе, Алиса постоянно говорит значения которые изменились, в чате постоянно пишет, повтор сообщения, повторы, многократное срабатывание метода при одном и том же значении свойства, срабатывание метода только при изменении значения, срабатывание по фронту, препроцессинг и постпроцессинг значений свойств объектов