Anyone using the Sankey Chart Card?

That’s a neat idea.

It has been a long time since i last installed a custom card. Can anyone tell me how you installed it?

I have added it to resources:

EDIT: Nevermind, i am a dumbass… i searched in HACS, but must have had a typo… it is in HACS… people, install it using HACS…

and i have added the first simple example:
image

and i have restarted. Any help would be appreciated.

cheers

Thanks for this excellent card, it looks great!
I started to prepare my power distribution based on it and already have few questions:

  • Is it possible to skip section? E.g. to link parent in section 3 with child in section 5? I’d like to have all end devices aligned in the very last section, but some structure to reach to them migh have different number of sublevels, depending on complexity. For now if I place child object in non consecutive section it diplsys there, but there is no connection drwn to parent.
  • Is it possible to have dynamic height of the card, e.g. something like 80% of entire page view? Would be very useful while using in panel view…

Here is sample of what I managed to achieve so far with this card:

BTW. Ground Floor Equipment Power and IT Rack Power are examples of entities, I’d like to skip section and move them more to the right.

4 Likes

I have just done thr same, though not as comprehensive… I too would like the height in percent.

Also, how did get it across the entire width? I assume it is by setting the tab to be a panel? Which means it is the only thing on the page.

Ta

Not yet. There’s a feature request open for it: https://github.com/MindFreeze/ha-sankey-chart/issues/9

Pixels only at the moment:

Screenshot 2022-06-01 at 00-43-38 MindFreeze_ha-sankey-chart A Home Assistant lovelace card to display a sankey chart. For example for power consumption

You could request it.

Yes set the view to be panel or sidebar.

I use sidebar:

8 Likes

good idea:

Was having trouble justifying installing more energy sensors. This just changed that idea totally.
Heard about Sankey on the HA podcast and ordered more powertags straight away.

Thanks for the heads up @tom_l .

1 Like

I started using it and are OK with using current sensors like power or utility sensors like daily energy etc.
However I completely fail to get data on previous day energy represented.

So far I build the utility sensors manually like

 hourly_energy:
    source: sensor.grid_strom_energie
    name: Stündlicher Strombezug kWh
    cycle: hourly
  daily_energy:
    source: sensor.grid_strom_energie
    name: Täglicher Strombezug kWh
    cycle: daily
  monthly_energy:
    source: sensor.grid_strom_energie
    name: Monatlicher Strombezug kWh
    cycle: monthly
  yearly_energy:
    source: sensor.grid_strom_energie
    name: Jährlicher Strombezug kWh
    cycle: yearly

and referred to e.g. the daily version thereof which gives me the data for today-up-to-now.

But what I really want is to show e.g. yesterdays data. Is this something that I can achieve somehow?
I would be glad for some advise.

Can anyone spot what I’m doing wrong? I’m not getting any branches being drawn. I’ve been playing around with different settings and so far not a single branch has been drawn.

I thought maybe it was the theme I’m using (Metrology by Madelena) but she also uses the Sankey chart, so I doubt that’s it. Plus, I tried swapping the theme for this particular dashboard with no change in behavior.

type: custom:sankey-chart
title: Power
show_names: true
sections:
  - entities:
      - entity_id: sensor.breaker_panel_power_meter
        name: Total Power
        children:
          - entity_id: sensor.pool_pump_power_meter
          - entity_id: sensor.washing_machine_power_meter_meter
        remaining:
          name: Other
  - entities:
      - entity_id: sensor.pool_pump_power_meter
      - entity_id: sensor.washing_machine_power_meter
        children:
          - entity_id: sensor.idrac_host1_powerconsumption
          - entity_id: sensor.idrac_host2_powerconsumption
          - entity_id: sensor.idrac_host3_powerconsumption
        remaining:
          name: Other
  - entities:
      - entity_id: sensor.idrac_host1_powerconsumption
      - entity_id: sensor.idrac_host2_powerconsumption
      - entity_id: sensor.idrac_host3_powerconsumption

Code seems OK. However I see huge disrepancy in values you try to connect. E.g. Total Power is 76kW, while Network Rack Power is only 41W. I guess the line is drawn, but is so tiny that cannot be spotted :slight_smile: Try to add some more contrasting to background color for entities (white?) perhaps somthing will become visible. You can also add at the top level min_box_height: 20 (or any other value) to force minimum height of the entity box in pixels. This also enforces width of the line at the child end, so perhaps something will start to be visible.

