Страница 1 из 2

График не читается из-за датчика

Добавлено: Сб дек 12, 2020 10:45 pm
Kirch
график температуры
график температуры
2020-12-12_22-34-11.png (42.64 КБ) 4903 просмотра
Так и не придумал как бороть такие выскачки датчика. Очень часто показывает выше 100 градусов - оранжевые вертикальные линии на графике.
Не понимаю, то ли данные прекращаются в этот момент, то ли контроллер "не видит" или неправильно читает i2c датчик на общей шине.
Как фильтровать вылеты за уставки, то бы их не писать в историю и не показывать на графике?

Re: График не читается из-за датчика

Добавлено: Сб дек 12, 2020 10:57 pm
Chainik
Я бы сказал по-другому.
График не читается из-за отсутствия фильтрации значений перед записью в базу.

Для начала надо получить контроль над процессом сбора показаний датчика (периодичность опроса, возможность фильтрации).
Наверняка у вас сбор показаний датчика "поручен" какому-нибудь модулю MegaD. А там что "уродилось", то и сохранилось. Некуда написать код для фильтрации.

Рецепт очевиден: отказаться от "неподконтрольных" способов опроса и опрашивать датчик из собственного сценария или метода, где ввести необходимую фильтрацию.

Re: График не читается из-за датчика

Добавлено: Сб дек 12, 2020 11:08 pm
Logrus
Chainik писал(а): Сб дек 12, 2020 10:57 pm Я бы сказал по-другому.
График не читается из-за отсутствия фильтрации значений перед записью в базу.

Для начала надо получить контроль над процессом сбора показаний датчика (периодичность опроса, возможность фильтрации).
Наверняка у вас сбор показаний датчика "поручен" какому-нибудь модулю MegaD. А там что "уродилось", то и сохранилось. Некуда написать код для фильтрации.

Рецепт очевиден: отказаться от "неподконтрольных" способов опроса и опрашивать датчик из собственного сценария или метода, где ввести необходимую фильтрацию.
вообще то в мдм это решается все
даже с модуля при записи в свойство

но народ городит свой вИласипед

Re: График не читается из-за датчика

Добавлено: Сб дек 12, 2020 11:34 pm
Kirch
датчики опрашиваются через web переменные, в коде парсится и пишется в свойства объектов
2020-12-12_23-32-15.png
2020-12-12_23-32-15.png (31.58 КБ) 4868 просмотров
2020-12-12_23-33-49.png
2020-12-12_23-33-49.png (20.88 КБ) 4868 просмотров

Re: График не читается из-за датчика

Добавлено: Вс дек 13, 2020 4:17 am
homester
Ткните носом, пожалуйста, где почитать про "\d+\D\s+\S ..." ?

Re: График не читается из-за датчика

Добавлено: Вс дек 13, 2020 4:55 am
fandaymon
homester писал(а): Вс дек 13, 2020 4:17 am Ткните носом, пожалуйста, где почитать про "\d+\D\s+\S ..." ?
Набери в в любом поисковике - регулярные выражения и читай...

Re: График не читается из-за датчика

Добавлено: Вс дек 13, 2020 6:41 am
AK1
Создаете устройству свойство value1
Пишете код
$var = gg('sensor_temp14.value1');
if ($var > 40 || $var < 0) return;
sg('sensor_temp14.value', $var);
В поле свойство вместо value ставите value1

Ну и интервал проверки не 0, а хотя бы 60 сек.
Может быть достаточно только изменить период опроса.
Вы забили устройство запросами.

Re: График не читается из-за датчика

Добавлено: Вс дек 13, 2020 7:37 am
Kirch
Спасибо.
Без промежуточного сохранения и без парсинга web переменными никак?
Да, это уже другой вопрос, не к графику.

Re: График не читается из-за датчика

Добавлено: Вс дек 13, 2020 7:54 am
AK1
Наверно можно, но я по другому не умею.

Re: График не читается из-за датчика

Добавлено: Вс дек 13, 2020 8:19 am
Kirch
Тут бы еще как в свойство класса смочь встроить, а то каждому объекту из 20 одно и тоже приписывать