NEWS
Вопросы по написанию скриптов
-
Вопрос, а как в лог записать сообщение с пометкой warn? `
log('This is warning', 'warn'); -
Извиняюсь, может н в ту ветку.
По логированию, какие ещё есть варианты,(info,warning,error) знаю
-
А возможно например создать свой уровень
function(code){ if (code !== 0) { log('что-то там: ' + code); } else { log('OK'); }и его логировать отдельно,а ещё лучше засунуть его в переменную или типа того.
Тогда появится возможность вести что-то вроде лога событий которые происходят (например работают из скриптов)
-
А возможно например создать свой уровень
function(code){ if (code !== 0) { log('что-то там: ' + code); } else { log('OK'); }и его логировать отдельно,а ещё лучше засунуть его в переменную или типа того.
Тогда появится возможность вести что-то вроде лога событий которые происходят (например работают из скриптов) `
Нет нельзя. И я пока не понял зачем ещё. Если хочешь, то можешь сам писать в переменную список событий. -
Как правильно сделать несколько таймаутов? Нужно мегой помигать через 2 сек.
Вот так срабатывает первый setTimeout
var url = 'http://192.168.0.14/sec/?cmd=7:2';
request(url);
setTimeout(function(){ request(url); }, 2000);
setTimeout(function(){ request(url); }, 2000);
setTimeout(function(){ request(url); }, 2000);
Если делаю вложенные, то работает, но так ведь и запутаться можно.
setTimeout(function(){
request(url);
setTimeout(function(){ request(url); }, 2000);
}, 2000);
Есть ли более красивый/правильный пример?
-
Как правильно сделать несколько таймаутов? Нужно мегой помигать через 2 сек.
Вот так срабатывает первый setTimeout
var url = 'http://192.168.0.14/sec/?cmd=7:2';
request(url);
setTimeout(function(){ request(url); }, 2000);
setTimeout(function(){ request(url); }, 2000);
setTimeout(function(){ request(url); }, 2000);
Если делаю вложенные, то работает, но так ведь и запутаться можно.
setTimeout(function(){
request(url);
setTimeout(function(){ request(url); }, 2000);
}, 2000);
Есть ли более красивый/правильный пример? `
setTimeoutvar url = 'http://192.168.0.14/sec/?cmd=7:2';
request(url);
setTimeout(function(){ request(url); }, 2000);
setTimeout(function(){ request(url); }, 4000);
setTimeout(function(){ request(url); }, 6000);
-
Как правильно сделать несколько таймаутов? Нужно мегой помигать через 2 сек.
Вот так срабатывает первый setTimeout
var url = 'http://192.168.0.14/sec/?cmd=7:2';
request(url);
setTimeout(function(){ request(url); }, 2000);
setTimeout(function(){ request(url); }, 2000);
setTimeout(function(){ request(url); }, 2000);
Если делаю вложенные, то работает, но так ведь и запутаться можно.
setTimeout(function(){
request(url);
setTimeout(function(){ request(url); }, 2000);
}, 2000);
Есть ли более красивый/правильный пример? `
setTimeoutvar url = 'http://192.168.0.14/sec/?cmd=7:2';
request(url);
setTimeout(function(){ request(url); }, 2000);
setTimeout(function(){ request(url); }, 4000);
setTimeout(function(){ request(url); }, 6000); `
Правильнее будет сделать так:
var url = 'http://192.168.0.14/sec/?cmd=7:2'; function blink(count) { if (count === undefined) count = 0; if (count > 3) return; request(url); setTimeout(blink, 2000, count + 1); } blink(); -
`var idSayIt = "sayit.0.tts.text"; var message = []; message.push('Доброе утро.'); message.push('За окном 7 градусов.'); message.push('Прогноз погоды на завтра'); for(var i=0; i<message.length; i++){/setstate/(idsayit,/message[i]);/log(message[i]);/}<e=""></message.length;>` Почему данный код работает не корректно, то есть может второе сообщение проговорить два раза, а последнее не произнести?[/i][/i] -
`var idSayIt = "sayit.0.tts.text"; var message = []; message.push('Доброе утро.'); message.push('За окном 7 градусов.'); message.push('Прогноз погоды на завтра'); for(var i=0; i<message.length; i++){/setstate/(idsayit,/message[i]);/log(message[i]);/}<e=""></message.length;>` Почему данный код работает не корректно, то есть может второе сообщение проговорить два раза, а последнее не произнести? А в лог норм выводит?[/i][/i] ``` ` -
В лог да, нормально `
Данные пишутся без задержки, я думаю в этом причина, может сделать опрос закончилось ли прогаваривание текущего потом подавать на вывод следующие данные -
Попробуй так:
`var idSayIt = "sayit.0.tts.text"; var message = []; message.push({text: 'Доброе утро.', interval: 3000}); message.push({text: 'За окном 7 градусов.', interval: 4000}); message.push({text: 'Прогноз погоды на завтра', interval: 5000}); var interval = 0; for(var i=0; i<message.length; i++){/settimeout(function/(text)/{/setstate/(idsayit,/text);/log(text);/},/interval,/message[i].text);/interval/+="message[i].interval;" }<e=""></message.length;>` [2678_error.png](/assets/uploads/files/2678_error.png) [/i][/i] -
Можно ли как то отследить изменение объекта, если в этот объект происходит запись одного и того же значения (например: up), но с интервалом например в 2-3 секунды?
Я пока только так придумал:
on('javascript.0.kodi.ExecuteAction',function (obj) { if(obj.newState.val !== false){ sendCommand(obj.newState.val); setState('javascript.0.kodi.ExecuteAction', false) } });Может лучше есть решение?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login