Wb-jscript: различия между версиями

Перенаправление на Wb-rules
(Перенаправление на Wb-rules)
Метка: новое перенаправление
 
(не показаны 72 промежуточные версии 5 участников)
Строка 1: Строка 1:
== введение ==
#REDIRECT [[wb-rules]]
Задача автоматизации - это упростить человеку жизнь. “Умный дом” - это, конечно, частный случай. Но полезный.
Попытаемся применить скрипты контроллера WB (Wiren Board 6) для управления.
== Используемое оборудование ==
[[Wiren_Board_6|Контроллер]]
[[WBIO-DI-WD-14_I/O_Module|Модуль WBIO-DI-WD-14]]
[[WBIO-DO-R1G-16_I/O_Module|WBIO-DO-R1G-16]]
----
''В названиях “DI” - Digital Input “DO” - Output соответственно.''
 
== Программирование ==
 
=== Скрипт ===
Скриптом называется обыкновенный текстовый файл. Для того чтобы он выполняся движком [[Движок_правил_wb-rules|wb-rules]] нужно выполнить два условия:
# Имя файла должно заканчиваться на '''.js'''
# Файл должен располагаться в каталоге '''/etc/wb-rules'''
[[Веб-интерфейс_Wiren_Board|Веб-интерфейс]] контроллера имеет встроенный редактор скриптов, доступный из его главного меню по ссылке '''"Rules"'''
 
== Выполнение скриптов ==
Только что созданный скрипт после нажатия кнопки "Save" (и при запуске wb-rules) сразу же выполнится. То есть будут созданы все переменные, правила, таймеры. И дальнейшее поведение скрипта будет определяться только событиями, как внешними (изменения состояния устройств на которые "подписаны" правила) так и таймерами.
 
== Переменные ==
Где хранить значения (а также строки и все остальное, включая ссылки на объекты? Именно в переменных.
'''Важно:''' JS по умолчанию при присвоении переменной одного типа значения другого типа - меняет тип переменной. Иногда это вызывает неожиданное поведение.
 
Типы в JS:
* String: представляет строку
* Number: представляет числовое значение
* Boolean: представляет логическое значение true или false.
* undefined: указывает, что значение не установлено
* null: указывает на неопределенное значение
 
Ниже попробуем создать первый скрипт и поймем значение типов.
 
== Условия ==
 
== Логи ==
=== Использование ===
=== Отладка ===
 
== Управление оборудованием ==
 
== Таймеры ==