Сценарии пользователей
-
@dre12007, с виду скрипт рабочий. Вы точно правильно внесли ID устройств в скрипт? И ваш "Actor" - это точно актуатор универсальный аналоговый? А "Roulette" - датчик аналоговый универсальный?
Данные смотрите через плагин или на мнемосхеме?
-
Actor ДАТЧИК универсальный аналоговый
ID правильный
Рулет тоже датчик универсальный аналоговый
-
Пользователь @Alex_Jet написал в Сценарии пользователей:
@dre12007, ну если MegaD. То тут есть два более легких варианта:
- Открываем свойства канала, переходим на вкладку "Обработка" и в поле "Формула расчета входного значения" вписываем
100 - (Number(value) - 20)*100/85
- То же, но на вкладке "Канал" включаем чек-боксом "Использовать функцию обработки при получении данных", а в ней вписываем:
function (val) { var result = ( 100 - (val - 20) *100/85 ).toFixed(2); return result; //Возвращаем значение }
Таким образом, входные данные с датчика сразу "скорректируются" и у устройства будет отображаться нужное значение.
А этот способ если сделать то не нужен actor получается?
Просто рулет в виджет добавляю и он рисует нужный процент ?
-
Пользователь @dre12007 написал в Сценарии пользователей:
Actor ДАТЧИК универсальный аналоговый
ID правильный
Рулет тоже датчик универсальный аналоговыйActor нужно сделать НЕ датчиком, а актуатором.
Датчику нельзя значение присвоить.
-
Пользователь @dre12007 написал в Сценарии пользователей:
А этот способ если сделать то не нужен actor получается?
Просто рулет в виджет добавляю и он рисует нужный процент ?Да.
-
@Erik
Вроде работает
Спасибо огромное за помощь
Ещё вопрос
Когда я буду делать какой нибудь сценарий с участием рулетки
На какие данные сценарий будет ссылаться, те что в плагине или обработанные ?
-
Пользователь @dre12007 написал в Сценарии пользователей:
@Erik
Вроде работает
Спасибо огромное за помощь
Ещё вопрос
Когда я буду делать какой нибудь сценарий с участием рулетки
На какие данные сценарий будет ссылаться, те что в плагине или обработанные ?На что вы в сценарии сошлетесь, то и будет.
-
Может глупый вопрос
Да и все работает
Но спрошу
Если посчитать ну например 46см
То получается минус 69 с хвостиком
А на экран выводит 69 без минуса
Не ругайтесь сильно я не очень хорошо учился в школе
-
Если посчитать 46 см, получится
100-(46-20)*100/85 = 69,41
без минуса.Пользователь @dre12007 написал в Сценарии пользователей:
Не ругайтесь сильно я не очень хорошо учился в школе
Вам лучше чем нибудь гуманитарным заниматься. Катастрофами, например.
-
Все правильно, я просто затупил, лет 20 ничего кроме денег не считал
Я в конце отнимал от полученной суммы 100, а не на оборот
Получал туже сумму но с минусом
-
Подскажите пожалуйста ещё
Вот в сценарии пишу
if (roulette.value > 70)
Видимо он видит не обработанные значения те что от датчика приходят
А как написать что бы сценарий видел нужное значения, обработанное ?
-
Если вы использовали способ корректировки значения в плагине, то в roulette проценты.
Если скрипт и актуатор, то нет. В этом случае % у актуатора, а у roulette исходное значение из диапазона 20-105.Если вам нужно работать с %, то в первом случае в скрипте используйте значение roulette, во втором - значение актуатора.
-
Значения в плагине
-
Пользователь @dre12007 написал в Сценарии пользователей:
Пользователь @Alex_Jet написал в Сценарии пользователей:
@dre12007, ну если MegaD. То тут есть два более легких варианта:
- Открываем свойства канала, переходим на вкладку "Обработка" и в поле "Формула расчета входного значения" вписываем
100 - (Number(value) - 20)*100/85
- То же, но на вкладке "Канал" включаем чек-боксом "Использовать функцию обработки при получении данных", а в ней вписываем:
function (val) { var result = ( 100 - (val - 20) *100/85 ).toFixed(2); return result; //Возвращаем значение }
Таким образом, входные данные с датчика сразу "скорректируются" и у устройства будет отображаться нужное значение.
А этот способ если сделать то не нужен actor получается?
Просто рулет в виджет добавляю и он рисует нужный процент ?Понаблюдал, все работает но, если удалить эту строку 100 - (Number(value) - 20)*100/85
С ней какие то неправильные цифры показывает
В отладчике 3 значения
1 Размер до обработки
2 Обработанный правильный
3 И какая то херь, которая выводится на экран
Без этой строки все норм
Спасибо за помощь
-
@dre12007, надеюсь вы сделали один из двух вариантов? Либо обработка входного значения, либо функция обработки! В конце-концов - покажите что отладчик лпагина показывает!
-
29.07 14:50:19.735 megad2: localhost => 192.168.0.241 HTTP GET /drept=30&dev=sr04 echo=31 29.07 14:50:19.754 megad2: localhost <= 192.168.0.241 response: statusCode=200 contentType = text/html 29.07 14:50:19.755 megad2: body: 52.83 29.07 14:50:19.759 IH: get [ { id: 3031', value: '61.38' } ] set { roulette: { aval: 61.38, err: 0 } }
-
Пользователь @dre12007 написал в Сценарии пользователей:
29.07 14:50:19.735 megad2: localhost => 192.168.0.241 HTTP GET /drept=30&dev=sr04 echo=31 29.07 14:50:19.754 megad2: localhost <= 192.168.0.241 response: statusCode=200 contentType = text/html 29.07 14:50:19.755 megad2: body: 52.83 29.07 14:50:19.759 IH: get [ { id: 3031', value: '61.38' } ] set { roulette: { aval: 61.38, err: 0 } }
А почему у Вас в отладчике запрос на MegaD выглядит так "/drept=30&dev=sr04 echo=31", а не так "/sec/?pt=30&dev=sr04&echo=31"???
А если в принципе, то конечное значение получается правильным. Так какой вариант использовали - 1 ("Формула расчета входного значения") или 2 ("Функция обработки...")???
-
Функция обработки при получении данных
-
/dre/?pt=30 на самом деле выглядит так
Просто гугл объектив так скопировал криво
-
Всем привет. Подскажите строки кода которые нужно добавить в сценарий, чтобы свет включался по датчика движения в заданное время. Кот ночью тоскается и включает свет! Сценарий из примеров на сайте. Спасибо.