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

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Kirch
Сообщения: 51
Зарегистрирован: Чт июл 26, 2018 4:50 pm
Благодарил (а): 12 раз
Поблагодарили: 7 раз

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

Сообщение Kirch » Сб дек 12, 2020 10:45 pm

2020-12-12_22-34-11.png
график температуры
2020-12-12_22-34-11.png (42.64 КБ) 3065 просмотров
Так и не придумал как бороть такие выскачки датчика. Очень часто показывает выше 100 градусов - оранжевые вертикальные линии на графике.
Не понимаю, то ли данные прекращаются в этот момент, то ли контроллер "не видит" или неправильно читает i2c датчик на общей шине.
Как фильтровать вылеты за уставки, то бы их не писать в историю и не показывать на графике?
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

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

Сообщение Chainik » Сб дек 12, 2020 10:57 pm

Я бы сказал по-другому.
График не читается из-за отсутствия фильтрации значений перед записью в базу.

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

Рецепт очевиден: отказаться от "неподконтрольных" способов опроса и опрашивать датчик из собственного сценария или метода, где ввести необходимую фильтрацию.
Logrus
Сообщения: 2077
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 456 раз

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

Сообщение Logrus » Сб дек 12, 2020 11:08 pm

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

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

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

но народ городит свой вИласипед
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Kirch
Сообщения: 51
Зарегистрирован: Чт июл 26, 2018 4:50 pm
Благодарил (а): 12 раз
Поблагодарили: 7 раз

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

Сообщение Kirch » Сб дек 12, 2020 11:34 pm

датчики опрашиваются через web переменные, в коде парсится и пишется в свойства объектов
2020-12-12_23-32-15.png
2020-12-12_23-32-15.png (31.58 КБ) 3030 просмотров
2020-12-12_23-33-49.png
2020-12-12_23-33-49.png (20.88 КБ) 3030 просмотров
homester
Сообщения: 194
Зарегистрирован: Вт дек 24, 2019 2:09 pm
Благодарил (а): 112 раз
Поблагодарили: 34 раза

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

Сообщение homester » Вс дек 13, 2020 4:17 am

Ткните носом, пожалуйста, где почитать про "\d+\D\s+\S ..." ?
Raspberry Pi3 B+, v4.44, внешняя з/к
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Вс дек 13, 2020 4:55 am

homester писал(а):
Вс дек 13, 2020 4:17 am
Ткните носом, пожалуйста, где почитать про "\d+\D\s+\S ..." ?
Набери в в любом поисковике - регулярные выражения и читай...
За это сообщение автора fandaymon поблагодарил:
homester (Вс дек 13, 2020 8:33 am)
Рейтинг: 1.16%
AK1
Сообщения: 135
Зарегистрирован: Чт фев 13, 2020 6:39 pm
Благодарил (а): 23 раза
Поблагодарили: 30 раз

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

Сообщение AK1 » Вс дек 13, 2020 6:41 am

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

Ну и интервал проверки не 0, а хотя бы 60 сек.
Может быть достаточно только изменить период опроса.
Вы забили устройство запросами.
За это сообщение автора AK1 поблагодарил:
Kirch (Вс дек 13, 2020 12:43 pm)
Рейтинг: 1.16%
Kirch
Сообщения: 51
Зарегистрирован: Чт июл 26, 2018 4:50 pm
Благодарил (а): 12 раз
Поблагодарили: 7 раз

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

Сообщение Kirch » Вс дек 13, 2020 7:37 am

Спасибо.
Без промежуточного сохранения и без парсинга web переменными никак?
Да, это уже другой вопрос, не к графику.
AK1
Сообщения: 135
Зарегистрирован: Чт фев 13, 2020 6:39 pm
Благодарил (а): 23 раза
Поблагодарили: 30 раз

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

Сообщение AK1 » Вс дек 13, 2020 7:54 am

Наверно можно, но я по другому не умею.
Kirch
Сообщения: 51
Зарегистрирован: Чт июл 26, 2018 4:50 pm
Благодарил (а): 12 раз
Поблагодарили: 7 раз

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

Сообщение Kirch » Вс дек 13, 2020 8:19 am

Тут бы еще как в свойство класса смочь встроить, а то каждому объекту из 20 одно и тоже приписывать
Ответить