NEWS
Вопросы по написанию скриптов
- 
					
					
					
					
 Это конечно прикольно, но я не далекий от написания кода. Каждые 30 сек срабатывает подписка на событие датчика движения. но сам датчик молчит.более я не знаю откуда еще он может вызываться Где еще можно посмотреть? 
- 
					
					
					
					
 А ты можешь встроить вот такой лог? log('svetOn: ' + getState('svetOn').val + ', p1_Движение_гостинная: ' + obj.state.val + '[ack: ' + obj.state.ack + '], onSensor: ' + getState('onSensor').val);
- 
					
					
					
					
 megad-1 2016-09-20 23:48:16.125 info try to control megad.1.p10_Свет_гостинная with 0 javascript-0 2016-09-20 23:48:11.215 info script.js.common.test_on: svetOn: 3, p1_Движение_гостинная: false[ack: true], onSensor: 1 megad-1 2016-09-20 23:48:11.134 info try to control megad.1.p10_Свет_гостинная with 255
- 
					
					
					
					
 Не, остановка не помогает. И мигает он четко каждые 30 сек: Т.е проблема не в скрипта 
- 
					
					
					
					
 ну как же проблема не в скрипте когда срабатывает конкретная секция, о чем пишет в лог? может и не в скрипте проблема, может глубже. но я не понимаю куда дальше смотреть 
- 
					
					
					
					
 ну как же проблема не в скрипте когда срабатывает конкретная секция, о чем пишет в лог? может и не в скрипте проблема, может глубже. но я не понимаю куда дальше смотреть ` 
 Так я понимаю что скрипт стопали, а свет все равно мигал? Причем тут скрипт тогда? И как он выдает данные в лог если он остановлен?
- 
					
					
					
					
 Совершенно на оборот. если остановить скрипт то ничего не включается. Речь то о том, что срабатывает событие на которое я подписался каждые 30 сек (ну и когда фактически есть само событие движения тоже срабатывает) Два сообщения вверх есть лог сработки каждые 30 сек 
- 
					
					
					
					
 Может так. А код для включения от выключателя существует? Примерно, как вторая часть у моего скрипта? var timer; on({id: "megad.1.p1_Движение_гостинная"/*Движение_гостинная*/, change: 'ne'}, function (obj) { if (!obj.state.ack) return; // this shoould not happen var svetOn = parseInt(getState('svetOn').val) || 0; var onSensor = parseInt(getState('onSensor').val) || 0; var isMotion = obj.newState.val === 'true' || obj.newState.val === true || obj.newState.val === '1' || obj.newState.val === 1; log('svetOn: ' + svetOn + ', p1_Движение_гостинная: ' + isMotion + '[ack: ' + obj.state.ack + '], onSensor: ' + onSensor); // svetOn: 3, p1_Движение_гостинная: false[ack: true], onSensor: 1 // if motion and sensor enabled and light is OFF or switched on by motion detector if (isMotion && onSensor === 1 && (svetOn === 0 || svetOn === 3)) { // Output of brightness in kitchen. Just for debug log(getState('megad.1.p10_Свет_гостинная'/*Свет_гостинная*/).val); // if light was off => we switch the light on because of motion detector. Start timer setState("megad.1.p10_Свет_гостинная"/*Свет_гостинная*/, 255); setState('svetOn', 3); log("Включен свет по движению"); // start timer for 5 seconds to switch the light off log('запускаем таймер отключения на 30000\. старый стираем'); if (timer) clearTimeout(timer); timer = setTimeout(function() { timer = null; setState("megad.1.p10_Свет_гостинная"/*Свет_гостинная*/, 0); setState('svetOn', 0); log("выкл свет по таймеру"); }, 5000); } }); on({id: "megad.1.px_выключатель света", change: 'ne'}, function (obj) { // manual mode => ignore motion timer if (timer) clearTimeout(timer); timer = null; var obj.state.val = obj.newState.val === 'true' || obj.newState.val === true || obj.newState.val === '1' || obj.newState.val === 1; if (obj.state.val) { // somebody pressed on button => switch the light on setState("megad.1.p10_Свет_гостинная"/*Свет_гостинная*/, 255); setState('svetOn', 1); } else { // somebody pressed off button => switch the light off setState("megad.1.p10_Свет_гостинная"/*Свет_гостинная*/, 0); setState('svetOn', 0); } });
- 
					
					
					
					
 Вс равно блин каждые 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: выкл свет по таймеру
- 
					
					
					
					
 У тебя 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. 
 
		
	