Zigbee: различия между версиями

95 байт добавлено ,  4 года назад
Строка 269: Строка 269:


Пример:  
Пример:  
<pre>
<syntaxhighlight lang="js">
defineRule("control_zigbee", {
defineRule("control_zigbee", {
  whenChanged: "0x00158d0002333f93/click", //следим за кнопкой
    whenChanged: "0x00158d0002333f93/click", //следим за кнопкой
  then: function (newValue, devName, cellName) {
    then: function(newValue, devName, cellName) {
   
        if (newValue == "single") { //если было одинарное нажатие на кнопку
    if(newValue == "single"){ //если было одинарное нажатие на кнопку
            publish("/devices/0x00158d0002333f93/controls/click", "processed", 2, true); // Что бы отличать старый клик от нового - записываем любое значение в топик.
 
            //вместо этого можно просто следить за штампом времени "last_seen"
    publish("/devices/0x00158d0002333f93/controls/click", "processed", 2, true); // Что бы отличать старый клик от нового - записываем любое значение в топик.
            publish("/devices/0x00124b0009fe360d/set", JSON.stringify({
    //вместо этого можно просто следить за штампом времени "last_seen"
                state: "TOGGLE"
    publish("/devices/0x00124b0009fe360d/set", JSON.stringify({state: "TOGGLE"}), 2, true); // отправляем JSON на zigbee розетку. TOGGLE - переключить состояние.
            }), 2, true); // отправляем JSON на zigbee розетку. TOGGLE - переключить состояние.
 
        }
     }
     }
  }
});
});
</pre>
</syntaxhighlight>