Лог на странице vis.

Вопросы и инфо о ioBroker.vis
Antworten
Benutzeravatar
aurodionov
professional
Beiträge: 389
Registriert: 14.07.2014, 16:39
Wohnort: Россия, Тюмень
Kontaktdaten:

Лог на странице vis.

Beitrag von aurodionov » 06.02.2016, 19:36

Собственно оставлю здесь может кому пригодится
Spoiler: Show hidden text

Code: Alles auswählen

//***************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('<br>');
    if (addTimestamp) {
            lines.push(getTimeAsString() + ' ' + text);
    } else {
            lines.push(text);
    }
    if (lines.length > 10) lines.splice(0,1);
    setState('log', lines.join('<br>'), true);
}
сделать глобальным
виджет
Spoiler: Show hidden text

Code: Alles auswählen

[{"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"}]
Zuletzt geändert von aurodionov am 09.02.2016, 19:00, insgesamt 1-mal geändert.
Пишу с пульта....

vtec
professional
Beiträge: 404
Registriert: 27.10.2014, 07:29

Re: Лог в окошке как в мажоржомо

Beitrag von vtec » 07.02.2016, 06:46

Не хватает картинки как это выглядит ;)

DAndre
starter
Beiträge: 73
Registriert: 20.12.2015, 11:24

Re: Лог в окошке как в мажоржомо

Beitrag von DAndre » 07.02.2016, 07:14

Собственно оставлю здесь может кому пригодится
объясни на пальцах как это завести.

1 Создал скрипт, заглобалил, запустил.
2 в ioBoker.vis создал страничку
3 нажал импорт элементов, вставил код виджета.

результат пустое окно :(
Ubuntu 14.04 trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS, Android v4.4.2"
Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)

Haus
professional
Beiträge: 531
Registriert: 12.05.2015, 16:49
Wohnort: Lithuania, Vilnius

Re: Лог в окошке как в мажоржомо

Beitrag von Haus » 07.02.2016, 09:14

DAndre hat geschrieben:
Собственно оставлю здесь может кому пригодится
объясни на пальцах как это завести.

1 Создал скрипт, заглобалил, запустил.
2 в ioBoker.vis создал страничку
3 нажал импорт элементов, вставил код виджета.

результат пустое окно :(
Вот эту строчку "toLog('mit zeitstempel', true);" вставляешь в какой то скрипт и прописываешь то что хочешь видеть в логе в vis. Там ещё цвет шрифта у него белый, замени если нужно.

Code: Alles auswählen

   schedule("* * * * *", function () {
   setState ('sayit.0.tts.text', 'Прогноз погоды на сегодня: '+getState("forecast.today").val);
   toLog('Прогноз погоды на сегодня: '+getState("forecast.today").val, true);  //выводит время+лог
});
Спасибо aurodionov, выкладывайте побольше. Сам в javaskript написать не умею, а переделать под себя или придумать как это использовать получается :)
Да и название темы подправь :) , это у них скоро будет хуже чем у нас ;)
js-controller: 1.4.2 / node.js: v6.14.3 / npm: 3.10.10
admin: 3.5.1
javascript: 3.6.4
web: 2.4.1 vis: 1.1.7
cloud: 2.6.2

Server: DELL FX170 / linux: Debian 9.5 Stretch
Adapter: MegaD-2561, Mega-ESP, Wrapper(Home)

DAndre
starter
Beiträge: 73
Registriert: 20.12.2015, 11:24

Re: Лог в окошке как в мажоржомо

Beitrag von DAndre » 07.02.2016, 13:06

Спасибо aurodionov за скрипт.
Спасибо Haus за пояснения.

Вставил в пинг, все работает :D

Code: Alles auswählen

     message = obj.name+'. Связь восстановлена!';
    }
    setState(sayItId, message);
    log(message);
    toLog(message, true);
});
Ubuntu 14.04 trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS, Android v4.4.2"
Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)

Benutzeravatar
aurodionov
professional
Beiträge: 389
Registriert: 14.07.2014, 16:39
Wohnort: Россия, Тюмень
Kontaktdaten:

Re: Лог на странице vis.

