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

Нет описания правки
Строка 12: Строка 12:
<!--T:23-->
<!--T:23-->
В примере датчик движения подключен к входу "сухой контакт", контрол типа "switch". Сирена подключена к встроеному реле Wiren Board, а лампа - через релейный блок по Modbus.  Когда вход типа "сухой контакт" (выход датчика движения) замкнут, то на лампу и реле подаётся "1", когда выключен - "0".
В примере датчик движения подключен к входу "сухой контакт", контрол типа "switch". Сирена подключена к встроеному реле Wiren Board, а лампа - через релейный блок по Modbus.  Когда вход типа "сухой контакт" (выход датчика движения) замкнут, то на лампу и реле подаётся "1", когда выключен - "0".


<!--T:24-->
<!--T:24-->
Строка 33: Строка 32:
<!--T:28-->
<!--T:28-->
</syntaxhighlight>
</syntaxhighlight>


<!--T:29-->
<!--T:29-->
Строка 49: Строка 47:
     }
     }
});
});


<!--T:31-->
<!--T:31-->
Строка 132: Строка 129:
makeMotionDetector("motion_detector_3", 10000, "EXT1_DR3", "EXT2_R3A3");
makeMotionDetector("motion_detector_3", 10000, "EXT1_DR3", "EXT2_R3A3");
</syntaxhighlight>
</syntaxhighlight>


=== Активация правила только в определённое время === <!--T:48-->
=== Активация правила только в определённое время === <!--T:48-->
Строка 181: Строка 176:
});
});
</syntaxhighlight>
</syntaxhighlight>


=== Роллеты === <!--T:53-->
=== Роллеты === <!--T:53-->
Строка 271: Строка 264:
})();
})();
</syntaxhighlight>
</syntaxhighlight>


<!--T:64-->
<!--T:64-->
Строка 323: Строка 314:
<!--T:69-->
<!--T:69-->
</syntaxhighlight>
</syntaxhighlight>


== Датчик MSW v.3 ==
== Датчик MSW v.3 ==
Строка 395: Строка 384:
<!--T:75-->
<!--T:75-->
[https://github.com/contactless/wb-rules-system/blob/master/rules/buzzer.js Правило] создаёт виртуальное устройство buzzer с ползунками для регулировки громкости и частоты, а также кнопкой включения звука.
[https://github.com/contactless/wb-rules-system/blob/master/rules/buzzer.js Правило] создаёт виртуальное устройство buzzer с ползунками для регулировки громкости и частоты, а также кнопкой включения звука.


<!--T:76-->
<!--T:76-->
Строка 425: Строка 413:
// setup pwm2
// setup pwm2
runShellCommand("echo 2 > /sys/class/pwm/pwmchip0/export");
runShellCommand("echo 2 > /sys/class/pwm/pwmchip0/export");


<!--T:79-->
<!--T:79-->
Строка 468: Строка 454:
   }
   }
});
});


<!--T:84-->
<!--T:84-->
</syntaxhighlight>
</syntaxhighlight>


==== Правило для статуса питания ==== <!--T:85-->
==== Правило для статуса питания ==== <!--T:85-->
Строка 571: Строка 553:
FF FF 0A 01 FF 00 00 0A
FF FF 0A 01 FF 00 00 0A
</pre>
</pre>


<!--T:103-->
<!--T:103-->
Строка 578: Строка 559:
FF FF 0A 01 00 00 00 0B
FF FF 0A 01 00 00 00 0B
</pre>
</pre>


<!--T:104-->
<!--T:104-->
Строка 617: Строка 594:
root@wirenboard:~# mcedit  /etc/wb-rules/rs485_cmd.js
root@wirenboard:~# mcedit  /etc/wb-rules/rs485_cmd.js
</pre>
</pre>


<!--T:113-->
<!--T:113-->
Строка 634: Строка 610:
});
});
</syntaxhighlight>
</syntaxhighlight>


<!--T:115-->
<!--T:115-->
Строка 647: Строка 622:
<!--T:117-->
<!--T:117-->
В логе не должно быть сообщений об ошибке (выход через control-c)
В логе не должно быть сообщений об ошибке (выход через control-c)


<!--T:118-->
<!--T:118-->
В веб-интерфейсе в разделе Devices должно появиться новое устройство "Send custom command to RS-485 port".
В веб-интерфейсе в разделе Devices должно появиться новое устройство "Send custom command to RS-485 port".


<!--T:119-->
<!--T:119-->
6. Добавим функцию для конфигурирования порта.
6. Добавим функцию для конфигурирования порта.


<!--T:120-->
<!--T:120-->
Строка 665: Строка 637:
<!--T:121-->
<!--T:121-->
</syntaxhighlight>
</syntaxhighlight>


<!--T:122-->
<!--T:122-->
Строка 693: Строка 664:
<!--T:125-->
<!--T:125-->
</syntaxhighlight>
</syntaxhighlight>


<!--T:126-->
<!--T:126-->
Обратите внимание на двойное экранирование.
Обратите внимание на двойное экранирование.


<!--T:127-->
<!--T:127-->
Строка 718: Строка 685:
     }
     }
});
});


<!--T:130-->
<!--T:130-->
Строка 750: Строка 716:
<!--T:134-->
<!--T:134-->
</syntaxhighlight>
</syntaxhighlight>


=== Пользовательские поля в интерфейсе === <!--T:135-->
=== Пользовательские поля в интерфейсе === <!--T:135-->
Строка 760: Строка 724:
<!--T:137-->
<!--T:137-->
Более подробно и с примером - в [https://support.wirenboard.com/t/kak-na-wb5-wb6-sozdat-pole-dlya-vvoda-ustavok-i-peredat-znachenie-v-pravila/2180 теме на портале техподдержки].
Более подробно и с примером - в [https://support.wirenboard.com/t/kak-na-wb5-wb6-sozdat-pole-dlya-vvoda-ustavok-i-peredat-znachenie-v-pravila/2180 теме на портале техподдержки].


=== Импульсные счетчики ===
=== Импульсные счетчики ===
Строка 804: Строка 767:
<!--T:142-->
<!--T:142-->
Это значит, что даже если контроллер работает с перерывами и пропустил время перехода между расписаниями (10 утра), то контроллер всё равно включит освещение при первой возможности.
Это значит, что даже если контроллер работает с перерывами и пропустил время перехода между расписаниями (10 утра), то контроллер всё равно включит освещение при первой возможности.


<!--T:143-->
<!--T:143-->
Строка 824: Строка 786:
     return date;
     return date;
   }
   }


   <!--T:147-->
   <!--T:147-->
Строка 938: Строка 899:
     <!--T:161-->
     <!--T:161-->
defineVirtualDevice("_schedules", params);
defineVirtualDevice("_schedules", params);




Строка 968: Строка 928:
};
};
     };
     };
   
  <!--T:167-->
};
};


Строка 1050: Строка 1007:
     }
     }
   });
   });


   <!--T:174-->
   <!--T:174-->
Строка 1063: Строка 1019:
     }
     }
   });
   });


   <!--T:175-->
   <!--T:175-->
Строка 1101: Строка 1056:
     }
     }
   });
   });


   <!--T:178-->
   <!--T:178-->
Строка 1116: Строка 1070:
     }
     }
   });
   });


   <!--T:179-->
   <!--T:179-->
Строка 1167: Строка 1120:
     }
     }
   });
   });


   <!--T:184-->
   <!--T:184-->
Строка 1179: Строка 1131:
     }
     }
   });
   });
 
    
    
   // ==================  Кассовая зона =================
   // ==================  Кассовая зона =================