123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- library(influxdbclient)
- token <- "XPBViJ3s4JL9_wPffwd5M2EgXj5hcUgT0n4jNhv7m6-NC-6SSxQ3run4kXtWBvOk-FYr1VG5Tj5WcoHgjge9jw=="
- org <- "laempe"
- bucket <- "energy-monitor"
- client <- InfluxDBClient$new(url = "http://influxdb:8086",
- token = token,
- org = org)
- get_df <- function(client, query) {
- result <- client$query(gsub("[\r\n]", "", query))
-
- time <- result[["_result"]][[1]][["time"]]
-
- df <- data.frame(time)
-
- for (i in 1:length(result[["_result"]])){
- r <- result[["_result"]][[i]]
- if(exists("channel", r))
- field <- sprintf('%s_%s', r[["_field"]][1], r[["channel"]][1])
- else
- field <- r[["_field"]][1]
- df[field] <- r[["_value"]]
- }
- rm(result)
- return(df)
- }
- start = "2022-05-04T06:00:00+02:00"
- stop = "2022-05-04T11:25:00+02:00"
- query = sprintf('
- from(bucket: "energy-monitor")
- |> range(start: %s, stop: %s)
- |> filter(fn: (r) => r["_measurement"] == "plant")
- |> filter(fn: (r) => r["_field"] == "auswerfer_1_heben" or r["_field"] == "auswerfer_1_senken" or r["_field"] == "gaswagen_ausfahren" or r["_field"] == "gaswagen_einfahren" or r["_field"] == "hubtisch_heben" or r["_field"] == "hubtisch_senken" or r["_field"] == "rolltor_oeffnen" or r["_field"] == "rolltor_schliessen" or r["_field"] == "schuss" or r["_field"] == "seitenteil_links_schliessen" or r["_field"] == "seitenteil_links_und_rechts_oeffnen" or r["_field"] == "seitenteil_rechts_schliessen" or r["_field"] == "unterteil_faehrt_aus" or r["_field"] == "unterteil_faehrt_ein")
- |> aggregateWindow(every: 50ms, fn: last, createEmpty: false)
- |> toBool()
- |> yield(name: "last")
- |> drop(columns: ["_start", "_stop"])
- ', start, stop)
- hengli_plant = get_df(client, query)
- query = sprintf('
- from(bucket: "energy-monitor")
- |> range(start: %s, stop: %s)
- |> filter(fn: (r) => r["_measurement"] == "24v")
- |> filter(fn: (r) => r["_field"] == "current" or r["_field"] == "voltage")
- |> aggregateWindow(every: 20ms, fn: mean, createEmpty: false)
- |> yield(name: "mean")
- |> drop(columns: ["_start", "_stop"])
- ', start, stop)
- hengli_24v = get_df(client, query)
- query = sprintf('
- from(bucket: "energy-monitor")
- |> range(start: %s, stop: %s)
- |> filter(fn: (r) => r["_measurement"] == "480v")
- |> aggregateWindow(every: 60ms, fn: mean, createEmpty: false)
- |> yield(name: "mean")
- |> drop(columns: ["_start", "_stop"])
- ', start, stop)
- hengli_480v = get_df(client, query)
- plot(hengli_24v$current_10, type = "l")
- library(ggplot2)
- ggplot(hengli_24v, aes(x=time)) +
- geom_line(aes(y=current_10), color = "#ff0000")
|