@intrapro
Спасибо огромнейшее
Сообщения dre12007
-
RE: Сценарии пользователей
Вам лучше чем нибудь гуманитарным заниматься. Катастрофами, например.
Добрый день
Подскажите пожалуйста?
Когда рулет присылает значения 105 это значит 0%
А когда больше 105 то ничего не присылает так как в устройстве стоит ограничение по минимальным и максимальным значениям 20 и 105
Проблема в том что датчик не всегда присылает точные данные и бывают редко глюки и из за этого получается такая херь
Воды 0% и даже меньше, датчик присылает один раз глючные данные, ну например что воды 5%
А потом присылает нормальные данные, но так как воды уже меньше чем 105, эти данные не учитываются и всегда висит 5%
Можно сделать так что бы 0% было когда датчик присылает 105 и больше? Ну и когда 20 и меньше это 100%Просто когда воды в баке остаётся меньше 2% у меня выключается насос повышающий давления, что бы он в холостую не работал и когда случается такой глюк он постоянно работает а воды нету
-
RE: Сценарии пользователей
/dre/?pt=30 на самом деле выглядит так
Просто гугл объектив так скопировал криво -
RE: Сценарии пользователей
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 } }
-
RE: Сценарии пользователей
Пользователь @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 И какая то херь, которая выводится на экран
Без этой строки все норм
Спасибо за помощь -
RE: Сценарии пользователей
Подскажите пожалуйста ещё
Вот в сценарии пишу
if (roulette.value > 70)
Видимо он видит не обработанные значения те что от датчика приходят
А как написать что бы сценарий видел нужное значения, обработанное ? -
RE: Сценарии пользователей
Все правильно, я просто затупил, лет 20 ничего кроме денег не считал
Я в конце отнимал от полученной суммы 100, а не на оборот
Получал туже сумму но с минусом -
RE: Сценарии пользователей
Может глупый вопрос
Да и все работает
Но спрошу
Если посчитать ну например 46см
То получается минус 69 с хвостиком
А на экран выводит 69 без минуса
Не ругайтесь сильно я не очень хорошо учился в школе -
RE: Сценарии пользователей
@Erik
Вроде работает
Спасибо огромное за помощь
Ещё вопрос
Когда я буду делать какой нибудь сценарий с участием рулетки
На какие данные сценарий будет ссылаться, те что в плагине или обработанные ? -
RE: Сценарии пользователей
Пользователь @Alex_Jet написал в Сценарии пользователей:
@dre12007, ну если MegaD. То тут есть два более легких варианта:
- Открываем свойства канала, переходим на вкладку "Обработка" и в поле "Формула расчета входного значения" вписываем
100 - (Number(value) - 20)*100/85
- То же, но на вкладке "Канал" включаем чек-боксом "Использовать функцию обработки при получении данных", а в ней вписываем:
function (val) { var result = ( 100 - (val - 20) *100/85 ).toFixed(2); return result; //Возвращаем значение }
Таким образом, входные данные с датчика сразу "скорректируются" и у устройства будет отображаться нужное значение.
А этот способ если сделать то не нужен actor получается?
Просто рулет в виджет добавляю и он рисует нужный процент ? -
RE: Сценарии пользователей
Actor ДАТЧИК универсальный аналоговый
ID правильный
Рулет тоже датчик универсальный аналоговый -
RE: Сценарии пользователей
Да вроде есть
Ну данные то после опроса точно приходят -
RE: Сценарии пользователей
Плагин мега
Датчик опрашивается каждые 15 секунд
Отладчик молчит -
RE: Сценарии пользователей
Да создал и назвал его actor
Roulette это датчик расстояния, в устройствах он так и назван
Не мульти сценарий -
RE: Сценарии пользователей
const roulette = Device( "Roulette"); const actor = Device( "Аctor"); startOnChange ([roulette]); script({ start() { let newvalue = 100-(roulette.value-20)*100/85; actor.setValue(newvalue); } });
Что то не так я делаю
-
RE: Сценарии пользователей
Причем тут школа, я понял что вы высчитали
Где это прописать в ih, как это сделать в самой программе?
Такого в школе не преподают