Major change to Influx 2

This includes new queries for data,
New queries for creating/submitting data
and some new code that needs to be refactored
This commit is contained in:
ahosking 2022-07-03 00:31:01 -04:00
parent 06f194f8bd
commit 94c493fa9b

View File

@ -8,14 +8,14 @@ from influxdb_client.client.write_api import SYNCHRONOUS
config = dotenv_values(".env") config = dotenv_values(".env")
print(config)
app = Flask(__name__) app = Flask(__name__)
def db_main(host='localhost', port=8086): client = influxdb_client.InfluxDBClient(
user = 'root' url=config['DB_URL'],
password = 'root' token=config['DB_TOKEN'],
dbname = 'gas' org=config['DB_ORG']
)
@app.route('/success') @app.route('/success')
def success(): def success():
@ -23,14 +23,22 @@ def success():
@app.route('/', methods=['GET', 'POST']) @app.route('/', methods=['GET', 'POST'])
def main_page(): def main_page():
client = influxdb_client.InfluxDBClient( query_api = client.query_api()
url=config['DB_URL'], query = 'from(bucket: "gas")\
token=config['DB_TOKEN'], |> range(start: -96h)\
org=config['DB_ORG'] |> filter(fn: (r) => r["_measurement"] == "2016_odyssey")\
) |> filter(fn: (r) => r["_field"] == "odometer")'
#query = 'select TOP(odometer, 5) from odyssey' #query = 'select TOP(odometer, 5) from odyssey'
#data = client.query(query) #data = client.query(query)
data = [] result = query_api.query(org=config['DB_ORG'], query=query)
print(result)
results = []
for table in result:
for record in table.records:
results.append((record.get_time(), record.get_field(), record.get_value()))
print(results)
data= results
return render_template('index.html', data=data) return render_template('index.html', data=data)
@app.route('/add_time', methods=['POST', 'GET']) @app.route('/add_time', methods=['POST', 'GET'])
@ -79,16 +87,12 @@ def add_time():
print() print()
print(dt) print(dt)
print() print()
client = influxdb_client.InfluxDBClient(
url=config['DB_URL'],
token=config['DB_TOKEN'],
org=config['DB_ORG']
)
write_api = client.write_api(write_options=SYNCHRONOUS) write_api = client.write_api(write_options=SYNCHRONOUS)
p = influxdb_client.Point("2016_odyssey").time(timestamp).field("odometer", float(odometer)) p = influxdb_client.Point("2016_odyssey").time(timestamp).field("odometer", float(odometer)).field("oilhealth", oilhealth)\
.field("fuel", fuel).field("fuelcost", fuelcost).field("winter", winter)
write_api.write(bucket="gas", org=config['DB_ORG'], record=p) write_api.write(bucket="gas", org=config['DB_ORG'], record=p)
print ("Submitting data to DB: {0}".format(json_body)) print ("Submitting data to DB: {0}".format(json_body))
client.write_points(json_body) #client.write_points(json_body)
@ -107,4 +111,4 @@ def logout():
pass pass
if __name__ == '__main__': if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0') app.run(debug=True, host='0.0.0.0', port='9001')