Beitrag von aurodionov » 12.11.2016, 09:49

Помогите кто-нибудь добавить параметр "color" что-бы критические события выводить другим цветом.
Пишу с пульта....

Benutzeravatar
Bluefox
Site Admin
Beiträge: 8001
Registriert: 13.07.2014, 14:42
Kontaktdaten:

Re: Лог на странице vis.

Beitrag von Bluefox » 12.11.2016, 10:14

Code: Alles auswählen

function toLog(text, addTimestamp, color) {
	if (typeof addTimestamp === 'string') {
		color = addTimestamp;
		addTimestamp = false;
	}
    console.log(text);
    var lines = getState('log').val;
    lines = lines.split('<br>');
	color = color ? '<span style="color: ' + color + '">' : '';
	
    if (addTimestamp) {
            lines.push(color + getTimeAsString() + ' ' + text + (color ? '</span>' : ''));
    } else {
            lines.push(color + text + (color ? '</span>' : ''));
    }
    if (lines.length > 10) lines.splice(0,1);
    setState('log', lines.join('<br>'), true);
}

Code: Alles auswählen

toLog('Colored text', 'red');
toLog('Colored text with timestampt', true, '#556677');

Benutzeravatar
aurodionov
professional
Beiträge: 389
Registriert: 14.07.2014, 16:39
Wohnort: Россия, Тюмень
Kontaktdaten:

Re: Лог на странице vis.

Beitrag von aurodionov » 12.11.2016, 10:23

Спасибо, Bluefox. Работает...раскрашивает.
Пишу с пульта....

Santos
starter
Beiträge: 12
Registriert: 13.06.2018, 20:48

Re: Лог на странице vis.

Beitrag von Santos » 16.07.2018, 08:09

Привет.
Уже пару дней как пытаюсь вывести главный лог на планшет. Мне интересно видеть все сообщения системы, а не только те, которые я могу вывести с функцией tolog. Подскажите пжлста как это сделать?
Заранее спасибо!

Benutzeravatar
aurodionov
professional
Beiträge: 389
Registriert: 14.07.2014, 16:39
Wohnort: Россия, Тюмень
Kontaktdaten:

Re: Лог на странице vis.

Beitrag von aurodionov » 16.07.2018, 10:09

У меня нескромный порос ,НАХРЕНА?
в лог iobroker летит столько всего ......
а если по сути ,парсить файл лога и выводить его ,но это оч сомнительное решение для виз
Пишу с пульта....

Santos
starter
Beiträge: 12
Registriert: 13.06.2018, 20:48

Re: Лог на странице vis.

Beitrag von Santos » 16.07.2018, 10:44

Спасибо за быстрый ответ.
1. Просто у меня почти все скрипты в Blockly, и как я туда вставлю функцию tolog.
2. Некоторые мне нужные статусы выводятся в главный лог, например если какойто адаптер повис, или соединение с каким то модулем было потеряно.

Не знаю, я привык каждый день заглядывать в лог, там все ясно и понятно. Хотелось бы теперь и в VIS.

Адаптер Parser установил, но не знаю пока как настраивать на считывание лог файла.

Benutzeravatar
aurodionov
professional
Beiträge: 389
Registriert: 14.07.2014, 16:39
Wohnort: Россия, Тюмень
Kontaktdaten:

Re: Лог на странице vis.

Beitrag von aurodionov » 16.07.2018, 11:10

Можно попробовать 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.

просто представь, как он РАЗРАСТЁТСЯ
Пишу с пульта....

Santos
starter
Beiträge: 12
Registriert: 13.06.2018, 20:48

Re: Лог на странице vis.

Beitrag von Santos » 16.07.2018, 20:13

Глянул, файл лога весит 1мб, наверно действительно там куча мусора.
Буду тогда выводить отдельную информацию с toLog.
Спасибо за подсказки!

P.S. такой вопрос. В виджете из первого поста выводит только 10 строчек лога, такой бегущий список. Как можно сделать, чтобы выводилось на все окно виджета?

Ок, сам понял, покопался в скрипте и выставил на 20 строчек, все заработало.

Antworten