translator, wb_editors
4539
правок
Matveevrj (обсуждение | вклад) |
|||
Строка 2: | Строка 2: | ||
== Описание == | == Описание == | ||
[[File:Wb rules demo.png|300px|thumb|right|Редактирование правил в веб-интерфейсе]] | [[File:Wb rules demo.png|300px|thumb|right|Редактирование правил в веб-интерфейсе]] | ||
Wb-rules — это специальный сервис в контроллере Wiren Board, который работает поверх операционной системы и позволяет создавать сценарии управления с помощью правил на языке JavaScript ([https://es5.javascript.ru/ ECMAScript 5]). | |||
Wb-rules это | |||
Wb-rules установлен в контроллер по умолчанию и запускается автоматически. Управлять им можно из консоли контроллера, о чем подробнее написано в статье [[How to diagnose#Управление сервисами | Диагностика ошибок в работе контроллера Wiren Board]]. | |||
Альтернатива правилам wb-rules для создания сценариев управления — среда графического программирования [[Node-Red | Node-RED]]. | |||
== Как создавать и редактировать правила == | |||
Файлы с правилами хранятся в контроллере в папке <code>/etc/wb-rules/</code> с расширением '''.js'''. Их можно [[Просмотр файлов контроллера с компьютера|редактировать и загружать их напрямую с компьютера]], а также использовать встроенный в [[Wiren Board Web Interface | веб-интерфейс]] редактор правил на вкладке '''Rules'''. | |||
Для написания правил необходимы базовые знания синтаксиса языка JavaScript. Если вы ранее не работали с JavaScript, то рекомендуем учебник [https://learn.javascript.ru/ learn.javascript.ru]. | |||
Каждое правило представляет собой функцию на языке JavaScript с определенным набором входных параметров. Выполнение правила происходит при наступлении заданного события или циклически. Подробное описание типов правил и механизма их работы читайте в [https://github.com/wirenboard/wb-rules документации на Github]. | |||
Для создания правила: | |||
#Откройте вкладку '''Rules''' в веб-интерфейсе контроллера. | |||
#Создайте новый файл правил или откройте стандартный '''rules.js'''. | |||
#Напишите скрипт или вставьте код из примера. | |||
#Нажмите кнопку '''Сохранить'''. | |||
Если в правиле нет ошибок, оно начинает работать сразу после сохранения файла. | Если в правиле нет ошибок, оно начинает работать сразу после сохранения файла. | ||
==Если правило не работает== | |||
[[File:Web-Rules-2.0 errors.png|300px|thumb|right|Подсветка ошибок в редакторе правил wb-rules]] | |||
Если написанный скрипт не работает: | |||
#Проверьте еще раз знаки пунктуации, количество открывающихся и закрывающихся скобок, возможные ошибки в написании имен переменных. Обычно синтаксические ошибки подсвечиваются красным, но некоторые могут быть пропущены компилятором. | |||
#Проверьте правильность написания ссылок на [[MQTT | MQTT]]-топики. | |||
#Уточните правильно ли выбран тип правила. | |||
Если правило не работает или показывает красным строку и вы не понимаете причину, то вы можете получить дополнительную информацию в [[Wiren_Board_Web_Interface#logs|Системном журнале]], который можно отфильтровать по имени сервиса — wb-rules. | |||
==Дополнительная информация== | |||
Примеры правил | Примеры правил: | ||
* в статье [[Rule_Examples|Примеры правил]]; | * в статье [[Rule_Examples|Примеры правил]]; | ||
* в [http://forums.contactless.ru/t/dvizhok-pravil-primery-koda/483 специальной теме на портале техподдержки]; | * в [http://forums.contactless.ru/t/dvizhok-pravil-primery-koda/483 специальной теме на портале техподдержки]; |