Я использую Grafana и Influx для визуализации потребления электроэнергии.
In in flux у меня есть два измерения:
power_measurements =
{
tags: {sensor_id: ‘xyz’},
fields: {‘current’: 0.6}
}
device_metadata = {
tags: {sensor_id: ‘xyz’},
fields: {‘off_level’: 0.1,
‘standby_level’: 0.5,
‘on_level’: 1.0}
Обратите внимание, что метаданные и фактическое измерение датчика находятся отдельно измерения притока. Это потому, что метаданные могут быть изменены пользователем ... и id не хотел обновлять существующие параметры power_measurements. На самом деле существует несколько различных датчиков с разными наборами метаданных.
Я бы хотел визуализировать в графане состояние датчика в соответствии с метаданными. Состояние определяется следующим псевдокодом:
if current < off_level:
state = 0
if off_level < current < stdby_level:
state = 1
if std_by_level < current
state = 2
, поэтому я хотел бы сопоставить текущее поле с диапазонами, определенными в метаданных, и работать с сопоставленными временными рядами в графане. Но не могу понять, как решить эту проблему (или конкретный запрос c) в Grafana.