ApexChart cards - Konfiguration als Balkengrafik nicht möglich

calima

Member
Hallo zusammen,

ich nutze ApexChart cards v2.1.2, um die historischen Werte einiger Sensoren auf meinen Dashboards anzuzeigen. Da mein Börsenstrompreis-Anbieter u.a. einen Sensor für den Verbrauch und die Kosten der aktuellen Stunde zur Verfügung stellt, wollte ich den Verlauf dieser Werte über die vergangenen Stunden als Balkengrafik darstellen. Allerdings kann ich den chart_type nicht auf column (Balken) umstellen, sondern nur als line (Graphen) oder als area (Graphen mit ausgefüllten Flächen) definieren. Wenn ich versuche, ihn als column zu konfigurieren, friert das Popup für die Einstellungen ein.

YAML:
type: custom:apexcharts-card
header:
  show: true
  title: tibber-Bruttokosten
  show_states: true
  colorize_states: true
now:
  show: false
  label: Now
series:
  - entity: sensor.current_consumption_cost_adjusted
    type: line
    stroke_width: 2
    extend_to: end
    unit: €/kWh

So sieht der Chart als Linie aus:
1736758284897.png

Wer kann helfen?
Vielen Dank!
 
Hier mal mein Code, der mir den Börsenstrompreis mittels Balken Graph anzeigt. Vergleich das mal mit deinem Code.
Code:
type: custom:apexcharts-card
header:
  show: false
graph_span: 48h
span:
  start: day
now:
  show: true
  label: Now
color_list:
  - var(--primary-color)
series:
  - entity: sensor.epex_spot_data_net_price
    yaxis_id: uurprijs
    float_precision: 2
    type: column
    curve: smooth
    extend_to: false
    show:
      extremas: time
    data_generator: >
      return entity.attributes.data.map((entry, index) => { return [new
      Date(entry.start_time).getTime(), entry.price_ct_per_kwh];
      }).slice(23,48);
    color_threshold:
      - value: 0
        color: "#186ddc"
      - value: 0.155
        color: "#04822e"
      - value: 0.2
        color: "#12A141"
      - value: 0.25
        color: "#79B92C"
      - value: 0.3
        color: "#C4D81D"
      - value: 0.35
        color: "#F3DC0C"
      - value: 0.4
        color: red
      - value: 0.5
        color: green
  - entity: sensor.epex_spot_data_net_price
    yaxis_id: uurprijs
    float_precision: 2
    type: column
    curve: straight
    extend_to: end
    show:
      extremas: time
    data_generator: >
      return entity.attributes.data.map((entry, index) => { return [new
      Date(entry.start_time).getTime(), entry.price_ct_per_kwh];
      }).slice(47,70);
    color_threshold:
      - value: 0
        color: "#186ddc"
      - value: 0.155
        color: "#04822e"
      - value: 0.2
        color: "#12A141"
      - value: 0.25
        color: "#79B92C"
      - value: 0.3
        color: "#C4D81D"
      - value: 0.35
        color: "#F3DC0C"
      - value: 0.4
        color: red
      - value: 0.5
        color: magenta
experimental:
  color_threshold: true
yaxis:
  - id: uurprijs
    decimals: 2
    apex_config:
      title:
        text: cent/kWh
      tickAmount: 4
apex_config:
  legend:
    show: false
  tooltip:
    x:
      show: true
      format: HH:00 - HH:59
 
Vielen Dank! Ich hatte schon versucht, in anderen Beispielkonfigurationen von ApexChart cards als entity einfach die Bezeichnung meines Sensors einzusetzen. Dann erscheinen zwar Balken anstatt einer Linie, aber mit falschen Werten. Ich denke, dass ich zusätzlich ein Script-Snippet für data_generator: > einsetzen muss, habe aber keine Ahnung, wie es aussehen muss.
 
Nach einiger Recherche ist es mir gelungen, ein Kombi-Diagramm mit Linie und Balken aus zwei Sensoren zu erstellen. Für den Bug beim Balkendiagramm in ApexChart cards wurde im September auf github ein bug issue aufgemacht. Der Fehler ist aber wohl noch nicht beseitigt.
 
Komisch. Wieso bekomme ich dann Balken angezeigt ?
1736885956740.png
Wird mit dem Code oben so dargestellt.
 
