NEWS
Вопросы по написанию скриптов
-
Как правильно сделать несколько таймаутов? Нужно мегой помигать через 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
И тп
-
Вопрос, а как можно выполнить команду````
cat /homi/pi/1.txtИ второй вопрос, если js стоит на одном сервере, а команду чтения надо выполнить на другом, как это реализуется? `http://forum.iobroker.org/viewtopic.php?f=26&t=1117 ты про это?
У меня получилось запустить батник но только локально, с удаленного компа не получилось, права навешивал, в политиках разрешал, но там была команда на выключение компа, с txt думаю правами достаточно будет разрулить
-
Ага, можно так, а можно через exec. Вроде разобрался и прочитал файл. А вот как прочитать файл на дочернем сервере, неужто надо драйвер js туда вторым устанавливать и там скрипт писать?
2716_variablen.jpg -
Как до этого файла можно достучаться? По http, ftp, smb, ssh …? `
А если его примонтировать как папку на комп где запускается скрипт? и потом попробовать к нему обратится -
А если его примонтировать как папку на комп где запускается скрипт? и потом попробовать к нему обратится `
Я монтирую в систему яндекс.диск для создания резервных копий по webdav - все работает.На целевой системе (откуда файл взять) у вас винда или linux?
UPD. А, вижу, у вас целевой файл на малинке, скорее всего там линукс))
Если когда нибудь потребуется доступ через окна, то samba, если нет, то вариантов масса.
Можно просто по ssh подключиться к малинке и взять содержимое тем же cat, или подмонтировать в локальную машину, использовать можно https://help.ubuntu.com/12.04/serverguide/network-file-system.html, rsync, FTP, SCP и т.д. Посмотрите в инете, что проще настроить для вас, тем и воспользуйтесь…
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