Flux fuggvenyek

Szeretnek COP-t szamolni InfluxDB-ben. Az adatok bent vannak MQTT-bol, viszont nem tudom az alabbi muveletet lekepezni veluk mert allandoan valami hiba van benne:

4.18 * Ch1/65.0/60.0 * (T1-T2) / (W1 + W2 + W3)

Ez alapjan probaltam: https://www.influxdata.com/blog/influxdb-how-to-do-joins-math-across-me…

De nem megy :/ Google nem nagyon segitett. Lehet a W1+W2+W3-at is rosszul csinalom, de a legalso join-ra kiirja hogy float is not Record (argument tables) es beledoglik

flow = from(bucket: "sensors")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["topic"] == "egyikeszkoz/Ch1")
  |> drop(columns:["_start", "_stop", "_measurement", "position", "_field"])

T1 = from(bucket: "sensors")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["topic"] == "egyikeszkoz/T1" )
  |> drop(columns:["_start", "_stop", "_measurement", "position", "_field"])

T2 = from(bucket: "sensors")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["topic"] == "egyikeszkoz/T2" )
  |> drop(columns:["_start", "_stop", "_measurement", "position", "_field"])

T3 = from(bucket: "sensors")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["topic"] == "egyikeszkoz/T3" )
  |> drop(columns:["_start", "_stop", "_measurement", "position", "_field"])

Wall = from(bucket: "sensors")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["topic"] == "masikeszkoz/W1" or r["topic"] == "masikeszkoz/W2" or r["topic"] == "masikeszkoz/W3")
  |> drop(columns:["_start", "_stop", "_measurement", "position", "_field"])

QH = join(tables: {flow, T1, T2, T3, Wall}, on: ["_time"])
  |> map(fn: (r) => (r._value_flow / 65.0 / 60.0 * 4.18 * (r._value_T1 - r._value_T3))/(r._value_Wall))
  |> yield(name: "COP")

Hozzászólások

mindegyik lekerdezes mukodik kulon-kulon es a _time mindegyikben benne van ugyanazokkal a timestampekkel?

Csinaltunk parszor ilyet, de minden nelkul mukodott (igaz csak ket tablaval csinaltuk) ha mindegyik tablaban szepen benne volt a kozos mezo kozos adatokkal. Kulonben nincs min jinolja es dobja az adatokat.

Mi tortenik ha parosaval megprobalod joinolni es megnezed a tablakat hogy neznek ki?

Koszi szepen, kulon-kulon mukodnek (kell yield az aljara de megy), de ugy nez ki hogy a _time hianyzik, ami kicsit fura mert en ugy tudtam hogy a _-sal kezdodoek system ertekek es mindig vannak.