sankey visualization in home assistant

per HACS installieren oder von hier, Diskussion dazu u.a. hier

Ich fand den Einstieg mit der github-Seite und dem Forum etwas steinig, deshalb hier ein Versuch, einen einfacheren Einstieg zu beschreiben.

Ich fang mal mit aktuellem Verbrauch in W an (Energie in kWh ist auch sehr spannend, benötigt aber möglicherweise eine ganze Reihe weiter Vorbereitungen, dazu später irgendwann)

Ein paar Werte vorweg:

type: custom:sankey-chart
title: Power
height: 200         # Höhe der Grafik, zum Testen wenn
                    # alles läuft mag ich 800 im Browser
round: 0            # Anzahl Dezimalstellen
min_box_height: 10  # beeinflusst Höhe und Abstand der
min_box_distance: 5 # Verbindungen zwischen den vert. Balken
show_states: true   # Werte anzeigen
show_units: true    # Einheiten
show_names: true    # Namen der Entities
min_state: 2        # Mindestwert für Anzeige, sonst weg
throttle: 500       # max alle 0,5s redraw der Grafik

Dann geht es mit den sections eigentlich richtig los. Jeder Abschnitt “- entities:” beschreibt einen vertikalen Balken der Grafik.

optional sortiert:

sections:
  - sort_by: state # nach Wert sortiert
    entities:
      - type: entity ...

oder alternativ in der Reihenfolge der Aufzählung im yaml. Gemeinsame “children:” bedeutet, daß der Balken rechts die Summe der “Eltern” enthält. Ansonsten steht rechts eine Aufteilung in die Children:

sections:
  - entities:
      - entity_id: sensor.power_meineadresse
        name: Tibber
        children:
          - sensor.gesamtverbrauch_power
      - entity_id: sensor.hm800_power
        name: HM800
        children:
          - sensor.gesamtverbrauch_power
# hier wird im linkesten Balken Strom vom Zähler und Eigenproduktion in den Summenwert "gesamtverbrauch_power" (2. Balken von links) fließen gelassen.

Die Auflistung als “children” bewirkt noch keine Darstellung in der Grafik, dazu muß die gleiche Entity später noch als solche aufgelistet werden. “children” beschreibt nur das Verhältnis der Einträge zueinander:

  - entities:
      - entity_id: sensor.gesamtverbrauch_power
        name: Total
        children:
          - sensor.verbrauch_wohnung    # wird weiter unten
                                        # weiter aufgeteilt 
          - sensor.waschmaschine_power  
          - sensor.trockner_power
        remaining:       # der Rest von gesamt abzügl. der
          name: other    # children. Name frei wählbar
  - sort_by: state
    entities:
      - entity_id: sensor.verbrauch_wohnung
        name: Wohnung
        color: '#8353d1'    # siehe link am Ende des Posts
        children:
          - sensor.office_power_consumption
          - sensor.wohnzimmer_watt
          - sensor.kueche_total_power
        remaining:
          name: other
      - entity_id: sensor.waschmaschine_power
        name: Wasch
      - entity_id: sensor.trockner_power
        name: Trockner
  - entities:
      - entity_id: sensor.office_power_consumption
        name: Office
        children:
          - sensor.tc4400_watt
          - sensor.ds1821power_power
          - sensor.fritz_leistung
        color: '#e45e65'
        remaining:
          name: other
      - entity_id: sensor.wohnzimmer_watt
        name: Wohnzimmer
        children:
          - sensor.lgc8_watt
          - sensor.couch_power_consumption
      - entity_id: sensor.kueche_total_power
        name: Kueche
        children:
          - sensor.kaffee_mw_power_consumption
          - sensor.spuelmaschine_energy_power_2
  - sort_by: state
    entities:
      - entity_id: sensor.ds1821power_power
        name: ds1821+
      - entity_id: sensor.tc4400_watt
        name: tc4400
      - entity_id: sensor.fritz_leistung
        name: Fritz
      - entity_id: sensor.lgc8_watt
        name: TV
      - entity_id: sensor.couch_power_consumption
        name: Couch
      - entity_id: sensor.spuelmaschine_energy_power_2
        name: Spuelmaschine
      - entity_id: sensor.kaffee_mw_power_consumption
        name: Mikrowelle/Kaffee

ich hab hier viele Sensoren rausgekürzt und hoffentlich die Struktur (ohne Test) wieder richtig hingekriegt. Alles was irgendwo als “children” erwähnt ist, muß auch später als “entity_id:” auftauchen. Folgerichtig kann der letzte “- entities:” Abschnitt keine children enthalten.

zu “color:” empfehle ich diesen Foren-Post


Posted

in

by