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

Строка 35: Строка 35:


== Логи ==
== Логи ==
Для отладки использование логов - бесценно. Иметь возможность в любом месте скрипта записать текущее значение переменной, состояние устройства очень помогает.
Логи в WB двух типов - с записью в файл (/var/log/mesages) и  в mqtt топик.
Лог вызывается такой командой:
log.{debug,info,warning,error}(fmt, [arg1 [, ...]])
Научимся ими пользоваться - а заодно и напишем первый скрипт.
В меню “Rules” нажимаем “New” и в поле для имени, верху пишем “logs_and_vars_test.js”
И в поле скрипта вставляем:
<syntaxhighlight lang="ecmascript">
//logs_and_vars_test.js
//Просто комментарий. Начинается с двойного слеша "//"
var testvar1; //Переменная "testvar1"ю Ничего не присваиваем при объявлении(создании), "пустая"
log.info("Тип и значение переменной testvar1", typeof(testvar1), testvar1); // Тип (и значение) undefined
testvar1 = "yellow submarine"; // Присвоим строку
log.info("Тип и значение переменной testvar1", typeof(testvar1), testvar1);
testvar1 = 42; //Присвоим число
log.info("Тип и значение переменной testvar1", typeof(testvar1), testvar1);
testvar1 = false; //Булево (true/false)
log.info("Тип и значение переменной testvar1", typeof(testvar1), testvar1);
testvar2 = "red submarine"; //Сразу при обьявлении присваиваем значение
log.info("Тип и значение переменной testvar2", typeof(testvar2), testvar2);
testvar1 = testvar2; //Тип testvar1 - булево. testvar2 - строка
log.info("Тип и значение переменной testvar1", typeof(testvar1), testvar1);  // при присвоении тип поменялся.
</syntaxhighlight>
''Не забывайте '''пустую''' строку в конце скрипта.
<br>Прежде чем сохранять - давайте зададимся вопросом “как же логи читать?”
Два(даже три) способа.
Самый простой: внизу справа  окна редактора скриптов есть кнопка с символом гаечного ключа. Нажимаем - и выдвигается консоль сообщений.
Чуть сложнее: открываем ssh сессию на контроллере и вводим


== Условия ==
== Условия ==
wb_editors
890

правок