Wenn ich deinen Code nehme und durch meinen Sensor ersetze und type: auf column setze, erhalte ich das.
1736886135680.png
Ein klares Balkendiagram, da friert nix ein.
 
Erst mal schönen Dank an RudiP für die Anleitung.
Ich habe den code aus der Anleitung verwendet und habe sofort dieses Bild erhalten:
Das fand ich schon einmal recht gut!

IMG_9183.PNG
Heute Morgen sah das leider nicht mehr so überzeugend aus:
IMG_9184.PNG
Die EPEX Spot Data kommen alle Stunde...
Eine Idee?
Dank und Gruß
 
Hmmm, Daten kommen ja, so wie ich das sehe. Er zeigt ja einen Preis an. Aber wieso 14.03 ????
Für Übermorgen kann er gar keine Daten haben, die werden erst morgen Nachmittag ermittelt.
 
Hallo zusammen,

bei mir scheint aber alles zu stimmen.
1741773443682.png


Da wir aber schon bei dem Thema sind.
Wie bekomme ich die Legende vom Datum weiter nach unten gesetzt?
Irgendwie sieht das obere Datum abgeschnitten aus.
Hat da jemand eine Idee?
1741773637386.png


Ich habe das mal so geregelt.
1741774363419.png

YAML:
type: custom:apexcharts-card
header:
  show: true
  title: Test Strompreis heute und morgen
  show_states: true
  colorize_states: true
graph_span: 48h
span:
  start: day
now:
  show: true
  label: Jetzt
color_list:
  - var(--primary-color)
series:
  - entity: sensor.epex_spot_data_net_price
    yaxis_id: uurprijs
    float_precision: 2
    type: column
    curve: smooth
    extend_to: false
    show:
      extremas: time
    data_generator: >
      return entity.attributes.data.map((entry, index) => { return [new
      Date(entry.start_time).getTime(), entry.price_per_kwh]; }).slice(23,48);
    color_threshold:
      - value: 0
        color: "#186ddc"
      - value: 0.155
        color: "#04822e"
      - value: 0.2
        color: "#12A141"
      - value: 0.25
        color: "#79B92C"
      - value: 0.3
        color: "#C4D81D"
      - value: 0.35
        color: "#F3DC0C"
      - value: 0.4
        color: red
      - value: 0.5
        color: green
  - entity: sensor.epex_spot_data_net_price
    yaxis_id: uurprijs
    float_precision: 2
    type: column
    curve: straight
    extend_to: end
    show:
      extremas: time
    data_generator: >
      return entity.attributes.data.map((entry, index) => { return [new
      Date(entry.start_time).getTime(), entry.price_per_kwh]; }).slice(47,70);
    color_threshold:
      - value: 0
        color: "#186ddc"
      - value: 0.155
        color: "#04822e"
      - value: 0.2
        color: "#12A141"
      - value: 0.25
        color: "#79B92C"
      - value: 0.3
        color: "#C4D81D"
      - value: 0.35
        color: "#F3DC0C"
      - value: 0.4
        color: red
      - value: 0.5
        color: magenta
experimental:
  color_threshold: true
yaxis:
  - id: uurprijs
    decimals: 2
    apex_config:
      title:
        text: €/kWh
      tickAmount: 4
apex_config:
  legend:
    show: false
  tooltip:
    x:
      show: true
      format: HH:00 - HH:59
 
Zuletzt bearbeitet:
Ob mit deinem Code oder dem von HA-DAU - seit heute _Mittag_ sahen die Daten so aus.
Warum und woher die Daten am Morgen gekommen sind, kann ich dir nicht sagen.

Obwohl ich nun den Code von HA-DAU einsetze, sind Hintergrund und Farben doch noch immer 'etwas' anders.
Gibt es dafür eine Erklärung?
 
Hallo @Claudius,
das mit den Farben hängt vermutlich am Darkmode, welchen ich benutze.
Den kannst Du selber umstellen.
Ganz links unten auf das Icon von Deinem Namen klicken.
Runter scrollen, bis ca. Mitte.
Dort dunkel auswählen.
 
