NEWS
Вопросы по написанию скриптов
-
А возможно например создать свой уровень
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) } });Может лучше есть решение?
-
Как правильно обзывать переменные, если это 5 датчиков температуры и 7 датчиков движения, все они разбросаны по комнатам.
kitchen.temp1
kitchen.temp2
kitchen.motion-sensor1
kitchen.motion-sensor2
или (при этом во кладке категории создать комнаты и эти датчики привязать по комнатам)
temp1
temp2
motion-sensor1
motion-sensor2
-
Как правильно обзывать переменные, если это 5 датчиков температуры и 7 датчиков движения, все они разбросаны по комнатам.
kitchen.temp1
kitchen.temp2
kitchen.motion-sensor1
kitchen.motion-sensor2
или (при этом во кладке категории создать комнаты и эти датчики привязать по комнатам)
temp1
temp2
motion-sensor1
motion-sensor2 `
У меня так:Bedroom.tempradiator
Bedroom.temproom
И тп
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden