Я хочу получить данные, отправленные в mqtt по теме, я также использую InfluxDB Telegraf и Chronograf для отображения графиков этих значений.Однако я хотел бы получить эти значения в соответствии с темой с помощью программы на Python и SQL.
Я начал с некоторого кода, но не могу определить нужную тему.Я использую этот SQL-запрос: «SELECT% s из% s ORDER по времени DESC LIMIT 1», чтобы получить последнее значение, однако оно не зависит от темы ....
SQL-запрос к Chronograf, который зависитпо теме: ВЫБРАТЬ среднее ("I") AS "mean_I" ОТ "michelin". "autogen". "mqtt_consumer" WHERE time>: dashboardTime: AND "topic" = 'PI1' GROUP BY time (: интервал :)FILL (null)
Итак, я хотел бы получить в соответствии с темой PI1, но как я реализовал это в своем запросе SQL, я попытался добавить: AND topic = 'PI1', но это не работает.Если есть кто-нибудь, кто может мне помочь.Спасибо за ваш отзыв.
def run(element):
"""Instantiate a connection to the InfluxDB."""
host='localhost'
port=8086
dbname = 'michelin'
measurement = "michelin.autogen.mqtt_consumer"
device = element
user=""
password=""
results = read_energy_data(dbname,measurement,device)
return(results)
def read_energy_data(db, measurement, device):
client = InfluxDBClient(host='localhost', port='8086')
client.switch_database(db)
results = client.query(("SELECT %s from %s ORDER by time DESC LIMIT 1 ") % (device, measurement))
points = results.get_points()
for item in points:
return item[device]