Die Lösung ist klar. Irgendwoher bekommt deine Integration ein falsches Datum.
Die Anzeige auf der X-Achse ist korrekt. Vorne ist der 13.03, mittig beginnt der 14.03.
Aber dieser eine Punkt schreibt ^15.03, was nicht sein kann.
Deswegen denke ich, das bei Dir die SLICE Werte falsch sind
Das Slice bestimmt den Zeitraum, für den die Grafik angezeigt werden soll.
Einmal 23 - 48 und einmal 47 - 92
Warum so komische Werte ? Nun, die hatte ich mal Empirisch ermittelt.
Irgendwann mal funktionierte der alte Code nicht mehr, es wurden mir immer die Werte von gestern angezeigt.
Fragt mich nicht warum, war halt so.
Eventuell mußt Du deine anpassen. Versuch mal
(0,24) und (24,48)
 
Da scheint viel 'Magie' im Spiel zu sein ;-)
Im Code von HA-DAU werden folgende Slice Parameter genutzt: 23,48 und 47,70
Setze ich deine Parameter in den Code von HA-DAU ergibt sich:
1741857420809.png
Dann stimmt zumindest der aktuelle Tag. Beim 2. Teil des Graphen kann ich bei den Slice Parametern eingeben was ich will, es ergibt keine Änderung. Auffallend ist auch, dass der Wert oben rechts für "sensor.epex_spot_data_net_price" N/A ist obwohl gestern dort noch der selbe Wert wie auf der linken Seite stand.
Eben - Magie.
Ich will eure Zeit nicht noch mehr in Anspruch nehmen - ich werde das im Laufe der Zeit sicherlich noch herausfinden ...
Mir geht es aktuell tatsächlich darum herauszufinden, ob sich eine Umstellung auf dynamische Tarife lohnen würde. Dafür sind die aktuellen EPEX Werte schon mal sehr nützlich.
Ich versuche jetzt herauszufinden, ob es Zeitfenster gibt, die nahezu 'statisch' teure Tarife bedeuten und ggf. andere Zeitfenster, die man dynamisch per Automation anpassen müsste.
Aktueller Stand: Ab 6:00 wird es teurer. Ebenso sollte die Wärmepumpe zwischen 18:00 und 20:00 nur im Teillast Betrieb laufen.
Ich werde die Erfahrungen ggf. an anderer Stelle hier im Forum posten.
Habt ihr einen Vorschlag, wo es sinnvoll wäre?
 
Dann stimmt zumindest der aktuelle Tag. Beim 2. Teil des Graphen kann ich bei den Slice Parametern eingeben was ich will, es ergibt keine Änderung.
Kann ja auch nicht. Die Daten sind ja noch nicht verfügbar.
In der Tabelle sind die Daten von
12.03 00:00 bis 13.03 00:00
enthalten. Also von GESTERN und Heute.
Deswegen der Slice erst ab 23, was dem 12.03 23:00 Uhr entspricht und dann bis 48, also 24 Stunden.
Der zweite Slice ist von 47 bis 92. Oder eben 13.03 23:00 Uhr + 45 Stunden. Ähm, upps, da hatte ich mich wohl damals verrechnet. 24h reichen da ja. Also (47,71)

