NEWS
Вопросы по написанию скриптов
- 
					
					
					
					
 У тебя p1_Движение_гостинная каждые 30 сек присылает true. ` > 16:02:24.820 [info] javascript.0 script.js.common.test_on: svetOn: 0, p1_Движение_гостинная: true[ack: true], onSensor: 1 16:02:54.836 [info] javascript.0 script.js.common.test_on: svetOn: 0, p1_Движение_гостинная: true[ack: true], onSensor: 1 ` И скрипт отрабатывает всё правильно. Что выдаёт скрипт в течении 3 минут? on({id: "megad.1.p1_Движение_гостинная"/*Движение_гостинная*/, change: 'any'}, function (obj) { console.log(JSON.stringify(obj.state)); });
- 
					
					
					
					
 Вс равно блин каждые 30 сек зажигается свет: 16:02:24.820 [info] javascript.0 script.js.common.test_on: svetOn: 0, p1_Движение_гостинная: true[ack: true], onSensor: 1 16:02:24.820 [info] javascript.0 script.js.common.test_on: 0 16:02:24.820 [info] javascript.0 script.js.common.test_on: Включен свет по движению 16:02:24.820 [info] javascript.0 script.js.common.test_on: запускаем таймер отключения на 30000\. старый стираем 16:02:24.926 [info] javascript.0 script.js.common.test_on: svetOn: 3, p1_Движение_гостинная: false[ack: true], onSensor: 1 16:02:29.821 [info] javascript.0 script.js.common.test_on: выкл свет по таймеру 16:02:54.836 [info] javascript.0 script.js.common.test_on: svetOn: 0, p1_Движение_гостинная: true[ack: true], onSensor: 1 16:02:54.836 [info] javascript.0 script.js.common.test_on: 0 16:02:54.836 [info] javascript.0 script.js.common.test_on: Включен свет по движению 16:02:54.836 [info] javascript.0 script.js.common.test_on: запускаем таймер отключения на 30000\. старый стираем 16:02:54.922 [info] javascript.0 script.js.common.test_on: svetOn: 3, p1_Движение_гостинная: false[ack: true], onSensor: 1 16:02:59.843 [info] javascript.0 script.js.common.test_on: выкл свет по таймеру ```` `Отключил объемник 
- 
					
					
					
					
 Готово ! 20:35:34.143 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:35:34.143 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479334138,"ack":true,"lc":1474479334138,"from":"system.adapter.megad.1"} 20:35:34.244 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:35:34.244 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479334239,"ack":true,"lc":1474479334239,"from":"system.adapter.megad.1"} 20:35:37.399 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:35:37.399 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479337396,"ack":true,"lc":1474479337396,"from":"system.adapter.megad.1"} 20:35:37.500 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:35:37.501 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479337497,"ack":true,"lc":1474479337497,"from":"system.adapter.megad.1"} 20:35:49.257 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:35:49.257 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479349252,"ack":true,"lc":1474479349252,"from":"system.adapter.megad.1"} 20:35:49.355 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:35:49.356 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479349352,"ack":true,"lc":1474479349352,"from":"system.adapter.megad.1"} 20:36:04.770 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:36:04.770 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479364766,"ack":true,"lc":1474479364766,"from":"system.adapter.megad.1"} 20:36:04.872 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:36:04.872 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479364867,"ack":true,"lc":1474479364867,"from":"system.adapter.megad.1"} 20:36:07.400 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:36:07.401 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479367397,"ack":true,"lc":1474479367397,"from":"system.adapter.megad.1"} 20:36:07.503 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:36:07.503 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479367499,"ack":true,"lc":1474479367499,"from":"system.adapter.megad.1"} 20:36:21.801 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:36:21.801 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479381790,"ack":true,"lc":1474479381790,"from":"system.adapter.megad.1"} 20:36:21.892 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:36:21.893 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479381889,"ack":true,"lc":1474479381889,"from":"system.adapter.megad.1"} 20:36:29.213 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:36:29.214 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479389208,"ack":true,"lc":1474479389208,"from":"system.adapter.megad.1"} 20:36:29.312 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:36:29.313 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479389309,"ack":true,"lc":1474479389309,"from":"system.adapter.megad.1"} 20:36:31.897 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:36:31.898 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479391893,"ack":true,"lc":1474479391893,"from":"system.adapter.megad.1"} 20:36:32.008 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:36:32.009 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479391997,"ack":true,"lc":1474479391997,"from":"system.adapter.megad.1"} 20:36:34.856 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:36:34.857 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479394853,"ack":true,"lc":1474479394853,"from":"system.adapter.megad.1"} 20:36:34.958 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:36:34.959 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479394953,"ack":true,"lc":1474479394953,"from":"system.adapter.megad.1"} 20:36:37.411 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:36:37.412 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479397405,"ack":true,"lc":1474479397405,"from":"system.adapter.megad.1"} 20:36:37.501 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:36:37.502 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479397498,"ack":true,"lc":1474479397498,"from":"system.adapter.megad.1"} 20:36:41.742 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:36:41.742 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479401732,"ack":true,"lc":1474479401732,"from":"system.adapter.megad.1"} 20:36:41.841 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:36:41.841 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479401833,"ack":true,"lc":1474479401833,"from":"system.adapter.megad.1"} 20:37:02.262 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:37:02.264 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479422255,"ack":true,"lc":1474479422255,"from":"system.adapter.megad.1"} 20:37:02.361 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:37:02.362 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479422355,"ack":true,"lc":1474479422355,"from":"system.adapter.megad.1"} 20:37:07.409 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:37:07.410 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479427405,"ack":true,"lc":1474479427405,"from":"system.adapter.megad.1"} 20:37:07.512 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:37:07.513 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479427509,"ack":true,"lc":1474479427509,"from":"system.adapter.megad.1"} 20:37:07.942 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:37:07.944 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479427935,"ack":true,"lc":1474479427935,"from":"system.adapter.megad.1"} 20:37:08.039 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:37:08.042 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479428035,"ack":true,"lc":1474479428035,"from":"system.adapter.megad.1"} 20:37:10.819 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:37:10.820 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479430810,"ack":true,"lc":1474479430810,"from":"system.adapter.megad.1"} 20:37:10.919 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:37:10.920 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479430913,"ack":true,"lc":1474479430913,"from":"system.adapter.megad.1"} 20:37:14.094 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:37:14.095 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479434089,"ack":true,"lc":1474479434089,"from":"system.adapter.megad.1"} 20:37:14.191 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:37:14.192 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479434188,"ack":true,"lc":1474479434188,"from":"system.adapter.megad.1"} 20:37:16.631 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:37:16.631 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479436625,"ack":true,"lc":1474479436625,"from":"system.adapter.megad.1"} 20:37:16.738 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:37:16.738 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479436732,"ack":true,"lc":1474479436732,"from":"system.adapter.megad.1"} 20:37:20.461 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:37:20.463 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479440454,"ack":true,"lc":1474479440454,"from":"system.adapter.megad.1"} 20:37:20.562 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:37:20.563 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479440556,"ack":true,"lc":1474479440556,"from":"system.adapter.megad.1"} 20:37:24.479 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: true[ack: true], onSensor: 0 20:37:24.480 [info] javascript.0 script.js.common.test_on: {"val":true,"ts":1474479444473,"ack":true,"lc":1474479444473,"from":"system.adapter.megad.1"} 20:37:24.581 [info] javascript.0 script.js.common.test_on: svetOn: 1, p1_Движение_гостинная: false[ack: true], onSensor: 0 20:37:24.583 [info] javascript.0 script.js.common.test_on: {"val":false,"ts":1474479444575,"ack":true,"lc":1474479444575,"from":"system.adapter.megad.1"} !
- 
					
					
					
					
 Ну ты то хоть понимаешь, что ты видишь? Как бы ты это интерпретировал? 
- 
					
					
					
					
 Да у меня блин стоит в настройке "при размыкании" вот и шлёт постоянно true, а false при сработке ( 
- 
					
					
					
					
 Да у меня блин стоит в настройке "при размыкании" вот и шлёт постоянно true, а false при сработке ( ` 
 А почему каждые 5 секунд? Может выключение света вызывать срабатывание движения?
