Ещё одно добавление:
Допустим у нас есть график температуры или влажности. И на этом графике располагаются кривые сразу нескольких комнат. Если физические показатели часто меняются, и все датчики довольно активно присылают данные, то все графики по времени будут заканчиваться примерно одинаково.
Но если ситуация иная, то график, по которому не поступили новые данные по какой либо причине, будет отставать от других, и на определенном масштабе может просто пропасть из виду. А такие причины на самом деле могут быть.
Я столкнулся с этим моментом на графиках влажности. Сейчас зима, и довольно сухо. Минимальный предел измерения моих датчиков это 20%. Фактически относительная влажность упала ещё ниже. Поэтому датчики просто перестали отправлять данные и графики замерли. Для борьбы с засухой, были поставлены два комнатных увлажнителя, которые изменили ситуацию, но только в этих комнатах. С двух датчиков пошли новые данные, когда влажность начала подниматься. А вот с остальных датчиков данных не приходило, и их графики просто пропали.
Ситуация не однозначная. Есть данные о последнем измерении, и на самом деле по факту физические показания не изменились. если смотреть на цифры, то всё устраивает, но график то не строиться.
Чтобы видеть такие графики, я попробовал просто добавлять (дублировать) последние показания с текущим временем. Для этого в сценарий внес небольшие изменения.
Код: Выделить всё
// Собрать структуру JSON
//Вариант без повтора последнего измерения с текущим временем
$st = $params['callback'].'([';
$f = false;
foreach($arr_s as $s) {
if ($f) { $st .=','; } else { $f = true; }
$st .= '['.$s['ADDED'].'000,'.$s['VALUE'].']';
}
$st .= '])';
Код: Выделить всё
// Собрать структуру JSON
//Вариант с добавлением в конце последнего значения с текущим временем
$st = $params['callback'].'([';
foreach($arr_s as $s) {
$st .= '['.$s['ADDED'].'000,'.$s['VALUE'].']';
$st .=',';
}
$st .= '['.time().'000,'.$s['VALUE'].']';
$st .= '])';
Результатом я был доволен. Выношу на Ваш суд. Но стоит заметить, что способ возможно будет не полностью универсальный. И при неких других условиях и измерениях, возможно не следует растягивать на графике последнее измерение до текущего времени. Об этом и хотел бы поговорить.