Auffallend ist auch, dass der Wert oben rechts für "sensor.epex_spot_data_net_price" N/A ist obwohl gestern dort noch der selbe Wert wie auf der linken Seite stand.
Da beide Werte den selben Sensor zeigen, muss da auch der selbe Wert stehen, außer Du hast in irgendeiner Einstellung irgendetwas anders. Ich habe den Code von Hau-Dau gerade mal bei mir getestet, der zeigt beide Werte an.
Ich will eure Zeit nicht noch mehr in Anspruch nehmen - ich werde das im Laufe der Zeit sicherlich noch herausfinden ...
Warum nicht ? Hey, uns macht das Spaß. anderen zu helfen. Du kannst jetzt nicht einfach aufhören.
Mir geht es aktuell tatsächlich darum herauszufinden, ob sich eine Umstellung auf dynamische Tarife lohnen würde. Dafür sind die aktuellen EPEX Werte schon mal sehr nützlich.
Ich versuche jetzt herauszufinden, ob es Zeitfenster gibt, die nahezu 'statisch' teure Tarife bedeuten und ggf. andere Zeitfenster, die man dynamisch per Automation anpassen müsste.
Aktueller Stand: Ab 6:00 wird es teurer. Ebenso sollte die Wärmepumpe zwischen 18:00 und 20:00 nur im Teillast Betrieb laufen.
Ich werde die Erfahrungen ggf. an anderer Stelle hier im Forum posten.
Habt ihr einen Vorschlag, wo es sinnvoll wäre?
Den Gedanken hatte ich auch, aber auch schnell wieder verworfen.
Ich habe vor 2 Jahren meine Gasheizung so eingestellt, das die nur noch warm Wasser macht. Geheizt wird, wann immer nötig, mit der Klimaanlage, was ja ähnlich deiner Wärmepumpe ist.
Meine Klimaanlage bekommt aber so ab 0 Grad Außentemperatur dicke Backen. Ja, sie heizt noch, schluckt dann aber auch das maximum von 1,5 kWh. Da komme ich dann in den Bereich, wo es wieder billiger ist, mit Gas zu heizen. Kein Problem, kann ich von HA aus die Gasheizung wieder einschalten. :D
Nun war ich auch am überlegen, dynamischer Stromtarif, cool. Wenn EpexSpot sagt, Strom ist billig, Waschmaschine einschalten, Spülmaschine und was man sonst noch so hat.
Aber zum einen habe ich schon sparsame Geräte. Die Waschmaschine braucht alle paar Tage mal ne kWh auf 2. Der Trockner gibt sich mit 600 Watt zufrieden, also wenns hoch kommt braucht dem mal ne kWh.
Spülmaschine das selbe. Ob der Strom nun also 20 Cent je kWh kostet, oder 30 Cent je kWh, das macht mich nicht arm, erspart aber den Streß, alle Geräte auf den großen Augenblick des billigen Strompreises vorzubereiten.
Die Klimaanlage war dann aber auch der Ausschlaggebende Punkt. Im Winter muß die nun mal laufen, egal, was der Strom kostet.
Sicher könnte ich mir ne fette Analyse erstellen, ab welchem Preis es Sinnvoll wäre, von Klimaanlage auf Gas umzustellen und wenn Strom billig wird, wieder die Klima. Aber ich fürchte, der Aufwand wäre zu hoch.
Bei deiner Wärmepumpe wird es ähnlich sein. Du kannst die nicht Abschalten, nur weil der Strom gerade 35 Cent kostet. Und wenn der Strom billig ist, stellst Du die auch nicht extra hoch.
Wenn ich ein Elektro Auto hätte, was ich dann genau in der billigen Zeit laden könnte, da kann man sicher sparen.
Ansonsten halte ich diese dynamischen Stromtarife für Augenwischerei und wie so vieles von unserer noch aktuellen Regierung für eine "Beruhigung der breiten Masse durch unsinnige Maßnahmen"
 
Off-topic, aber wenn danach gefragt wird:
Ich werte seit zwei Jahren dynamische Tarife aus. Sie lohnen sich, wenn Du

- einen überdurchschnittlichen Strombezug aus dem Netz hast (>3.500 kWh/a),
- diesen per Automation so steuern kannst, dass die hohen Verbräuche in die günstigen Mittags- und Nachstunden gelegt werden. Und auch nur in diese Stunden.

Am besten geeignet ist dafür die Ladung eines E-Fahrzeugs. Und eine Solaranlage mit Batteriespeicher hilft, um die teuren Stunden zu überbrücken. Allein mit Wärmepumpe/Splitklima oder sogar nur mit Haushaltsgeräten wird ein dynamischer Tarif teurer. Das liegt daran, dass
a) die Niedrigpreis-Zeitfenster der dynamischen Tarife in den letzten Monaten immer enger geworden sind (1-2 günstige Stunden, davor und danach Preissprünge um mehrere Cent),
b) die Anbieter mit festem Arbeitspreis in einem harten Wettbewerb stehen und deshalb die Preissteigerungen, die zu erwarten waren, aufgeschoben haben und Niedrigpreise mit 1 Jahr Preisgarantie anbieten.

Ob es sich lohnt, ist hauptsächlich vom eigenen Verhalten abhängig. Wenn Du die teuren Stunden nicht vermeiden kannst, z.B, weil das Haus auskühlt, wenn die WP nicht durchläuft oder das E-Auto an die Wallbox muss, wenn Du nach der Arbeit nach Hause kommst, weil Du am nächsten Morgen 240 km fahren musst, dann machen die hohen Preise der teuren Stunden alles Sparen zunichte.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.388
Beiträge
61.575
Mitglieder
6.562
Neuestes Mitglied
KogerLi
Zurück
Oben