Eine Frage noch zur besseren Ordnung der Task
jetzt habe ich jeden Raum mit einer Task Run für 0:00 gespeichert ist es auch möglich die Räume in einem Task zu speichern.
Ich habe mal das Script für 2 Räume so wie es im Moment bei mir ist.
option task = {name: "arbeitszimmerwerte", cron: "0 0 * * *"}
from(bucket: "iobroker")
|> range(start: -24h)
|> filter(
fn: (r) =>
r["_measurement"] == "zigbee.0.00124b002fabe53f.humidity" or r["_measurement"]
==
"zigbee.0.00124b002fabe53f.temperature",
)
|> filter(fn: (r) => r["_field"] == "value")
|> aggregateWindow(every: 60m, fn: mean, createEmpty: false)
|> pivot(rowKey: ["_time"], columnKey: ["_measurement"], valueColumn: "_value")
|> map(
fn: (r) =>
({
_time: r._time,
_field: "value",
_measurement: "raumwerte",
temperatur: r["zigbee.0.00124b002fabe53f.temperature"],
humidity: r["zigbee.0.00124b002fabe53f.humidity"],
zimmer: "arbeitszimmer",
}),
)
|> to(
bucket: "raumwerte",
tagColumns: ["zimmer"],
fieldFn: (r) => ({temperatur: r.temperatur, humidity: r.humidity}),
)
option task = {name: "badwerte", cron: "0 0 * * *"}
from(bucket: "iobroker")
|> range(start: -24h)
|> filter(
fn: (r) =>
r["_measurement"] == "zigbee.0.00124b002fabe555.humidity" or r["_measurement"]
==
"zigbee.0.00124b002fabe555.temperature",
)
|> filter(fn: (r) => r["_field"] == "value")
|> aggregateWindow(every: 60m, fn: mean, createEmpty: false)
|> pivot(rowKey: ["_time"], columnKey: ["_measurement"], valueColumn: "_value")
|> map(
fn: (r) =>
({
_time: r._time,
_field: "value",
_measurement: "raumwerte",
temperatur: r["zigbee.0.00124b002fabe555.temperature"],
humidity: r["zigbee.0.00124b002fabe555.humidity"],
zimmer: "badwerte",
}),
)
|> to(
bucket: "raumwerte",
tagColumns: ["zimmer"],
fieldFn: (r) => ({temperatur: r.temperatur, humidity: r.humidity}),
)
Gruß
Mico