NEWS
Вопросы по написанию скриптов
-
Bluefox, можно привести пару пример для чего можно использовать enums?
-
Например состояния плеера:
'stop;play;paused'
Тогда значения состояния 0,1 и 2 автоматически будут показыватся в admin, как stop, play…
Вот в принципе и всё.
-
А в виде кода можно как нибудь изобразить?
-
Как правильно сделать несколько таймаутов? Нужно мегой помигать через 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) } });
Может лучше есть решение?
-
on({id: 'javascript.0.kodi.ExecuteAction', change: 'any'}, function (obj) { sendCommand(obj.newState.val); });
-
Отличное решение, спасибо
-
Как правильно обзывать переменные, если это 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
И тп
-
Вопрос, а как можно выполнить команду````
cat /homi/pi/1.txtИ второй вопрос, если js стоит на одном сервере, а команду чтения надо выполнить на другом, как это реализуется?
-
Вопрос, а как можно выполнить команду````
cat /homi/pi/1.txtИ второй вопрос, если js стоит на одном сервере, а команду чтения надо выполнить на другом, как это реализуется? `
http://forum.iobroker.org/viewtopic.php?f=26&t=1117 ты про это?
У меня получилось запустить батник но только локально, с удаленного компа не получилось, права навешивал, в политиках разрешал, но там была команда на выключение компа, с txt думаю правами достаточно будет разрулить
-
Ага, можно так, а можно через exec. Вроде разобрался и прочитал файл. А вот как прочитать файл на дочернем сервере, неужто надо драйвер js туда вторым устанавливать и там скрипт писать?
2716_variablen.jpg