NEWS
Лог на странице vis.
-
Собственно оставлю здесь может кому пригодится
//***************GLOBALES_SCRIPT********************* //Чтобы отправить: toLog('mit zeitstempel', true); //выводит время+лог //toLog('ohne zeitstempel'); //выводит только лог createState('log', ''); function getTimeAsString(d) { var date = d || new Date(); return ('0' + date.getHours()).slice(-2) + ':' + ('0' + date.getMinutes()).slice(-2) + ':' + ('0' + date.getSeconds()).slice(-2); //return date.getHours() + ':' + date.getMinutes(); } function toLog(text, addTimestamp) { console.log(text); var lines = getState('log').val; lines = lines.split('\n'); if (addTimestamp) { lines.push(getTimeAsString() + ' ' + text); } else { lines.push(text); } if (lines.length > 10) lines.splice(0, 1); setState('log', lines.join('\n'), true); }
сделать глобальным
виджет
[{"tpl":"tplValueStringRaw","data":{"oid":"javascript.0.log","visibility-cond":"==","visibility-val":1},"style":{"left":"609px","top":"258px","width":"327px","height":"192px","color":"#FFFFFF","border-width":"1px","border-style":"solid","border-color":"#d4d3ce"},"widgetSet":"basic"}]
-
Не хватает картинки как это выглядит
-
> Собственно оставлю здесь может кому пригодится
объясни на пальцах как это завести.1 Создал скрипт, заглобалил, запустил.
2 в ioBoker.vis создал страничку
3 нажал импорт элементов, вставил код виджета.
результат пустое окно
-
> Собственно оставлю здесь может кому пригодится
объясни на пальцах как это завести.1 Создал скрипт, заглобалил, запустил.
2 в ioBoker.vis создал страничку
3 нажал импорт элементов, вставил код виджета.
результат пустое окно `
Вот эту строчку "toLog('mit zeitstempel', true);" вставляешь в какой то скрипт и прописываешь то что хочешь видеть в логе в vis. Там ещё цвет шрифта у него белый, замени если нужно.
schedule("* * * * *", function () { setState ('sayit.0.tts.text', 'Прогноз погоды на сегодня: '+getState("forecast.today").val); toLog('Прогноз погоды на сегодня: '+getState("forecast.today").val, true); //выводит время+лог });
Спасибо aurodionov, выкладывайте побольше. Сам в javaskript написать не умею, а переделать под себя или придумать как это использовать получается
Да и название темы подправь , это у них скоро будет хуже чем у нас
-
Спасибо aurodionov за скрипт.
Спасибо Haus за пояснения.
Вставил в пинг, все работает
message = obj.name+'. Связь восстановлена!'; } setState(sayItId, message); log(message); toLog(message, true); });
-
Помогите кто-нибудь добавить параметр "color" что-бы критические события выводить другим цветом.
-
function toLog(text, addTimestamp, color) { if (typeof addTimestamp === 'string') { color = addTimestamp; addTimestamp = false; } console.log(text); var lines = getState('log').val; lines = lines.split(' '); color = color ? '' : ''; if (addTimestamp) { lines.push(color + getTimeAsString() + ' ' + text + (color ? '' : '')); } else { lines.push(color + text + (color ? '' : '')); } if (lines.length > 10) lines.splice(0,1); setState('log', lines.join(' '), true); }
toLog('Colored text', 'red'); toLog('Colored text with timestampt', true, '#556677');
-
Спасибо, Bluefox. Работает…раскрашивает.
-
Привет.
Уже пару дней как пытаюсь вывести главный лог на планшет. Мне интересно видеть все сообщения системы, а не только те, которые я могу вывести с функцией tolog. Подскажите пжлста как это сделать?
Заранее спасибо!
-
У меня нескромный порос ,НАХРЕНА?
в лог iobroker летит столько всего …...
а если по сути ,парсить файл лога и выводить его ,но это оч сомнительное решение для виз
-
Спасибо за быстрый ответ.
1. Просто у меня почти все скрипты в Blockly, и как я туда вставлю функцию tolog.
2. Некоторые мне нужные статусы выводятся в главный лог, например если какойто адаптер повис, или соединение с каким то модулем было потеряно.
Не знаю, я привык каждый день заглядывать в лог, там все ясно и понятно. Хотелось бы теперь и в VIS.
Адаптер Parser установил, но не знаю пока как настраивать на считывание лог файла.
-
Можно попробовать toLog('messages', true, '#556677');
messages, задать как объект, а в блокли уже что-то писать в него
но всё равно придется парсить лог или курить это
log - Gives out the message into log
log(msg, sev);
Message is a string and sev is one of the following: 'debug', 'info', 'warn', 'error'. Default severity is 'info'
exec - execute some OS command, like "cp file1 file2"
exec(cmd, callback);
Execute system command and get the outputs.
// reboot linux system
exec('reboot');
// Get the list of files and directories in /var/log
exec('ls /var/log', function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
});
Notice: you must enable Enable command "setObject" option to call it.
просто представь, как он РАЗРАСТЁТСЯ
-
Глянул, файл лога весит 1мб, наверно действительно там куча мусора.
Буду тогда выводить отдельную информацию с toLog.
Спасибо за подсказки!
P.S. такой вопрос. В виджете из первого поста выводит только 10 строчек лога, такой бегущий список. Как можно сделать, чтобы выводилось на все окно виджета?
Ок, сам понял, покопался в скрипте и выставил на 20 строчек, все заработало.
-
@Santos А как отформатировать вывод текста. Что бы каждое сообщение начиналось с новой строки??
-
@smoker_vvo оно и так каждое с новой строки , странно что у вас не так
на всякий случай прикладываю импорт виджета который работает у меня[{"tpl":"tplValueStringRaw","data":{"oid":"javascript.0.log","visibility-cond":"==","visibility-val":1,"gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"g_css_border":false},"style":{"left":"863px","top":"86px","width":"398px","height":"572px","color":"","z-index":"2","font-size":"large","font-weight":"","font-family":"\"Times New Roman\", Times, serif","font-style":"italic"},"widgetSet":"basic"}]
-
@aurodionov
Все так же, а переносов нет -
Разобрались сообща и все заработало. Спасибо!!
-
@smoker_vvo
а что было? у меня тоже перевода каретки нет.