Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Grafana
  5. Grafana BarChart

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.8k

Grafana BarChart

Geplant Angeheftet Gesperrt Verschoben Grafana
3 Beiträge 2 Kommentatoren 222 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • E Offline
    E Offline
    emely2312
    schrieb am zuletzt editiert von emely2312
    #1

    Hallo. Baue mir gerade einige Dasboards. Nun möchte ich in folgendem Beispiel meinen Stromverbrauch in € inkl Grundgebühr anzeigen. Den Verbrauch errechne ich mir wie folgt:
    import "timezone"
    option location = timezone.location(name: "Europe/Berlin")
    from(bucket: "smarthome")
    |> range(start: -1mo)
    |> filter(fn: (r) => r._measurement == "strom")
    |> filter(fn: (r) => r["_field"] == "priceIn" or r["_field"] == "Zaehler28Gesamt")
    |> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value")
    |> difference(columns: ["Zaehler18Gesamt"])
    |> map(fn: (r) => ({r with _value: r.Zaehler18Gesamt}))
    |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")

    Nun möchte ich den Strompreis errechnen. Ich möchte dies aber nicht über einen festen Wert oder in Transformation erstellen sondern den wert nehmen der immer mit dem ändern des Zählerstands mitkommt. ( PriceTag) Wie mache ich das ? Die Grundgebühr pro Tag hab ich als Datenpunkt bzw in Influx DB. Ich weiß nur nicht wie ich es anzeigen , berechnen soll. Wie muss das Query aussehen?

    import "timezone"
    option location = timezone.location(name: "Europe/Berlin")
    from(bucket: "smarthome")
    |> range(start: -1mo)
    |> filter(fn: (r) => r._measurement == "strom")
    |> filter(fn: (r) => r["_field"] == "priceIn" or r["_field"] == "Zaehler18Gesamt")
    |> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value")
    |> difference(columns: ["Zaehler18Gesamt"])
    |> map(fn: (r) => ({r with _value: r.Zaehler18Gesamt * r.priceIn}))
    |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")

    priceTag wäre der Datenpunkt.

    GrüßeGrafana.png

    Habs mal so gemacht.
    Grafana2.png

    aber warum steht der 03.06 jetzt 2 mal drin ?

    habs jetzt so geändert.
    import "timezone"
    option location = timezone.location(name: "Europe/Berlin")
    from(bucket: "smarthome")
    |> range(start: -1mo)
    |> filter(fn: (r) => r["_measurement"] == "strom")
    |> filter(fn: (r) => r["_field"] == "priceTag")
    |> aggregateWindow(every: 24h, fn: mean, timeSrc: "_start")
    |> yield(name: "mean")Grafana3.png

    mickemupM 1 Antwort Letzte Antwort
    0
    • E emely2312

      Hallo. Baue mir gerade einige Dasboards. Nun möchte ich in folgendem Beispiel meinen Stromverbrauch in € inkl Grundgebühr anzeigen. Den Verbrauch errechne ich mir wie folgt:
      import "timezone"
      option location = timezone.location(name: "Europe/Berlin")
      from(bucket: "smarthome")
      |> range(start: -1mo)
      |> filter(fn: (r) => r._measurement == "strom")
      |> filter(fn: (r) => r["_field"] == "priceIn" or r["_field"] == "Zaehler28Gesamt")
      |> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value")
      |> difference(columns: ["Zaehler18Gesamt"])
      |> map(fn: (r) => ({r with _value: r.Zaehler18Gesamt}))
      |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")

      Nun möchte ich den Strompreis errechnen. Ich möchte dies aber nicht über einen festen Wert oder in Transformation erstellen sondern den wert nehmen der immer mit dem ändern des Zählerstands mitkommt. ( PriceTag) Wie mache ich das ? Die Grundgebühr pro Tag hab ich als Datenpunkt bzw in Influx DB. Ich weiß nur nicht wie ich es anzeigen , berechnen soll. Wie muss das Query aussehen?

      import "timezone"
      option location = timezone.location(name: "Europe/Berlin")
      from(bucket: "smarthome")
      |> range(start: -1mo)
      |> filter(fn: (r) => r._measurement == "strom")
      |> filter(fn: (r) => r["_field"] == "priceIn" or r["_field"] == "Zaehler18Gesamt")
      |> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value")
      |> difference(columns: ["Zaehler18Gesamt"])
      |> map(fn: (r) => ({r with _value: r.Zaehler18Gesamt * r.priceIn}))
      |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")

      priceTag wäre der Datenpunkt.

      GrüßeGrafana.png

      Habs mal so gemacht.
      Grafana2.png

      aber warum steht der 03.06 jetzt 2 mal drin ?

      habs jetzt so geändert.
      import "timezone"
      option location = timezone.location(name: "Europe/Berlin")
      from(bucket: "smarthome")
      |> range(start: -1mo)
      |> filter(fn: (r) => r["_measurement"] == "strom")
      |> filter(fn: (r) => r["_field"] == "priceTag")
      |> aggregateWindow(every: 24h, fn: mean, timeSrc: "_start")
      |> yield(name: "mean")Grafana3.png

      mickemupM Online
      mickemupM Online
      mickemup
      schrieb am zuletzt editiert von
      #2

      @emely2312
      Was ist jetzt am Schluss genau deine Frage?

      Im letzten Plot hast du den 3.5 doppelt.
      Um dies zu verhindern müsste man noch etwas am Timerange schreiben. ich nehme an der erste DP ist nicht genau gleichzeitig.
      Das kannst du checken wenn du in die "Table" view gehst...

      E 1 Antwort Letzte Antwort
      0
      • mickemupM mickemup

        @emely2312
        Was ist jetzt am Schluss genau deine Frage?

        Im letzten Plot hast du den 3.5 doppelt.
        Um dies zu verhindern müsste man noch etwas am Timerange schreiben. ich nehme an der erste DP ist nicht genau gleichzeitig.
        Das kannst du checken wenn du in die "Table" view gehst...

        E Offline
        E Offline
        emely2312
        schrieb am zuletzt editiert von
        #3

        @mickemup ok. Danke. Muss mir die Werte mal anschauen. Passt momentan noch nicht ganz.

        1 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        846

        Online

        32.4k

        Benutzer

        81.5k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe