wb_editors
900
правок
Brainroot (обсуждение | вклад) |
Brainroot (обсуждение | вклад) (→Логи) |
||
Строка 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 сессию на контроллере и вводим | |||
== Условия == | == Условия == |