- 
					
					
					
					
 Да у меня блин стоит в настройке "при размыкании" вот и шлёт постоянно true, а false при сработке ( ` 
 Посади порт на землю, тоже самое?
- 
					
					
					
					
 Добавил ещё один драйвер javascript. Как создавать и переносить скрипты в новый драйвер js? Не могу найти переключение в админке. Хочу чтобы часть скриптов (потенциально опасных) работало под одним, Другая часть - отлаженных и отвечающих за безопасность дома под другим. Так как уже неоднократно ошибки в скриптах "ложили" драйвер со всеми другими скриптами. Надеюсь что при этом глобальные переменные останутся доступны в обоих драйверах. 
- 
					
					
					
					
 Добавил ещё один драйвер javascript. Как создавать и переносить скрипты в новый драйвер js? Не могу найти переключение в админке. Хочу чтобы часть скриптов (потенциально опасных) работало под одним, Другая часть - отлаженных и отвечающих за безопасность дома под другим. Так как уже неоднократно ошибки в скриптах "ложили" драйвер со всеми другими скриптами. Надеюсь что при этом глобальные переменные останутся доступны в обоих драйверах. ` 
 В вкладке скрипты возле названия скрипта у тебя "0" поменяй ” на "1"
- 
					
					
					
					
 Добавил ещё один драйвер javascript. Как создавать и переносить скрипты в новый драйвер js? Не могу найти переключение в админке. Хочу чтобы часть скриптов (потенциально опасных) работало под одним, Другая часть - отлаженных и отвечающих за безопасность дома под другим. Так как уже неоднократно ошибки в скриптах "ложили" драйвер со всеми другими скриптами. Надеюсь что при этом глобальные переменные останутся доступны в обоих драйверах. В вкладке скрипты возле названия скрипта у тебя "0" поменяй ” на "1"
 Понял, спасибо.
- 
					
					
					
					
 Можно ли из скрипта изменить значение свойства "unit" существующего объекта? Пример - хочу выводить на экран свободное место на диске и, в зависимости от его значения прописывать в unit Gb, Mb, Kb. 
- 
					
					
					
					
 @Ho Hum:Можно ли из скрипта изменить значение свойства "unit" существующего объекта? Пример - хочу выводить на экран свободное место на диске и, в зависимости от его значения прописывать в unit Gb, Mb, Kb. ` 
 в vis выводи Gb, Mb, Kb. отдельным виджетом с формулой. Или создай скрипт и добавляй к цифрам нужное и сохраняй в другой объект
- 
					
					
					
					
 Да, про это я тоже думал, просто хотелось сделать покрасивее  Спасибо. 
- 
					
					
					
					
 Для управления контентом в vis надо использовать readFile, writeFile. А что использовать для корректного удаления файла? Ситуация такая: удалил файл: fs.unlinkSync(small_img);в файловой системе файла нет. В проводнике редактора Vis-а тоже нет. В браузере (на котором ни разу к этому урлу не обращались, то есть дело не в кэше клиента) на клиенте файл-картинка загружается. Перезапускал драйвер vis, web - не помогает. 
- 
					
					
					
					
 Странности с indexof ! ```` 
 var arr_name = [], arr_work = [];
 ! sendTo('sql.0', 'query', "SELECT name FROM work.work GROUP BY name", function(res) {
 if (res.error) {
 console.error(res.error);
 }
 for (var a in res.result) {
 arr_name.push(res.result[a].name);
 }
 ! if(prev_command === name_cust && arr_work.indexOf(command) < 0){
 for (var a in arr_work) {
 log(arr_work[a]);
 }
 log(typeof(arr_work));
 log(arr_work.indexOf(command));возвращает -1, хо 1 элемент в массиве, хоть несколько. Правда элементы кириллический текст.
- 
					
					
					
					
 Странности с indexof ! var arr_name = [], arr_work = []; 
 ! sendTo('sql.0', 'query', "SELECT name FROM work.work GROUP BY name", function(res) {
 ! if (res.error) {
 ! console.error(res.error);
 ! }
 ! for (var a in res.result) {
 ! arr_name.push(res.result[a].name);
 ! }
 ! if(prev_command === name_cust && arr_work.indexOf(command) < 0){
 ! for (var a in arr_work) {
 ! log(arr_work[a]);
 ! }
 ! log(typeof(arr_work));
 ! log(arr_work.indexOf(command));возвращает -1, хо 1 элемент в массиве, хоть несколько. Правда элементы кириллический текст. ` 
 Что пишет в лог?! ``` 
 var arr_name = [], arr_work = []; ! sendTo('sql.0', 'query', "SELECT name FROM work.work GROUP BY name", function(res) { if (res.error) { console.error(res.error); } for (var a in res.result) { arr_name.push(res.result[a].name); } log('Масиив = ' + JSON.stringify(arr_name)); ! if(prev_command === name_cust && ~arr_work.indexOf(command)){ for (var b in arr_work) { log(arr_work[b]); } log(typeof(arr_work)); log(arr_work.indexOf(command)); } ! });[/b]
- 
					
					
					
					
 Есть ли возможность подписаться на открытие(загрузку) web-страницы, созданной в vis? Другими словами при открытии определённой страницы (/vis/index.html#mypage) надо запустить определённую функцию, созданную в "Скриптах" админки ( на стороне сервера). 
- 
					
					
					
					
 Код ! ```` 
 sendTo('sql.0', 'query','SELECT SenderNumber, ReceivingDateTime, TextDecoded FROM smsd.inbox WHERE ID = ' + id, function(res) {
 if (res.error) {
 log(res.error);
 }
 a = {"phone" : res.result[0].SenderNumber,
 "time" : formatDate(new Date(res.result[0].ReceivingDateTime), 'DD.MM.YYYY hh:mm'),
 "text" : res.result[0].TextDecoded
 };
 setState('sms.in.phone', res.result[0].SenderNumber);
 setState('sms.in.time', formatDate(new Date(res.result[0].ReceivingDateTime), 'DD.MM.YYYY hh:mm'));
 setState('sms.in.text', res.result[0].TextDecoded);
 //setState('sms.in.json', a);
 setState('sms.in.json', JSON.stringify(res));
 setState('sms.in.id', id);
 });
- 
					
					
					
					
 Поделитесь кто то скриптом управления шаговым двигателем или ссылкой на форуме где почитать. Планирую с MegaESP через драйвер ULN2003. Спасибо. 
- 
					
					
					
					
 Поделитесь кто то скриптом управления шаговым двигателем или ссылкой на форуме где почитать. Планирую с MegaESP через драйвер ULN2003. Спасибо. ` 
 А причем тут скрипт? Пиши прошивку для есп, а из иоб будешь задавать только угол поворота или скорость и шаги
 
		
	