# \[Modul\] Sankey

**URL:** <https://community.symcon.de/t/modul-sankey/143799>\
**Category:** PHP-Module (Diskussion)\
**Created:** [15. Mai 2026 um 19:09 UTC](https://community.symcon.de/t/modul-sankey/143799 "2026-05-15T19:09:38Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![KaiS](https://community.symcon.de/user_avatar/community.symcon.de/kais/32/29625_2.png) [@KaiS](https://community.symcon.de/u/KaiS)\
**Post date:** [15. Mai 2026 um 19:09 UTC](https://community.symcon.de/t/modul-sankey/143799/1 "2026-05-15T19:09:38Z")

</div>

[![Version](https://img.shields.io/badge/Symcon-PHPModul-red.svg)](https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/) ![Version](https://img.shields.io/badge/Symcon%20Version-8.1%20%3E-blue.svg) [![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-green.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/) [![Check Style](https://github.com/Schnittcher/Sankey/actions/workflows/style.yml/badge.svg)](https://github.com/Schnittcher/Sankey/actions/workflows/style.yml) [![Tests](https://github.com/Schnittcher/Sankey/actions/workflows/tests.yml/badge.svg)](https://github.com/Schnittcher/Sankey/actions/workflows/tests.yml)

# Sankey

Das Modul stellt Energie- oder andere Flüsse als Sankey-Diagramm in der Kachel-Visualisierung von IP-Symcon dar.

## Funktionen

- Darstellung beliebiger Flüsse zwischen Quellen und Zielen als Sankey-Diagramm
- Live-Ansicht: Das Diagramm aktualisiert sich, sobald sich eine verwendete Variable ändert
- Archiv-Ansicht: Werte eines frei wählbaren Zeitraums aus dem Archiv, umschaltbar in der Kachel
- Anpassbare Farben und optionale Zusatzinfo je Fluss
- Die Kachel passt sich dem hellen und dunklen Design der Visualisierung an

## Screenshots

 ![sankey](https://community.symcon.de/uploads/default/original/3X/1/5/1545b408f9cfa97d935c0b2b6ff204eb802f2347.png)

## Voraussetzungen

- IP-Symcon 8.1 oder neuer
- Für die Archiv-Ansicht: Archiv mit protokollierten Variablen
- Die maximierte Ansicht der Kachel gibt es ab IP-Symcon 9.1

## Installation

Die Installation erfolgt über den Module Store.

## Dokumentation und Changelog

Die Konfiguration, die Variablen und die Funktionen stehen in der README auf [GitHub](https://github.com/Schnittcher/Sankey).

Das Changelog steht im zweiten Beitrag dieses Threads.

## Spenden

Dieses Modul ist für die nicht kommerzielle Nutzung kostenlos. Schenkungen als Unterstützung für den Autor werden gerne angenommen:

[![PayPal](https://img.shields.io/badge/PayPal-Spenden-00457C?logo=paypal&logoColor=white&style=for-the-badge)](https://www.paypal.com/donate?hosted_button_id=EK4JRP87XLSHW) [![Amazon Wunschzettel](https://img.shields.io/badge/Amazon-Wunschzettel-FF9900?logo=amazon&logoColor=white&style=for-the-badge)](https://www.amazon.de/hz/wishlist/ls/3JVWED9SZMDPK?ref_=wl_share)

Wünsche und Rückmeldungen gerne hier im Thread. 🙂

Grüße,  
Kai

---

<div class="post-metadata">

**Author:** ![KaiS](https://community.symcon.de/user_avatar/community.symcon.de/kais/32/29625_2.png) [@KaiS](https://community.symcon.de/u/KaiS)\
**Post date:** [15. Mai 2026 um 19:10 UTC](https://community.symcon.de/t/modul-sankey/143799/2 "2026-05-15T19:10:32Z")

</div>

# Changelog

## 19.10.2026 - Version 2.0

### Neu

- Start- und Enddatum nutzen die neue Darstellung Datum/Uhrzeit statt des alten Profils.
- Die Kachel übernimmt Schrift, Farben und Ränder der Visualisierung und passt sich dem hellen und dunklen Design an.
- Beschriftungen und Texte sind jetzt übersetzbar (Englisch mit deutscher Übersetzung).
- Voraussetzung ist jetzt IP-Symcon 8.1.

### Fixes

- Namen mit Sonderzeichen wie „&“ werden korrekt angezeigt und behalten ihre Farbe.
- Namen mit Sonderzeichen können die Kachel nicht mehr zerstören.
- Das Startdatum kann nicht mehr nach dem Enddatum liegen.
- Fehlende Archivdaten füllen das Log nicht mehr mit Warnungen.
- Der Hinweistext zur Aggregation im Konfigurationsformular stimmt wieder mit dem Verhalten überein.

**11.06.2026 - Version 1.2.1 (Beta Version)**  
Neu: Archivansicht aktualisiert sich wenn Daten im aktuellen Zeitraum eintreffen  
Neu: Profil Assoziationen werden berücksichtigt  
Fix: kein Minuszeichen mehr im Archivmodus  
**17.05.2026 - Version 1.2 (Beta Version)**  
Fix: Farbanpassungen  
Neu: Invertieren von Werten  
Neu: \< 0 ignorieren  
Neu: Statisches Diagramm (Werte aus dem Archiv)  
Neu: Werte an den Nodes sind möglich

**16.05.2026 - Version 1.1 (Beta Version)**  
Neu: Google Charts entfernt, auf HTML SDK umgestellt

**15.05.2026 - Version 1.0 (Beta Version)**

---

<div class="post-metadata">

**Author:** ![hfichtinger](https://community.symcon.de/user_avatar/community.symcon.de/hfichtinger/32/79362_2.png) [@hfichtinger](https://community.symcon.de/u/hfichtinger)\
**Post date:** [16. Mai 2026 um 08:00 UTC](https://community.symcon.de/t/modul-sankey/143799/3 "2026-05-16T08:00:39Z")

</div>

Kannst du mir erklären, wie ich das verwende?

---

<div class="post-metadata">

**Author:** ![KaiS](https://community.symcon.de/user_avatar/community.symcon.de/kais/32/29625_2.png) [@KaiS](https://community.symcon.de/u/KaiS)\
**Post date:** [16. Mai 2026 um 08:46 UTC](https://community.symcon.de/t/modul-sankey/143799/4 "2026-05-16T08:46:51Z")

</div>

Klar, du gibst immer Quelle und Ziel. In der Konfiguration an.

In dem Fall vom Screenshot wäre das so:

EVU → Strom gesamt | hier die Variable vom EVU Zähler  
PV → Strom gesamt | hier die Variable vom PV Zähler

Strom gesamt → Zähler Küche | hier die Variable von Zähler Küche  
Strom gesamt → Pool | hier die Variable vom Pool

Und dann immer so weiter.

Grüße,  
Kai

---

<div class="post-metadata">

**Author:** ![hfichtinger](https://community.symcon.de/user_avatar/community.symcon.de/hfichtinger/32/79362_2.png) [@hfichtinger](https://community.symcon.de/u/hfichtinger)\
**Post date:** [16. Mai 2026 um 08:53 UTC](https://community.symcon.de/t/modul-sankey/143799/5 "2026-05-16T08:53:33Z")

</div>

Ah, jetzt ist es mir klar. EVU und PV münden bei dir in einer Variable “Strom Gesamt”.

---

<div class="post-metadata">

**Author:** ![KaiS](https://community.symcon.de/user_avatar/community.symcon.de/kais/32/29625_2.png) [@KaiS](https://community.symcon.de/u/KaiS)\
**Post date:** [16. Mai 2026 um 08:54 UTC](https://community.symcon.de/t/modul-sankey/143799/6 "2026-05-16T08:54:03Z")

</div>

Nein es ist keine Variable, das ist nur das Ziel.

Grüße,  
Kai

---

<div class="post-metadata">

**Author:** ![hfichtinger](https://community.symcon.de/user_avatar/community.symcon.de/hfichtinger/32/79362_2.png) [@hfichtinger](https://community.symcon.de/u/hfichtinger)\
**Post date:** [16. Mai 2026 um 08:58 UTC](https://community.symcon.de/t/modul-sankey/143799/7 "2026-05-16T08:58:19Z")

</div>

Ah ja. Dann muss der Name des Ziels überall gleich sein. Danke, jetzt hab ich es.

---

<div class="post-metadata">

**Author:** ![KaiS](https://community.symcon.de/user_avatar/community.symcon.de/kais/32/29625_2.png) [@KaiS](https://community.symcon.de/u/KaiS)\
**Post date:** [16. Mai 2026 um 09:10 UTC](https://community.symcon.de/t/modul-sankey/143799/8 "2026-05-16T09:10:43Z")

</div>

Genau, vielleicht kann man da ja mal noch eine Dropdown bauen.

Grüße,  
Kai

---

<div class="post-metadata">

**Author:** ![mb-stern](https://community.symcon.de/letter_avatar_proxy/v4/letter/m/c37758/32.png) [@mb-stern](https://community.symcon.de/u/mb-stern)\
**Post date:** [16. Mai 2026 um 09:55 UTC](https://community.symcon.de/t/modul-sankey/143799/9 "2026-05-16T09:55:17Z")

</div>

Cool, gefällt mir 👍

Aktuell flackert das Diagramm aber massiv, je nach Variablen im Sekundentakt. Vielleicht sollte ein Timer eingebaut werden, wo sich der Aktualisierungsintervall definieren lässt? Oder es lässt sich über html lösen?

---

<div class="post-metadata">

**Author:** ![KaiS](https://community.symcon.de/user_avatar/community.symcon.de/kais/32/29625_2.png) [@KaiS](https://community.symcon.de/u/KaiS)\
**Post date:** [16. Mai 2026 um 10:01 UTC](https://community.symcon.de/t/modul-sankey/143799/10 "2026-05-16T10:01:05Z")

</div>

Aktuell wird das jedes Mal neu geladen, wenn eine Variable sich ändert.

Ich schaue mir das nochmal an.

Grüße,  
Kai

---

<div class="post-metadata">

**Author:** ![mb-stern](https://community.symcon.de/letter_avatar_proxy/v4/letter/m/c37758/32.png) [@mb-stern](https://community.symcon.de/u/mb-stern)\
**Post date:** [16. Mai 2026 um 10:30 UTC](https://community.symcon.de/t/modul-sankey/143799/11 "2026-05-16T10:30:50Z")

</div>

Mal meine Verbraucher reingehauen, Hammer Darstellung 👍

 ![image](https://community.symcon.de/uploads/default/original/3X/b/6/b6add988aa92956f7942c2b9ea47aa596698b971.jpeg)

---

<div class="post-metadata">

**Author:** ![mb-stern](https://community.symcon.de/letter_avatar_proxy/v4/letter/m/c37758/32.png) [@mb-stern](https://community.symcon.de/u/mb-stern)\
**Post date:** [16. Mai 2026 um 10:42 UTC](https://community.symcon.de/t/modul-sankey/143799/12 "2026-05-16T10:42:42Z")

</div>

> [@KaiS](#):
>
> Ich schaue mir das nochmal an.

Noch ein kleiner Darstellungsfehler im unteren Bereich des Diagrams, es passt nicht ganz alles drauf (Beispiel hier der gelbe Verbraucher)

 ![image](https://community.symcon.de/uploads/default/original/3X/7/7/77f3ea9af02461e7eaab6f486f3a6b1af6252ff5.png)

---

<div class="post-metadata">

**Author:** ![KaiS](https://community.symcon.de/user_avatar/community.symcon.de/kais/32/29625_2.png) [@KaiS](https://community.symcon.de/u/KaiS)\
**Post date:** [16. Mai 2026 um 10:55 UTC](https://community.symcon.de/t/modul-sankey/143799/13 "2026-05-16T10:55:11Z")

</div>

Veränder mal die Höhe.  
Macht das was aus?

Grüße,  
Kai

---

<div class="post-metadata">

**Author:** ![mb-stern](https://community.symcon.de/letter_avatar_proxy/v4/letter/m/c37758/32.png) [@mb-stern](https://community.symcon.de/u/mb-stern)\
**Post date:** [16. Mai 2026 um 11:54 UTC](https://community.symcon.de/t/modul-sankey/143799/14 "2026-05-16T11:54:38Z")

</div>

> [@KaiS](#):
>
> Veränder mal die Höhe.  
> Macht das was aus?

Nein, das habe ich schon getestet, es bleibt gleich…..

---

<div class="post-metadata">

**Author:** ![hfichtinger](https://community.symcon.de/user_avatar/community.symcon.de/hfichtinger/32/79362_2.png) [@hfichtinger](https://community.symcon.de/u/hfichtinger)\
**Post date:** [16. Mai 2026 um 12:23 UTC](https://community.symcon.de/t/modul-sankey/143799/15 "2026-05-16T12:23:11Z")

</div>

Bei mir passt es

 ![image](https://community.symcon.de/uploads/default/original/3X/1/9/1930239936d91a4f25514aa2930b0ce2eebe73d2.jpeg)

---

<div class="post-metadata">

**Author:** ![mb-stern](https://community.symcon.de/letter_avatar_proxy/v4/letter/m/c37758/32.png) [@mb-stern](https://community.symcon.de/u/mb-stern)\
**Post date:** [16. Mai 2026 um 12:32 UTC](https://community.symcon.de/t/modul-sankey/143799/16 "2026-05-16T12:32:21Z")

</div>

> [@hfichtinger](#):
>
> Bei mir passt es

Nein, unten rechts ist der Text auch abgeschnitten 😉

---

<div class="post-metadata">

**Author:** ![hfichtinger](https://community.symcon.de/user_avatar/community.symcon.de/hfichtinger/32/79362_2.png) [@hfichtinger](https://community.symcon.de/u/hfichtinger)\
**Post date:** [16. Mai 2026 um 12:42 UTC](https://community.symcon.de/t/modul-sankey/143799/17 "2026-05-16T12:42:31Z")

</div>

Stimmt. Die Kaffeemaschine 🙂

---

<div class="post-metadata">

**Author:** ![KaiS](https://community.symcon.de/user_avatar/community.symcon.de/kais/32/29625_2.png) [@KaiS](https://community.symcon.de/u/KaiS)\
**Post date:** [16. Mai 2026 um 18:37 UTC](https://community.symcon.de/t/modul-sankey/143799/18 "2026-05-16T18:37:49Z")

</div>

Es gibt eine neue Beta Version.

**16.05.2026 - Version 1.1 (Beta Version)**  
Neu: Google Charts entfernt, auf HTML SDK umgestellt

@mb-stern danke, dass du mir die Arbeit mit dem HTML SDK abgenommen hast.

Grüße,  
Kai

---

<div class="post-metadata">

**Author:** ![hfichtinger](https://community.symcon.de/user_avatar/community.symcon.de/hfichtinger/32/79362_2.png) [@hfichtinger](https://community.symcon.de/u/hfichtinger)\
**Post date:** [17. Mai 2026 um 04:47 UTC](https://community.symcon.de/t/modul-sankey/143799/19 "2026-05-17T04:47:19Z")

</div>

Ich hab das Update gemacht, aber irgendwie bekommt das Diagramm kein Update mehr.

Ah, die Instanz verlinken 😉

---

<div class="post-metadata">

**Author:** ![froema](https://community.symcon.de/letter_avatar_proxy/v4/letter/f/f14d63/32.png) [@froema](https://community.symcon.de/u/froema)\
**Post date:** [17. Mai 2026 um 08:56 UTC](https://community.symcon.de/t/modul-sankey/143799/20 "2026-05-17T08:56:57Z")

</div>

Erst mal vielen Dank für dieses interessante Modul. Da habe ich direkt mal eine Frage. So wie das aussieht kann man nur mit positiven Werten arbeiten. Wie macht ihr das mit dem Netz, bzw. mit der Batterie?

[Nächste Seite](https://community.symcon.de/t/modul-sankey/143799.md?page=2)