I finally figured out what I did wrong: under children I had - entity_id: sensor.idrac_host1_powerconsumption when I really should have had just - sensor.idrac_host1_powerconsumption. It’s working now that I’ve fixed that.

Here’s the fixed version (still a work in progress though):

type: custom:sankey-chart
title: Power
show_names: true
min_box_height: 20
sections:
  - entities:
      - entity_id: sensor.breaker_panel_power_meter
        name: Total
        remaining:
          name: Other
        children:
          - sensor.pool_pump_power_meter
          - sensor.washing_machine_power_meter_meter
  - entities:
      - entity_id: sensor.washing_machine_power_meter
        name: Washer
      - entity_id: sensor.pool_pump_power_meter
        name: Network Rack
        children:
          - sensor.idrac_host1_powerconsumption
          - sensor.idrac_host2_powerconsumption
          - sensor.idrac_host3_powerconsumption
        remaining:
          name: Other
  - entities:
      - entity_id: sensor.idrac_host1_powerconsumption
        name: Host 1
      - entity_id: sensor.idrac_host2_powerconsumption
        name: Host 2
      - entity_id: sensor.idrac_host3_powerconsumption
        name: Host 3

After update to 0.11.0 card stopped to display any chart and in editor view I get error:
image
No clue what is might mean… Any help, please?
EDIT: OK, I found a clue. Now children needs to be specified in separate line. E.g. instead of

children: sensor.some_device

It has to be:

children:
  - sensor.some_device

It worked fine in previous versions.

This has not changed, it was always a list:

The only thing that changed was the description: https://github.com/MindFreeze/ha-sankey-chart/commit/089c319775a03cd297d9c9f04c9957ee9d9baf12

The requirement just became stricter I guess.

OK, i played with new skip section function and it is nice… though not always working as expected. Here are my observations and few screenshots where representing different outcomes. So, I made some section skip on the very bottom part of card, making it stright from section 1 to 5. Not exactly what I expected. While I understand some ‘waviness’ as card is trying to redistribute available space between connections on each level (and this is fine), more troublesome result is visible in section 4, where connections are unnecessarily crossing each other. I guess that is because card is somehow randomly building dummy entries to supplement missing data on specific section level, perhaps starting from the very first section (so later on these are showing higher on the list)…

Adding intermediate step solves this issue, but at the expense of having this additional block strictly defined.

Strangely moving this skip block one section further causes issue to reapear. Again card drawing first strictly defined blocks and then adding dummy one:

So definitely this requires some play to have it done properly :slight_smile:

Another question, would it be possible to implement somehow section skip funtionality for remaining values? As you can see on my screenshots I have in section 3 quite significant element with remaining and woul dbe nice to display it directly in the very last section. Now to make it it would be necessary to create another virtual sensor that would calculate this value and to place it last section… just an idea…
Otherwise; I really love this card! It adds so much spark to data visualization in HA!

1 Like

You’re asking in the wrong place. The developer is not here.

Try asking here Issues · MindFreeze/ha-sankey-chart · GitHub

Also how are your external loads not powered from one of your three phases?

I’m using Sheely 3EM to measure energy consumption, but unfortunatelly I did not have enough space to install it next to main grid connection (or rather I have not enough space to install clamps), instead it is installed in main fuses box inside the house. That means that connection to garage (which is other building) is made before place where I can make measurements. So external represents everything that is installed in garage or powered from garage building. Technically it is one of these 3 phases, but Im just not capturing consumption on this part of installation. As such I’m using Powercalc to estimate consumption there.

2 Likes

Just installed the card and I have an issue with the child entities:
The code used is as follows:

       - type: custom:sankey-chart
         show_names: true
         sections:
           - entities:
             - entity_id: sensor.counter_appt_overall_power_l2
               children:
                 - sensor.bw_br_washer_power
                 - sensor.bw_corridor_meas_power
           - entities:
             - sensor.bw_kitchen_coffeemachine_power
             - sensor.bw_kitchen_dishwasher_power

What is shows is only the parent entity like on screenshot, others are ignored. Maybe somebody can advice what can cause this?
зображення

@tom_I Would you like to share your code for your card? It looks really nice.

Because your level 2 section entities are different than one specified as children in section 1…
Though it is a biot strange, as they SHOULD show, but disconnected from section one sensor…
:man_shrugging: