feat(gateway): added get request to receive list of measurements
Signed-off-by: Klagarge <remi@heredero.ch>
This commit is contained in:
@@ -68,18 +68,28 @@ func (gh *Gateway) requestInflux(c *gin.Context) error {
|
|||||||
|> filter(fn: (r) => r["user"] == %q)
|
|> filter(fn: (r) => r["user"] == %q)
|
||||||
|> filter(fn: (r) => r["room"] == %q)
|
|> filter(fn: (r) => r["room"] == %q)
|
||||||
|> filter(fn: (r) => r["device"] == %q)
|
|> filter(fn: (r) => r["device"] == %q)
|
||||||
//|> aggregateWindow(every: 1000d, fn: mean, createEmpty: false)
|
|
||||||
`, INFLUXDB_BUCKET, MEASUREMENT_NAME, user, room, device)
|
`, INFLUXDB_BUCKET, MEASUREMENT_NAME, user, room, device)
|
||||||
results, err := queryAPI.Query(context.Background(), query)
|
results, err := queryAPI.Query(context.Background(), query)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
values := make(map[string]interface{})
|
|
||||||
|
type measurement = map[string]interface{}
|
||||||
|
var values []measurement
|
||||||
|
|
||||||
for results.Next() {
|
for results.Next() {
|
||||||
|
m := measurement{}
|
||||||
record := results.Record()
|
record := results.Record()
|
||||||
field := record.Field()
|
field := record.Field()
|
||||||
value := record.Value()
|
value := record.Value()
|
||||||
values[field] = value
|
m["time"] = record.Time()
|
||||||
|
if field == "temperature" {
|
||||||
|
m["temperature"] = value.(float64)
|
||||||
|
}
|
||||||
|
if field == "humidity" {
|
||||||
|
m["humidity"] = value.(float64)
|
||||||
|
}
|
||||||
|
values = append(values, m)
|
||||||
fmt.Println(results.Record())
|
fmt.Println(results.Record())
|
||||||
}
|
}
|
||||||
if err := results.Err(); err != nil {
|
if err := results.Err(); err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user