Смещение графика по первому значению показанного промежутка времени - PullRequest
0 голосов
/ 19 января 2019

У меня есть график счетчика энергии в Графане, который показывает значение потребленной активной энергии за выбранный промежуток времени.

enter image description here

Это относительно новый счетчик, ему несколько месяцев, поэтому самое высокое значение, которое он показывает в настоящее время, составляет около 1570,3 кВт-ч.

Интервал, показанный на рисунке выше, составляет 24 часа, поэтому он начинается с 1568,1 кВтч.

Я хочу сместить весь график на 1568,1 кВт-ч, чтобы начало графика составляло 0 кВт-ч, а конец - 2200 Вт-ч (~ 91 Вт-ч в час в среднем за 24 ч).

Он всегда должен корректироваться при изменении выбранного промежутка времени, чтобы я мог получить хороший обзор ежедневного, еженедельного или ежемесячного потребления.

Как мне заархивировать это?

Я читал, что использование чего-то вроде SELECT integral(derivative(max("in-value"))) ... сделало бы эту работу, но я не получил ее на работу. Кроме того, я считаю, что простое добавление SELECT max("in-value") - first_value_of_timespan("in-value") ... было бы более точным и эффективным, но такого метода first_value_of_timespan не существует.

1 Ответ

0 голосов
/ 20 января 2019

Решение состоит в том, чтобы взять difference между текущим интервалом и следующим (в указанном интервале времени есть много небольших интервалов), а затем сделать cumulative_sum для всех разностей временного диапазона.

В конкретном случае, указанном в вопросе, решение будет

SELECT cumulative_sum(difference(max("in-total"))) FROM "le.e6.haus.strom.zähler.hausstrom-solar" WHERE $timeFilter GROUP BY time($__interval) fill(previous)

...