Acties:
  • +1 Henk 'm!

voorlopige topic Start pagina

( zal binnenkort nog verder aangepast worden).

versie: 21-2-2025

Dit is een aanvulling op de Het HomeWizard Plug-In Battery topic deel 2 waarbij het zwaartepunt op integratie met HA en of andere vergelijkbare systemen komt te liggen.
Dit om makelijker specifieke toepassingen en codes te vinden.
Meer algemene zaken over deze HW batterij zie het betreffende topic deel 1 of het vervolg hierop deel 2.

link Deel 1: Het HomeWizard Plug-In Battery topic

link Deel 2: Het HomeWizard Plug-In Battery topic deel 2

Op het moment van schrijven wordt er hard gewerkt en getest aan het toevoegen van de Homewizard Plug-In Battery in HomeAssistant (HA). Op dit moment is het mogelijk met een work-around en zonder update van HA (core) dit al werkend te krijgen. Hierbij een link waarin beschreven staat hoe je dit doet. Hoe koppel ik de thuisbatterij aan HA zonder update van de HA Core
link: https://gathering.tweakers.net/forum/view_message/81496532

Binnenkort zal de Homewizard integratie m.b.t. de batterij beschikbaar worden. De verwachte planning is 5 februari 2025. Zodra hier meer over bekend is volgt meer informatie. Let op! De API van de batterij is op het moment van schrijven Read Only. Dit betekend dat je bijvoorbeeld niet direct een opdracht kunt geven om een batterij op half vermogen te laten laden of ontladen. Of dit nog gaat komen zal de toekomst moeten uitwijzen.
(bron deel 2)

voor Homey is er een link voor aanmelden voor de homey app in combinatie met de HW thuis-batterij. met dank aan @Tebbe en @SpikeHome .
https://homey.app/nl-nl/app/com.homewizard/HomeWizard/test/

[ Voor 14% gewijzigd door MacD007 op 21-02-2025 12:16 ]

Quatt WP 4,5 kW - Atag CV ketel - Honeywell T6 - 23 panelen SolarEdge


Acties:
  • +3 Henk 'm!

  • DCSBL
  • Registratie: November 2019
  • Laatst online: 18:40
Home Assistant 2025.2 is vanaf nu beschikbaar, ik raad sterk aan om deze te gebruiken voor de Plug-In Battery.

https://www.home-assistant.io/integrations/homewizard/

https://www.home-assistan...-to-existing-integrations

Afbeeldingslocatie: https://tweakers.net/i/8eb_LAzeNv3jrUOH0kJUrRUl788=/800x/filters:strip_exif()/f/image/ehzXpZVLxyZG5hYKCS8JoR1U.png?f=fotoalbum_large

[ Voor 36% gewijzigd door DCSBL op 05-02-2025 21:17 ]

Embedded Software Developer @ HomeWizard | Doet soms wat voor Home Assistant


Acties:
  • +1 Henk 'm!

  • DCSBL
  • Registratie: November 2019
  • Laatst online: 18:40
De 'Opgeslagen energie' sensor is een template sensor die een grove inschatting maakt.

Afbeeldingslocatie: https://tweakers.net/i/uFgLoex2QDKfdWy0e9Yp35Doovg=/x800/filters:strip_exif()/f/image/Mp3Yga1Pfq6jInfPZqkYb83F.png?f=fotoalbum_large

code:
1
{{ (states('sensor.plug_in_battery_1_state_of_charge') | float / 100 * 2.688) | round(3) }}

Embedded Software Developer @ HomeWizard | Doet soms wat voor Home Assistant


Acties:
  • +1 Henk 'm!

  • PeteSplit
  • Registratie: Oktober 2023
  • Laatst online: 18:33

PeteSplit

HN091MR.NK5 HU051MR.U44

@DCSBL Hartelijk dank voor het vele werk, nu heb ik het energy dashboard compleet _/-\o_

Afbeeldingslocatie: https://tweakers.net/i/SyIA1qKi83z3F8kj4Nr43yHEGXA=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/Nz4reKL7SS73hjhoBM4hLJiq.jpg?f=user_large

Moet alleen de zon nog gaan schijnen 8)

(de grafieken zijn ook gewijzigd met de 2024.2 update :-( mobieltje loopt vast)

[ Voor 6% gewijzigd door PeteSplit op 06-02-2025 10:00 ]

LG AWHP / ESPhome / GoodWe 4K-DT / Homewizard / Home Assistant


Acties:
  • +1 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
PeteSplit schreef op donderdag 6 februari 2025 @ 00:28:
Hartelijk dank voor het vele werk, nu heb ik het energy dashboard compleet _/-\o_

[Afbeelding]

Moet alleen de zon nog gaan schijnen 8)

(de grafieken zijn ook gewijzigd met de update :-( )
Ik mis de batterij nog hopelijk volgende week!
(Jij de watermeter nog hehehe)

Afbeeldingslocatie: https://tweakers.net/i/fLPYhncT0wbPApcRnE95sjFAnYI=/800x/filters:strip_icc():strip_exif()/f/image/ssisa03Z7ck0LcESsAX89A4Y.jpg?f=fotoalbum_large

Acties:
  • +1 Henk 'm!

  • Pilovali
  • Registratie: September 2014
  • Laatst online: 13:22
Afbeeldingslocatie: https://share.pilovali.nl/5j96aT6b.png

Ik draai al sinds maandag de beta van HA en sinds gisteravond de stable release.
Gisteren heb ik een paar extra dingetjes toegevoegd in mijn HA dashboard: schatting hoe lang het duurt tot dat de accu vol/leeg is. Lijkt goed te werken.

Acties:
  • +1 Henk 'm!

  • gielz
  • Registratie: Februari 2012
  • Nu online
Pilovali schreef op donderdag 6 februari 2025 @ 10:39:
[Afbeelding]

Ik draai al sinds maandag de beta van HA en sinds gisteravond de stable release.
Gisteren heb ik een paar extra dingetjes toegevoegd in mijn HA dashboard: schatting hoe lang het duurt tot dat de accu vol/leeg is. Lijkt goed te werken.
Hoe ziet deze berekening er uit? Ik heb laatst met Stef Mesman van HW gemaild over de SOC% en dat blijkt een lastig verhaal maar een indicatie berekenen is altijd mogelijk.

6320wp | Zendure 2400 AC | Bambu A1 | 2x Hisense 2AMW-42U4RRA | Daikin RXM/FTXM35R | AQMOS BMX | Home Assistant OS op DS224+


Acties:
  • +1 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
Pilovali schreef op donderdag 6 februari 2025 @ 10:39:
[Afbeelding]

Ik draai al sinds maandag de beta van HA en sinds gisteravond de stable release.
Gisteren heb ik een paar extra dingetjes toegevoegd in mijn HA dashboard: schatting hoe lang het duurt tot dat de accu vol/leeg is. Lijkt goed te werken.
Kijk eens naar apexcharts kan je echt veel coolere dingen maken :D (dan bedoel ik die lijntjes he vind die zo lelijk van HA zelf)

Ben ook wel benieuwd naar je berekening :D

Afbeeldingslocatie: https://tweakers.net/i/sfF-LAhy8_XkmBXQNlRZgl6QZV0=/800x/filters:strip_exif()/f/image/TW0inPiaeNE5ybrVVOizl4WQ.png?f=fotoalbum_large

[ Voor 5% gewijzigd door crryp op 06-02-2025 10:58 ]


Acties:
  • +2 Henk 'm!

  • Pilovali
  • Registratie: September 2014
  • Laatst online: 13:22
gielz schreef op donderdag 6 februari 2025 @ 10:52:
[...]


Hoe ziet deze berekening er uit? Ik heb laatst met Stef Mesman van HW gemaild over de SOC% en dat blijkt een lastig verhaal maar een indicatie berekenen is altijd mogelijk.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
{% set battery_percentage = states('sensor.plug_in_battery_laadpercentage') | float(0) %}
          {% set battery_capacity_wh = 2025 %}  
          {% set power_usage = states('sensor.plug_in_battery_vermogen') | float(0) %}

          {% set missing_energy = ((100 - battery_percentage) / 100) * battery_capacity_wh %}

          {% if power_usage > 0 %}
            {{ (missing_energy / power_usage) | round(2) }}
          {% elif power_usage < 0 %}
            0
          {% else %}
            0
          {% endif %}


Deze berekend hoe lang het duurt voor dat die vol is. Ik gebruik 2025 Wh als waarde... puur als schatting gebaseerd op de RTE percentage die af en toe gepost wordt.

Acties:
  • 0 Henk 'm!

  • Pilovali
  • Registratie: September 2014
  • Laatst online: 13:22
crryp schreef op donderdag 6 februari 2025 @ 10:56:
[...]


Kijk eens naar apexcharts kan je echt veel coolere dingen maken :D (dan bedoel ik die lijntjes he vind die zo lelijk van HA zelf)

Ben ook wel benieuwd naar je berekening :D

[Afbeelding]
Waar kan ik apexcharts vinden? Het ziet er idd gelikt uit.

Acties:
  • +4 Henk 'm!

  • gielz
  • Registratie: Februari 2012
  • Nu online
Ik ben ook altijd wel fan van apex. ziet er hier zo uit

https://github.com/RomRider/apexcharts-card

Afbeeldingslocatie: https://tweakers.net/i/cQsXeOPQsNjhjzmSLHGLWtzdYmo=/800x/filters:strip_icc():strip_exif()/f/image/TXE5avljAsd1Yc5alGIm8Ioj.jpg?f=fotoalbum_large

6320wp | Zendure 2400 AC | Bambu A1 | 2x Hisense 2AMW-42U4RRA | Daikin RXM/FTXM35R | AQMOS BMX | Home Assistant OS op DS224+


Acties:
  • +2 Henk 'm!

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 12-06 00:33
@Devke Ik heb hier een template sensor in Home Assistant gemaakt welke de accu export gedeeld door de import bevat. Deze zakt als de accu laad, en deze stijgt als de accu ontlaad. Op tijdstippen dat de accu 0% is, is de zo berekende RTE maximaal.

Waarom moeilijk doen als het makkelijk kan.

Ik heb dit in Home Assistant:

configuration.yaml

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
input_number:
  plug_in_battery_previous_exported_kwh:
    name: Previous Exported kWh
    min: 0
    max: 10000
    step: 0.1
    unit_of_measurement: "kWh"
    icon: mdi:flash

  plug_in_battery_previous_imported_kwh:
    name: Previous Imported kWh
    min: 0
    max: 10000
    step: 0.1
    unit_of_measurement: "kWh"
    icon: mdi:flash

  plug_in_battery_battery_rte:
    name: Battery RTE
    min: 0
    max: 100
    unit_of_measurement: "%"
    icon: mdi:battery



En deze automation:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
alias: "Auto: Calculate Plugin Battery RTE"
description: ""
triggers:
  - trigger: numeric_state
    entity_id: sensor.plug_in_battery_laadpercentage
    below: 1
actions:
  - variables:
      current_exported_kwh: "{{ states('sensor.plug_in_battery_energy_export') | float }}"
      current_imported_kwh: "{{ states('sensor.plug_in_battery_energy_import') | float }}"
      previous_exported_kwh: >-
        {{ states('input_number.plug_in_battery_previous_exported_kwh') | float
        }}
      previous_imported_kwh: >-
        {{ states('input_number.plug_in_battery_previous_imported_kwh') | float
        }}
  - if:
      - condition: template
        value_template: >
          {{ states('sensor.plug_in_battery_energy_export') | float !=
          states('input_number.plug_in_battery_previous_exported_kwh') | float
          }}
      - condition: template
        value_template: >
          {{ states('sensor.plug_in_battery_energy_import') | float !=
          states('input_number.plug_in_battery_previous_imported_kwh') | float
          }}
    then:
      - action: input_number.set_value
        data:
          entity_id: input_number.plug_in_battery_rte
          value: >
            {% set exported_diff = current_exported_kwh - previous_exported_kwh
            %} {% set imported_diff = current_imported_kwh -
            previous_imported_kwh %} {% if imported_diff != 0 %}
              {{ (exported_diff / imported_diff) * 100 }}
            {% else %}
              {{ (current_exported_kwh / current_imported_kwh) * 100 }}
            {% endif %}
      - action: input_number.set_value
        data:
          entity_id: input_number.plug_in_battery_previous_exported_kwh
          value: "{{ current_exported_kwh }}"
      - action: input_number.set_value
        data:
          entity_id: input_number.plug_in_battery_previous_imported_kwh
          value: "{{ current_imported_kwh }}"
mode: single

Acties:
  • 0 Henk 'm!

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 12-06 00:33
Ik heb trouwens ook een lifetime RTE template sensor. Maar die is wat simpeler, deze loopt ook gewoon mee met de huidige import en export van de accu en zakt dus ook bij laden en stijgt bij ontladen weer.

code:
1
2
3
4
{% set battery_import = states('sensor.plug_in_battery_energy_import')|float %}
{% set battery_export = states('sensor.plug_in_battery_energy_export')|float %}

{{ (battery_export / battery_import * 100) | round(2) }}

Acties:
  • 0 Henk 'm!
The - DDD schreef op vrijdag 14 februari 2025 @ 11:28:
@Devke Ik heb hier een template sensor in Home Assistant gemaakt welke de accu export gedeeld door de import bevat. Deze zakt als de accu laad, en deze stijgt als de accu ontlaad. Op tijdstippen dat de accu 0% is, is de zo berekende RTE maximaal.

Waarom moeilijk doen als het makkelijk kan.

Ik heb dit in Home Assistant:

configuration.yaml

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
input_number:
  plug_in_battery_previous_exported_kwh:
    name: Previous Exported kWh
    min: 0
    max: 10000
    step: 0.1
    unit_of_measurement: "kWh"
    icon: mdi:flash

  plug_in_battery_previous_imported_kwh:
    name: Previous Imported kWh
    min: 0
    max: 10000
    step: 0.1
    unit_of_measurement: "kWh"
    icon: mdi:flash

  plug_in_battery_battery_rte:
    name: Battery RTE
    min: 0
    max: 100
    unit_of_measurement: "%"
    icon: mdi:battery



En deze automation:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
alias: "Auto: Calculate Plugin Battery RTE"
description: ""
triggers:
  - trigger: numeric_state
    entity_id: sensor.plug_in_battery_laadpercentage
    below: 1
actions:
  - variables:
      current_exported_kwh: "{{ states('sensor.plug_in_battery_energy_export') | float }}"
      current_imported_kwh: "{{ states('sensor.plug_in_battery_energy_import') | float }}"
      previous_exported_kwh: >-
        {{ states('input_number.plug_in_battery_previous_exported_kwh') | float
        }}
      previous_imported_kwh: >-
        {{ states('input_number.plug_in_battery_previous_imported_kwh') | float
        }}
  - if:
      - condition: template
        value_template: >
          {{ states('sensor.plug_in_battery_energy_export') | float !=
          states('input_number.plug_in_battery_previous_exported_kwh') | float
          }}
      - condition: template
        value_template: >
          {{ states('sensor.plug_in_battery_energy_import') | float !=
          states('input_number.plug_in_battery_previous_imported_kwh') | float
          }}
    then:
      - action: input_number.set_value
        data:
          entity_id: input_number.plug_in_battery_rte
          value: >
            {% set exported_diff = current_exported_kwh - previous_exported_kwh
            %} {% set imported_diff = current_imported_kwh -
            previous_imported_kwh %} {% if imported_diff != 0 %}
              {{ (exported_diff / imported_diff) * 100 }}
            {% else %}
              {{ (current_exported_kwh / current_imported_kwh) * 100 }}
            {% endif %}
      - action: input_number.set_value
        data:
          entity_id: input_number.plug_in_battery_previous_exported_kwh
          value: "{{ current_exported_kwh }}"
      - action: input_number.set_value
        data:
          entity_id: input_number.plug_in_battery_previous_imported_kwh
          value: "{{ current_imported_kwh }}"
mode: single
Lekker bezig! @gielz heeft ook e.a. aan code geschreven m.b.t. RTE. Die gebruik ik ook. Ik weet even niet zo snel of er grote verschillen zijn. Heb je evt ook screen van de output?

Acties:
  • 0 Henk 'm!

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 12-06 00:33
Vandaag er nog even mee aan het knutselen geweest. En heb even alle sensor data gereset. Die conditions toegevoegd omdat ik merkte dat ie anders hele rare waarden gaf als ik hem handmatig draaide.

Maar dit is wat je gaat zien. In weze krijg je via long term statistics dan een aardig overzicht. Het laat ook zien dat bij een minimaal vermogen zoals ik vandaag had, de efficiency om te huilen is. :D
Afbeeldingslocatie: https://tweakers.net/i/nGAF-gmIjdtDp1HWmbq5mjXQscA=/800x/filters:strip_exif()/f/image/PnltntdjYZICdtdxzns5iEQb.png?f=fotoalbum_large

@Devke 56% is niet best. :D

Acties:
  • 0 Henk 'm!

  • gielz
  • Registratie: Februari 2012
  • Nu online
In eerste instantie was mijn plan ook om de RTE te berekenen bij 0% maar toen ik uit de berekening kreeg dat de batterijen 7-8 maanden per jaar nooit op 0% zou komen had het weinig zin.

Ik gebruik daarom meerdere RTEs die lekker gevuld worden en gebruikt kunnen worden indien noodzakelijk; https://gathering.tweakers.net/forum/view_message/81535028
The - DDD schreef op vrijdag 14 februari 2025 @ 11:28:
@Devke Ik heb hier een template sensor in Home Assistant gemaakt welke de accu export gedeeld door de import bevat. Deze zakt als de accu laad, en deze stijgt als de accu ontlaad. Op tijdstippen dat de accu 0% is, is de zo berekende RTE maximaal.

Waarom moeilijk doen als het makkelijk kan.

Ik heb dit in Home Assistant:

configuration.yaml

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
input_number:
  plug_in_battery_previous_exported_kwh:
    name: Previous Exported kWh
    min: 0
    max: 10000
    step: 0.1
    unit_of_measurement: "kWh"
    icon: mdi:flash

  plug_in_battery_previous_imported_kwh:
    name: Previous Imported kWh
    min: 0
    max: 10000
    step: 0.1
    unit_of_measurement: "kWh"
    icon: mdi:flash

  plug_in_battery_battery_rte:
    name: Battery RTE
    min: 0
    max: 100
    unit_of_measurement: "%"
    icon: mdi:battery



En deze automation:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
alias: "Auto: Calculate Plugin Battery RTE"
description: ""
triggers:
  - trigger: numeric_state
    entity_id: sensor.plug_in_battery_laadpercentage
    below: 1
actions:
  - variables:
      current_exported_kwh: "{{ states('sensor.plug_in_battery_energy_export') | float }}"
      current_imported_kwh: "{{ states('sensor.plug_in_battery_energy_import') | float }}"
      previous_exported_kwh: >-
        {{ states('input_number.plug_in_battery_previous_exported_kwh') | float
        }}
      previous_imported_kwh: >-
        {{ states('input_number.plug_in_battery_previous_imported_kwh') | float
        }}
  - if:
      - condition: template
        value_template: >
          {{ states('sensor.plug_in_battery_energy_export') | float !=
          states('input_number.plug_in_battery_previous_exported_kwh') | float
          }}
      - condition: template
        value_template: >
          {{ states('sensor.plug_in_battery_energy_import') | float !=
          states('input_number.plug_in_battery_previous_imported_kwh') | float
          }}
    then:
      - action: input_number.set_value
        data:
          entity_id: input_number.plug_in_battery_rte
          value: >
            {% set exported_diff = current_exported_kwh - previous_exported_kwh
            %} {% set imported_diff = current_imported_kwh -
            previous_imported_kwh %} {% if imported_diff != 0 %}
              {{ (exported_diff / imported_diff) * 100 }}
            {% else %}
              {{ (current_exported_kwh / current_imported_kwh) * 100 }}
            {% endif %}
      - action: input_number.set_value
        data:
          entity_id: input_number.plug_in_battery_previous_exported_kwh
          value: "{{ current_exported_kwh }}"
      - action: input_number.set_value
        data:
          entity_id: input_number.plug_in_battery_previous_imported_kwh
          value: "{{ current_imported_kwh }}"
mode: single

6320wp | Zendure 2400 AC | Bambu A1 | 2x Hisense 2AMW-42U4RRA | Daikin RXM/FTXM35R | AQMOS BMX | Home Assistant OS op DS224+


Acties:
  • 0 Henk 'm!
The - DDD schreef op vrijdag 14 februari 2025 @ 20:40:
Vandaag er nog even mee aan het knutselen geweest. En heb even alle sensor data gereset. Die conditions toegevoegd omdat ik merkte dat ie anders hele rare waarden gaf als ik hem handmatig draaide.

Maar dit is wat je gaat zien. In weze krijg je via long term statistics dan een aardig overzicht. Het laat ook zien dat bij een minimaal vermogen zoals ik vandaag had, de efficiency om te huilen is. :D
[Afbeelding]

@Devke 56% is niet best. :D
56% wil je niet zien idd. Of wat voor vermogen heb je gedraaid?

Acties:
  • 0 Henk 'm!

  • winwiz
  • Registratie: September 2000
  • Laatst online: 08:35
Ziet er allemaal goed uit hier

Ryzen 5950x + 32GB GSKILL @3600 op Rog Strix Gaming E x570 + Asrock Phantom Gaming 6800XT+ Gigabyte Aorus FV43U Zwart + DS1621+ + DS414 + MacbookPro 16" 2021 + Mac Mini M4 Pro + Tesla MY RWD 2023 BYD


Acties:
  • +2 Henk 'm!

  • TFX77
  • Registratie: September 2008
  • Laatst online: 13:25
Van de week die van mij binnen gehad. Werkt fantastisch. Hier wat screenshots van wat ik in Home Assistant (Core) gebouwd heb.

De tweede komt binnenkort binnen. Is nodig ook aangezien ik voornamelijk verwarm met de airco wat een grote besparing is ten opzichte van het hele huis verwarmen met gas en overal thermostaat kranen plaatsen. De Plug-in Battery is hier alweer bijna leeg en hij was vol rond 1600 uur.

Afbeeldingslocatie: https://tweakers.net/i/cr8qHqkxP9FuJn2tUgVEc_LRUbU=/800x/filters:strip_icc():strip_exif()/f/image/CmKD87WDuPls1sxfPThm43m6.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/Bd6VbweQhogysicAa6VVdioK4a4=/800x/filters:strip_icc():strip_exif()/f/image/N1X9RJvw382LTk1xP6TJmDAv.jpg?f=fotoalbum_large

Hier de code voor de geïnteresseerden.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
views:
  - title: Home
    sections:
      - type: grid
        cards:
          - type: gauge
            entity: sensor.plug_in_battery_power
            unit: Watt
            needle: true
            view_layout:
              position: sidebar
            name: Plug-in batterij 1
            max: 800
            min: -800
            severity:
              green: 0
              yellow: -800
              red: 800
      - type: grid
        cards:
          - type: history-graph
            entities:
              - sun.sun
            logarithmic_scale: false
            grid_options:
              columns: full
              rows: 3
            hours_to_show: 24
        column_span: 3
      - type: grid
        cards:
          - type: heading
            heading_style: title
            heading: Plug-in Battery
          - type: picture
            image: >-
              https://cdn.homewizard.com/wp-content/uploads/2024/06/homewizard-battery-stack-800x800.webp
      - type: grid
        cards:
          - type: heading
            heading_style: title
            heading: Plug-in Battery 1 import
          - type: statistic
            period:
              calendar:
                period: day
            stat_type: change
            name: ' Import vandaag'
            unit: kWh
            view_layout:
              position: sidebar
            entity: sensor.plug_in_battery_energy_import
          - type: statistic
            period:
              calendar:
                period: day
                offset: -1
            stat_type: change
            name: ' Import gisteren'
            unit: kWh
            view_layout:
              position: sidebar
            entity: sensor.plug_in_battery_energy_import
          - type: statistic
            period:
              calendar:
                period: week
            stat_type: change
            name: Import week
            unit: kWh
            view_layout:
              position: sidebar
            entity: sensor.plug_in_battery_energy_import
          - type: statistic
            period:
              calendar:
                period: month
            stat_type: change
            unit: kWh
            view_layout:
              position: sidebar
            entity: sensor.plug_in_battery_energy_import
            name: Import Maand
          - type: statistic
            period:
              calendar:
                period: year
            stat_type: change
            unit: kWh
            view_layout:
              position: sidebar
            entity: sensor.plug_in_battery_energy_import
            name: Import jaar
          - type: horizontal-stack
            cards: []
          - type: heading
            heading_style: title
            heading: Plug-in Battery 1 export
          - type: statistic
            period:
              calendar:
                period: day
            stat_type: change
            name: ' Export vandaag'
            unit: kWh
            view_layout:
              position: sidebar
            entity: sensor.plug_in_battery_energy_export
          - type: statistic
            period:
              calendar:
                period: day
                offset: -1
            stat_type: change
            name: ' Export gisteren'
            unit: kWh
            view_layout:
              position: sidebar
            entity: sensor.plug_in_battery_energy_export
          - type: statistic
            period:
              calendar:
                period: week
            stat_type: change
            name: ' Export week'
            unit: kWh
            view_layout:
              position: sidebar
            entity: sensor.plug_in_battery_energy_export
          - type: statistic
            period:
              calendar:
                period: month
            stat_type: change
            name: ' Export maand'
            unit: kWh
            view_layout:
              position: sidebar
            entity: sensor.plug_in_battery_energy_export
          - type: statistic
            period:
              calendar:
                period: year
            stat_type: change
            name: ' Export jaar'
            unit: kWh
            view_layout:
              position: sidebar
            entity: sensor.plug_in_battery_energy_export
        column_span: 3
      - type: grid
        cards:
          - show_current: true
            show_forecast: true
            type: weather-forecast
            entity: weather.huis
            forecast_type: daily
      - type: grid
        cards:
          - chart_type: line
            period: 5minute
            type: statistics-graph
            entities:
              - sensor.plug_in_battery_power
            stat_types:
              - mean
            title: Plug-in Battery 1
            days_to_show: 1
            hide_legend: true
            logarithmic_scale: false
            grid_options:
              columns: 36
              rows: 7
          - type: heading
            heading: New section
        column_span: 3
    badges:
      - type: entity
        entity: sensor.plug_in_battery_power
      - type: entity
        entity: sensor.plug_in_battery_energy_export
      - type: entity
        entity: sensor.plug_in_battery_energy_import
      - type: entity
        entity: sensor.plug_in_battery_battery_cycles
      - type: entity
        entity: button.plug_in_battery_identify
      - type: entity
        entity: sensor.plug_in_battery_state_of_charge
    cards: []

13 x 260Wp ReneSola All Black op een SolarEdge SE3000 Live


Acties:
  • +8 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
Zoals beloofd ga ik mijn dashboard uitwerken in een hopelijk "oke" uitleg, ben niet de beste in uitleggen maar goed.

Dit dashboard ga ik stap voor stap behandelen niet alles in een keer want dat kost best wel veel tijd. Dus ik ga deze post komende tijd regelmatig aanpassen maar we gaan hier naar toe werken.

De energy flow links boven is nog niet custom maar overgenomen van het energy dashboard deze ga ik ook nog zelf bewerken maar dit komt later.

Afbeeldingslocatie: https://tweakers.net/i/H7z7jGdKeaZrgizmYJ7bQPv9R6M=/800x/filters:strip_exif()/f/image/2R8a6VFmw71ZxOb9eMrKVyzi.png?f=fotoalbum_large
'

Stap 1 is het installeren van mushroom:
https://github.com/piitaya/lovelace-mushroom

Stap 2 zal zijn de knoppen maken om door de dagen te reizen:


Afbeeldingslocatie: https://tweakers.net/i/qsTyjDN6j9HqW-LwgoyBru9NOWU=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/NpgouvYZZnywp0m9khhTg8mX.png?f=user_large

Eerst hebben we een Numeriek helper nodig, deze kan je via de interface aanmaken. (als je geen inputveld kan kiezen moet je je profiel eerst op advanced mode zetten. Dit doe je links onderin op je profiel en dan is dat een switch die je kan omzetten)

We noemen deze: graph_browser_daily

Afbeeldingslocatie: https://tweakers.net/i/iqTG7S12TR80Iantd2hiQrMq5lA=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/IbeVGHRifpCdH7GHop2jKqvC.png?f=user_large

Vervolgens hebben we een sensor template helper nodig die er voor zorgt dat er een offset string dynamich aangepast kan worden door te drukken op deze knoppen:

We noemen deze: graph_browser_daily_string

HIervoor gebruiken we het volgende template:

code:
1
2
3
4
5
6
7
8
{% set offset = states('input_number.graph_browser_daily') | int %}
          {% if offset == 0 %}
            +
          {% elif offset > 0 %}
            +{{ offset }}day
          {% else %}
            {{ offset }}day
          {% endif %}


Nu kunnen we de knoppen aanmaken dit zijn badges boven aan het dashboard.

Min knop:
code:
1
2
3
4
5
6
7
8
9
type: custom:mushroom-template-badge
content: Dag
icon: mdi:minus
color: red
tap_action:
  action: perform-action
  perform_action: input_number.decrement
  target:
    entity_id: input_number.graph_browser_daily


Pagina knop:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
type: entity
show_name: false
show_state: true
show_icon: true
entity: sensor.graph_browser_daily_string
color: ""
visibility:
  - condition: state
    entity: sensor.graph_browser_daily_string
    state_not: +
tap_action:
  action: perform-action
  perform_action: input_number.set_value
  target:
    entity_id: input_number.graph_browser_daily
  data:
    value: 0


Plus knop:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
type: custom:mushroom-template-badge
content: Dag
icon: mdi:plus
color: red
label: ""
tap_action:
  action: perform-action
  perform_action: input_number.increment
  target:
    entity_id: input_number.graph_browser_daily
visibility:
  - condition: numeric_state
    entity: input_number.graph_browser_daily
    below: 0



Stap 3 installeren van 2 plugins:
custom-template-card
Deze gebruiken we om variabele te kunnen zetten en aanpassen binnen onze cards
https://github.com/iantrich/config-template-card

Apexcharts
Hier maken we de grafieken in.
https://github.com/RomRider/apexcharts-card


Stap 4:

Stroomverbruik:

Afbeeldingslocatie: https://tweakers.net/i/p8z_O_XB3LPgtk6dlzrz5luTOjA=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/7kWRrgBv1yfGkQh5By0mgA1j.png?f=user_large

Eerste grafiek aanmaken deze heeft enkel de huidig vermogen sensor nodig van de p1 meter.

Pas deze aan in de code naar jou p1 meter sensor! (deze maakt ook gebruik van de eerder aangemaakte sensors om door de tijd te reizen)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
type: custom:config-template-card
variables:
  offset: states['sensor.graph_browser_daily_string'].state
entities:
  - sensor.graph_browser_daily_string
card:
  type: custom:apexcharts-card
  experimental:
    color_threshold: true
    brush: true
  span:
    start: day
    offset: ${offset}
  header:
    show: true
    show_states: true
    colorize_states: true
  apex_config:
    legend:
      show: false
    grid:
      strokeDashArray: 0
      borderColor: rgb(52,52,52)
    xaxis:
      axisBorder:
        show: false
        color: rgb(52,52,52)
      tickAmount: 1
      axisTicks:
        show: false
      labels:
        style:
          colors: rgb(128,128,128)
    yaxis:
      decimalsInFloat: 0
      tickAmount: 6
      labels:
        style:
          colors: rgb(128,128,128)
    chart:
      height: 250px
      zoom:
        enabled: true
  all_series_config:
    type: area
    curve: smooth
    extend_to: now
    stroke_width: 0
    group_by:
      func: avg
      duration: 15min
  series:
    - entity: sensor.p1_meter_vermogen
      name: Grid
      color: rgb(66,73,241)
      float_precision: 0
      color_threshold:
        - value: 0.01
          opacity: 0.4
          color: rgb(66,73,241)
        - value: 600
          opacity: 0.8
          color: rgb(66,73,241)
        - value: 800
          opacity: 1
          color: rgb(66,73,241)
        - value: 0
          opacity: 0.4
          color: rgb(30,227,137)
        - value: -600
          opacity: 0.8
          color: rgb(30,227,137)
        - value: -800
          opacity: 1
          color: rgb(30,227,137)

[ Voor 82% gewijzigd door crryp op 20-02-2025 21:42 ]


Acties:
  • +2 Henk 'm!

  • mrme12345
  • Registratie: December 2013
  • Niet online
crryp schreef op donderdag 20 februari 2025 @ 20:54:
Zoals beloofd ga ik mijn dashboard uitwerken in een hopelijk "oke" uitleg, ben niet de beste in uitleggen maar goed.
@crryp dank je wel hiervoor! Erg leuk :-) met die dagen terug kunnen gaan.

energienerds, gasloos, 11,5kWp, 14 kWh accu, EV, Atlantic WPB


Acties:
  • +1 Henk 'm!

  • RiDo78
  • Registratie: Juli 2002
  • Niet online
Ik vind het fijn om te weten waar mijn stroom vandaan komt; dus ik heb met ApexCharts een donut gemaakt die mij dat laat zien:
Afbeeldingslocatie: https://tweakers.net/i/7-lPsEsS8PPZgVC--pLw3KlQ_6g=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/0qcA19dLhpaJn0RaYUVIvasp.png?f=user_large

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
type: custom:apexcharts-card
header:
  show: true
  title: Herkomst stroom
  show_states: true
  colorize_states: true
chart_type: donut
update_interval: 15s
all_series_config:
    float_precision: 0
    show:
      datalabels: false
      legend_value: false
series:
  - entity: sensor.hw_mk_p1_01_active_power
    name: Net
    transform: "return x < 0 ? 0 : x"
    color: red
  - entity: sensor.hw_mk_battery1_vermogen
    name: Batterij
    transform: "return x > 0 ? 0 : 0-x"
    color: orange
  - entity: sensor.hw_zl_kwh_01_active_power
    name: Zonnepanelen
    transform: return 0-x
    color: green

Bij batterij heb je de keuze uit 2 transforms. Wil je alleen zien waar de stroom vandaan komt, dan gebruik je deze:
code:
1
 transform: "return x > 0 ? 0 : 0-x"

Wil je ook zien of je batterij laadt (niet zichtbaar in de grafiek, wel in de header) kies dan deze:
code:
1
 transform: "return 0-x"

Hetzelfde geldt voor 'Net'; als je alleen wilt zien waar de stroom vandaan komt, dan gebruik je deze transform:
code:
1
transform: "return x < 0 ? 0 : x"

Wil je ook zien of je teruglevert op het net (wederom enkel in de header), haal dan de transform weg.

Wil je liever een piechart dan een donut, verander dan chart_type: donut in chart_type: pie

En als je het plaatje van een uur/dag/maand/jaar etc. wil zien, gebruik dan in plaats van de directe meters de Utility Meter helpers en vergeet die dan niet te calibreren met de 'Utility Meter: Calibrate' action (Developer Tools -> Actions)

[ Voor 19% gewijzigd door RiDo78 op 21-02-2025 13:49 . Reden: Code geoptimaliseert en utility-meter hint toegevoegd. ]


Acties:
  • 0 Henk 'm!

  • SpikeHome
  • Registratie: Oktober 2001
  • Laatst online: 13:21
MacD007 schreef op maandag 3 februari 2025 @ 21:18:
[h1]
voor Homey is er een link voor aanmelden voor de homey app in combinatie met de HW thuis-batterij. met dank aan @SpikeHome .
https://homey.app/nl-nl/app/com.homewizard/HomeWizard/test/
Dat is teveel eer voor iemand die alleen de link hier neer zet.
@Tebbe is de maker en die hoort er te staan _/-\o_

Acties:
  • +1 Henk 'm!
SpikeHome schreef op vrijdag 21 februari 2025 @ 12:11:
[...]

Dat is teveel eer voor iemand die alleen de link hier neer zet.
@Tebbe is de maker en die hoort er te staan _/-\o_
sorry, ik zet @Tebbe er direct bij, mij excusses hiervoor. _/-\o_

Quatt WP 4,5 kW - Atag CV ketel - Honeywell T6 - 23 panelen SolarEdge


Acties:
  • 0 Henk 'm!

  • Gizz187
  • Registratie: September 2005
  • Laatst online: 08-06 19:37
RiDo78 schreef op vrijdag 21 februari 2025 @ 12:03:
Ik vind het fijn om te weten waar mijn stroom vandaan komt; dus ik heb met ApexCharts een donut gemaakt die mij dat laat zien:
[...]
Goedemiddag,
Wat is dit:
  • hw_mk_p1_01_active_power
  • hw_mk_battery1_vermogen
  • hw_zl_kwh_01_active_power
Ik krijg namelijk een "Entity not available" error. :)

Acties:
  • +1 Henk 'm!

  • RiDo78
  • Registratie: Juli 2002
  • Niet online
Gizz187 schreef op vrijdag 21 februari 2025 @ 13:58:
[...]

Goedemiddag,
Wat is dit:
  • hw_mk_p1_01_active_power
  • hw_mk_battery1_vermogen
  • hw_zl_kwh_01_active_power
Ik krijg namelijk een "Entity not available" error. :)
Zo heten de entities van de HW spullen in mijn HA. Het lijkt mij voor zich spreken dat je je eigen entities invult. Dus respectievelijk de P1 meter, Battery en de kWh meter (of welke sensor je voor je zonnepanelen gebruikt)

Acties:
  • +1 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
Nieuwe post

[ Voor 101% gewijzigd door crryp op 22-02-2025 10:50 ]


Acties:
  • 0 Henk 'm!

  • EduardBerwers
  • Registratie: Oktober 2018
  • Laatst online: 17-06 07:25
crryp schreef op donderdag 20 februari 2025 @ 20:54:
Zoals beloofd ga ik mijn dashboard uitwerken in een hopelijk "oke" uitleg, ben niet de beste in uitleggen maar goed.

Dit dashboard ga ik stap voor stap behandelen niet alles in een keer want dat kost best wel veel tijd. Dus ik ga deze post komende tijd regelmatig aanpassen maar we gaan hier naar toe werken.

De energy flow links boven is nog niet custom maar overgenomen van het energy dashboard deze ga ik ook nog zelf bewerken maar dit komt later.

[Afbeelding]
'

Stap 1 is het installeren van mushroom:
https://github.com/piitaya/lovelace-mushroom

Stap 2 zal zijn de knoppen maken om door de dagen te reizen:


[Afbeelding]

Eerst hebben we een Numeriek helper nodig, deze kan je via de interface aanmaken. (als je geen inputveld kan kiezen moet je je profiel eerst op advanced mode zetten. Dit doe je links onderin op je profiel en dan is dat een switch die je kan omzetten)

We noemen deze: graph_browser_daily

[Afbeelding]

Vervolgens hebben we een sensor template helper nodig die er voor zorgt dat er een offset string dynamich aangepast kan worden door te drukken op deze knoppen:

We noemen deze: graph_browser_daily_string

HIervoor gebruiken we het volgende template:

code:
1
2
3
4
5
6
7
8
{% set offset = states('input_number.graph_browser_daily') | int %}
          {% if offset == 0 %}
            +
          {% elif offset > 0 %}
            +{{ offset }}day
          {% else %}
            {{ offset }}day
          {% endif %}


Nu kunnen we de knoppen aanmaken dit zijn badges boven aan het dashboard.

Min knop:
code:
1
2
3
4
5
6
7
8
9
type: custom:mushroom-template-badge
content: Dag
icon: mdi:minus
color: red
tap_action:
  action: perform-action
  perform_action: input_number.decrement
  target:
    entity_id: input_number.graph_browser_daily


Pagina knop:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
type: entity
show_name: false
show_state: true
show_icon: true
entity: sensor.graph_browser_daily_string
color: ""
visibility:
  - condition: state
    entity: sensor.graph_browser_daily_string
    state_not: +
tap_action:
  action: perform-action
  perform_action: input_number.set_value
  target:
    entity_id: input_number.graph_browser_daily
  data:
    value: 0


Plus knop:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
type: custom:mushroom-template-badge
content: Dag
icon: mdi:plus
color: red
label: ""
tap_action:
  action: perform-action
  perform_action: input_number.increment
  target:
    entity_id: input_number.graph_browser_daily
visibility:
  - condition: numeric_state
    entity: input_number.graph_browser_daily
    below: 0



Stap 3 installeren van 2 plugins:
custom-template-card
Deze gebruiken we om variabele te kunnen zetten en aanpassen binnen onze cards
https://github.com/iantrich/config-template-card

Apexcharts
Hier maken we de grafieken in.
https://github.com/RomRider/apexcharts-card


Stap 4:

Stroomverbruik:

[Afbeelding]

Eerste grafiek aanmaken deze heeft enkel de huidig vermogen sensor nodig van de p1 meter.

Pas deze aan in de code naar jou p1 meter sensor! (deze maakt ook gebruik van de eerder aangemaakte sensors om door de tijd te reizen)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
type: custom:config-template-card
variables:
  offset: states['sensor.graph_browser_daily_string'].state
entities:
  - sensor.graph_browser_daily_string
card:
  type: custom:apexcharts-card
  experimental:
    color_threshold: true
    brush: true
  span:
    start: day
    offset: ${offset}
  header:
    show: true
    show_states: true
    colorize_states: true
  apex_config:
    legend:
      show: false
    grid:
      strokeDashArray: 0
      borderColor: rgb(52,52,52)
    xaxis:
      axisBorder:
        show: false
        color: rgb(52,52,52)
      tickAmount: 1
      axisTicks:
        show: false
      labels:
        style:
          colors: rgb(128,128,128)
    yaxis:
      decimalsInFloat: 0
      tickAmount: 6
      labels:
        style:
          colors: rgb(128,128,128)
    chart:
      height: 250px
      zoom:
        enabled: true
  all_series_config:
    type: area
    curve: smooth
    extend_to: now
    stroke_width: 0
    group_by:
      func: avg
      duration: 15min
  series:
    - entity: sensor.p1_meter_vermogen
      name: Grid
      color: rgb(66,73,241)
      float_precision: 0
      color_threshold:
        - value: 0.01
          opacity: 0.4
          color: rgb(66,73,241)
        - value: 600
          opacity: 0.8
          color: rgb(66,73,241)
        - value: 800
          opacity: 1
          color: rgb(66,73,241)
        - value: 0
          opacity: 0.4
          color: rgb(30,227,137)
        - value: -600
          opacity: 0.8
          color: rgb(30,227,137)
        - value: -800
          opacity: 1
          color: rgb(30,227,137)
@crryp Ziet er goed en werkt ook perfect. Het wisselen van de dagen is ook mooi.
In jouw "stroomtotaal" kaart staan bovenin ook nog drie waardes, ik vermoed dat dat de waardes "zelf verbruikte zonne-energie", "zelfvoorziening" en verbruik van je huis is? Hoe heb je die entiteiten gemaakt in HA? Ik zie deze wel op het energie dashboard staan, maar kan deze nergens terug vinden.

Acties:
  • 0 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
EduardBerwers schreef op vrijdag 21 februari 2025 @ 15:44:
[...]


@crryp Ziet er goed en werkt ook perfect. Het wisselen van de dagen is ook mooi.
In jouw "stroomtotaal" kaart staan bovenin ook nog drie waardes, ik vermoed dat dat de waardes "zelf verbruikte zonne-energie", "zelfvoorziening" en verbruik van je huis is? Hoe heb je die entiteiten gemaakt in HA? Ik zie deze wel op het energie dashboard staan, maar kan deze nergens terug vinden.
Klopt ik bereken die zelf ik zal die later nog wel even posten hier!

Acties:
  • +4 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
Thanks voor de inspiratie @RiDo78

Ik heb de donut nog even goed bekeken en wederom deze aangepast

Hou rekening mee dat mijn zonnepanelen een positieve waarde geven als meting. Heb je een hw kwh meter is dit negatief.

Voor de bovenste donut heb je nog een helper nodig die realtime je "eigen zonneverbruik" bepaalt noem deze bijv: sensor.eigen_verbruik_real_time

Voor als je zonnepanelen sensor een positieve waarde geeft:

code:
1
2
3
4
5
6
{% set huidige_opwek_zonnepanelen = states('sensor.scrape_power_solis') | float(0) %}
{% set batterij_vermogen = states('sensor.batteries_huidige_vermogen_totaal') | float(0) %}
{% set p1_vermogen = states('sensor.p1_meter_vermogen') | float(0) %}
{% set batterij_vermogen_real = batterij_vermogen if batterij_vermogen > 0 else 0 %}
{% set p1_vermogen_real = p1_vermogen if p1_vermogen < 0 else 0 %}
{{ huidige_opwek_zonnepanelen + p1_vermogen_real -  batterij_vermogen_real }}


En deze voor als je een negatieve waarde heb in je zonneopwek sensor:

code:
1
2
3
4
5
6
{% set huidige_opwek_zonnepanelen = states('sensor.scrape_power_solis') | float(0) *-1 %}
{% set batterij_vermogen = states('sensor.batteries_huidige_vermogen_totaal') | float(0) %}
{% set p1_vermogen = states('sensor.p1_meter_vermogen') | float(0) %}
{% set batterij_vermogen_real = batterij_vermogen if batterij_vermogen > 0 else 0 %}
{% set p1_vermogen_real = p1_vermogen if p1_vermogen < 0 else 0 %}
{{ huidige_opwek_zonnepanelen + p1_vermogen_real -  batterij_vermogen_real }}


Zie hier resultaat:

Afbeeldingslocatie: https://tweakers.net/i/cvqr3q-9TVUQJuYMJ6Ya1DkZu5A=/x800/filters:strip_exif()/f/image/ZzMaPYeRqIwFwH0RP23PcIhS.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/-OsPPJgzCSkEI6gGiuYzFYJcJzE=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/G5iZLaMlElrkbXFzLCMQY3cI.png?f=user_large

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
type: vertical-stack
cards:
  - type: heading
    icon: mdi:home-lightning-bolt
    heading: Energie
    heading_style: title
    badges: []
  - type: vertical-stack
    cards:
      - type: custom:apexcharts-card
        header:
          show: true
          title: Vermogen verdeling gebruik
          show_states: true
          colorize_states: true
        update_interval: 15s
        chart_type: donut
        apex_config:
          dataLabels:
            formatter: |
              EVAL:function(value) {
                return value.toFixed(0) + " %";
              }
            style:
              colors:
                - black
          plotOptions:
            pie:
              donut:
                labels:
                  show: true
                  total:
                    show: true
                    label: Totaal
                    formatter: |
                      EVAL:function(w) {
                        return w.globals.seriesTotals.reduce((a, b) => {return (a + b)} , 0).toFixed(0) + " W"
                        }
        all_series_config:
          float_precision: 0
          show:
            datalabels: false
            legend_value: false
        series:
          - entity: sensor.p1_meter_vermogen
            name: Net
            color: rgb(66,73,241)
            transform: "return x < 0 ? 0 : x"
          - entity: sensor.batteries_huidige_vermogen_totaal
            name: Batterij
            transform: "return x > 0 ? 0 : 0-x"
            color: rgb(232, 150, 48)
          - entity:  sensor.eigen_verbruik_real_time
            name: Zonnepanelen
            transform: "return x > 0 ? x : 0"
            color: rgb(30,227,137)
  - type: vertical-stack
    cards:
      - type: custom:apexcharts-card
        header:
          show: true
          title: Vermogen verdeling teruglevering
          show_states: true
          colorize_states: true
        update_interval: 15s
        chart_type: donut
        apex_config:
          dataLabels:
            formatter: |
              EVAL:function(value) {
                return value.toFixed(0) + " %";
              }
            style:
              colors:
                - black
          plotOptions:
            pie:
              donut:
                labels:
                  show: true
                  total:
                    show: true
                    label: Totaal
                    formatter: |
                      EVAL:function(w) {
                        return w.globals.seriesTotals.reduce((a, b) => {return (a + b)} , 0).toFixed(0) + " W"
                        }
        all_series_config:
          float_precision: 0
          show:
            datalabels: false
            legend_value: false
        series:
          - entity: sensor.p1_meter_vermogen
            name: Net
            color: rgb(66,73,241)
            transform: "return x < 0 ? x * -1 : 0"
          - entity: sensor.batteries_huidige_vermogen_totaal
            name: Batterij
            transform: "return x > 0 ? x : 0"
            color: rgb(232, 150, 48)
    visibility:
      - condition: and
        conditions:
          - condition: or
            conditions:
              - condition: numeric_state
                entity: sensor.p1_meter_vermogen
                below: 0
              - condition: numeric_state
                entity: sensor.batteries_huidige_vermogen_totaal
                above: 0
          - condition: numeric_state
            entity: sensor.scrape_power_solis
            above: 0
visibility:
  - condition: numeric_state
    entity: input_number.graph_browser_daily
    above: -1

[ Voor 47% gewijzigd door crryp op 23-02-2025 15:56 ]


Acties:
  • 0 Henk 'm!

  • mrme12345
  • Registratie: December 2013
  • Niet online
crryp schreef op zaterdag 22 februari 2025 @ 10:52:
Thanks voor de inspiratie @RiDo78

Ik heb de donut nog even goed bekeken en wederom deze aangepast
Dank je wederom, deze ook overgenomen :-) weliswaar voor een andere batterij (zendure), maar dat werkt net zo mooi als grafiek :-)

energienerds, gasloos, 11,5kWp, 14 kWh accu, EV, Atlantic WPB


Acties:
  • +2 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
mrme12345 schreef op zaterdag 22 februari 2025 @ 13:43:
[...]

Dank je wederom, deze ook overgenomen :-) weliswaar voor een andere batterij (zendure), maar dat werkt net zo mooi als grafiek :-)
Geen dank! Alleen maar leuk beetje elkaar helpen en ideeën delen toch!

Acties:
  • +2 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
mrme12345 schreef op zaterdag 22 februari 2025 @ 13:43:
[...]

Dank je wederom, deze ook overgenomen :-) weliswaar voor een andere batterij (zendure), maar dat werkt net zo mooi als grafiek :-)
Nu de zon vollebak scheen zag ik nog een fout, hij gaf altijd maximaal de zonne opbrengst weer in de grafiek dat is natuurlijk geen direct verbruik dit is nu aangepast zie originele post.

Acties:
  • +4 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
Afbeeldingslocatie: https://tweakers.net/i/zA3iVbUvsVFGNlfJsT7yzfpCOMg=/800x/filters:strip_exif()/f/image/6Lcx8mxfkW61vR8ul7drVPJ9.png?f=fotoalbum_large

Het is work in progress maar nabouwen van hw display is best al een eindje opweg.

Wel een klus 😅

Acties:
  • +1 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
Afbeeldingslocatie: https://tweakers.net/i/fvOEjji1rxAslKdUUqWKJDrMQIc=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/cNQMJInohu59HLn22mXnz7Io.png?f=user_large

Afbeeldingslocatie: https://tweakers.net/i/3GLBL7xXV9zp33MUM7Wua9f7J8k=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/x9Wvqy42CUGQy6LGNC3eQMhi.png?f=user_large

progressie maar holy crap hee xD

Acties:
  • +4 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
Hi HW Plugin Battery fans en nog toekomstige fans.

Een van de dingen die ik jammer vind is dat het display op dit moment enkel het persentage kan laten zien hoe vol of hoe leeg de batterijen zijn. Uiteraard zie je wel qua kleur wat hij aan het doen is maar toch is een cirkeltje met huidig vermogen veel leuker!

Dus maar weer eens aan de slag gegaan met HA, okal zeg ik het zelf vind ik het een mooi resultaat.

Batterij aan het opladen, net vermogen proberen op 0 te houden:
Afbeeldingslocatie: https://tweakers.net/i/hHYn_rd6c0_Q6PjgmNE98SJRdEg=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/HDCya7HsIuaVm4HSs72HGWt4.png?f=user_large

Batterij aan het omschakelen en de rust stand:
Afbeeldingslocatie: https://tweakers.net/i/LNIR0QWhKE30Gli1bwq7bVhKo5I=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/SNhonrlk67vQLOVZy98C1CMF.png?f=user_large

Batterij volle bak aan het opladen en nog overschot naar het net (helaas)
Afbeeldingslocatie: https://tweakers.net/i/I_XbRJ3M3uUG4ifbOdgEo7jjLhU=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/3XNgL53uj2qiMv6B0bZittcs.png?f=user_large

Batterij aan het ontladen richting het huis:
Afbeeldingslocatie: https://tweakers.net/i/a1j0VcBEqjZGYu6A5lBbOMZxW3k=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/sHesnpjN1dZT6hTwcnDLX3dD.png?f=user_large

Wanneer je deze combineert met de eerder gedeelde verbruiks donut krijg je een leuk overzicht:
Afbeeldingslocatie: https://tweakers.net/i/wObi7oUj_JbkJyvPcHuIQ0liZRQ=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/VWoPmcWjLPbwGdYcuchcbReZ.png?f=user_large

Nu wil je deze intergratie ook gebruiken kan je mijn YAML code gebruiken.

Je hebt hiervoor 3 intergraties nodig (te installeren via HACS).

Layout card:
https://github.com/thomasloven/lovelace-layout-card
Card mod:
https://github.com/thomasloven/lovelace-card-mod
Apexcharts:
https://github.com/RomRider/apexcharts-card

Sensoren die je in de YAML moet vervangen:

sensor.batteries_huidige_vermogen_totaal
(totaal huidig wattage van je batterij / batterijen)

sensor.batteries_totaal_batterij_laadniveau
(totaal van je laat niveau van je batterij / batterijen tot 100 procent maximaal dus heb je er meerdere deel dan in je template sensor het totaal door het aantal batterijen)

sensor.p1_meter_vermogen
(huidig vermogen van je p1 meter)

sensor.batteries_totaal_export_vandaag
(totaal aan export van de batterij / batterijen)

sensor.batteries_totaal_import_vandaag
(totaal aan import van de batterij / batterijen)

Ook zal je in de yaml opzoek moeten gaan naar de berekeningen die in de verschillende cirkels zitten:

Batterij vermogen cirkels staan op: 1600 en -1600
Batterij laadpercentage uiteraard op: 100
P1 vermogen staat op: 5000 en -5000


Letop!! de sensoren en berekeningen staan op meerdere plaatsen in de YAML.

Helaas staan de grafieken dubbel in de YAML om reverse te kunnen doen en de kleuren aan te kunnen passen. Dit ging helaas niet met sensor values in de card-mod css, dan renderen de cirkels niet meer goed.

Als je hem gaat gebruiken laat het weten (vind ik leuk)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
type: custom:layout-card
layout_type: custom:grid-layout
cards:
  - type: vertical-stack
    cards:
      - type: conditional
        conditions:
          - condition: numeric_state
            entity: sensor.batteries_huidige_vermogen_totaal
            above: -1
            below: 1
        card:
          type: custom:apexcharts-card
          view_layout:
            grid-area: graph1
          chart_type: radialBar
          series:
            - entity: sensor.batteries_huidige_vermogen_totaal
              color: white
              max: -1600
          apex_config:
            plotOptions:
              radialBar:
                offsetY: 0
                startAngle: 0
                endAngle: 360
                hollow:
                  margin: 15
                  size: 70
                  background: transparent
                dataLabels:
                  name:
                    show: true
                    offsetY: 49px
                    formatter: |
                      EVAL:function(value) {
                      return 'W';
                      }
                  value:
                    show: true
                    offsetY: -7
                    formatter: |
                      EVAL:function(value) {
                      return (value * -1600 / 100);
                      }
          card_mod:
            style: |
              ha-card {
                background: none;
                box-shadow: none;
                border: none;
                padding: 0;
                width: 330px;
                margin-top: 77%;
                margin-left: -90%
              }
              .apexcharts-datalabel-value {
                font-size: 30px;
              }
              .apexcharts-datalabel-label {
                font-size: 25px;
              }
              .apexcharts-radial-series {
                transform: scale(-1,1) translate(-94%)
              }
              ha-card::before {
                content: "";
                width: 30px;
                height: 30px;
                display: block;
                position: absolute;
                top: 18%;
                left: 46%;
                position: absolute;
                background-color: white; 
                -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>power-plug-battery</title><path fill="currentColor" d="M12 10C12 9.35 11.57 8.7 11 8.32C10.7 8.12 10.35 8 10 8V4H8V8H4V4H2V8C1 8 0 9 0 10V15.5L3.5 19V22H8.5V19L12 15.5V10M12.33 4C12.22 4 12.11 4 12 4.04V6.59C12.3 6.77 12.56 7 12.79 7.21C13.44 7.87 14 8.85 14 10V16.33L11 19.33V20.67C11 21.4 11.6 22 12.33 22H21.67C22 22 22.36 21.86 22.61 21.61C22.86 21.36 23 21 23 20.67V5.33C23 4.6 22.4 4 21.67 4H20V2H14V4H12.33Z" /></svg>') no-repeat center;
                mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>power-plug-battery</title><path fill="currentColor" d="M12 10C12 9.35 11.57 8.7 11 8.32C10.7 8.12 10.35 8 10 8V4H8V8H4V4H2V8C1 8 0 9 0 10V15.5L3.5 19V22H8.5V19L12 15.5V10M12.33 4C12.22 4 12.11 4 12 4.04V6.59C12.3 6.77 12.56 7 12.79 7.21C13.44 7.87 14 8.85 14 10V16.33L11 19.33V20.67C11 21.4 11.6 22 12.33 22H21.67C22 22 22.36 21.86 22.61 21.61C22.86 21.36 23 21 23 20.67V5.33C23 4.6 22.4 4 21.67 4H20V2H14V4H12.33Z" /></svg>') no-repeat center;
               -webkit-mask-size: contain;
                mask-size: contain;
              }
              #spinner-wrapper{
               display:none;
              }
      - type: conditional
        conditions:
          - condition: numeric_state
            entity: sensor.batteries_huidige_vermogen_totaal
            above: 0
        card:
          type: custom:apexcharts-card
          view_layout:
            grid-area: graph1
          chart_type: radialBar
          series:
            - entity: sensor.batteries_huidige_vermogen_totaal
              color: rgb(66,73,241)
              max: 1600
          apex_config:
            plotOptions:
              radialBar:
                offsetY: 0
                startAngle: 0
                endAngle: 360
                hollow:
                  margin: 15
                  size: 70
                  background: transparent
                dataLabels:
                  name:
                    show: true
                    offsetY: 49px
                    formatter: |
                      EVAL:function(value) {
                      return 'W';
                      }
                  value:
                    show: true
                    offsetY: -7
                    formatter: |
                      EVAL:function(value) {
                      return (value * 1600 / 100).toFixed(0);
                      }
          card_mod:
            style: |
              ha-card {
                background: none;
                box-shadow: none;
                border: none;
                padding: 0;
                width: 330px;
                margin-top: 77%;
                margin-left: -90%
              }
              .apexcharts-datalabel-value {
                font-size: 30px;
              }
              .apexcharts-datalabel-label {
                font-size: 25px;
              }
              ha-card::before {
                content: "";
                width: 30px;
                height: 30px;
                display: block;
                position: absolute;
                top: 18%;
                left: 46%;
                position: absolute;
                background-color: rgb(66,73,241); 
                -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>power-plug-battery</title><path fill="currentColor" d="M12 10C12 9.35 11.57 8.7 11 8.32C10.7 8.12 10.35 8 10 8V4H8V8H4V4H2V8C1 8 0 9 0 10V15.5L3.5 19V22H8.5V19L12 15.5V10M12.33 4C12.22 4 12.11 4 12 4.04V6.59C12.3 6.77 12.56 7 12.79 7.21C13.44 7.87 14 8.85 14 10V16.33L11 19.33V20.67C11 21.4 11.6 22 12.33 22H21.67C22 22 22.36 21.86 22.61 21.61C22.86 21.36 23 21 23 20.67V5.33C23 4.6 22.4 4 21.67 4H20V2H14V4H12.33Z" /></svg>') no-repeat center;
                mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>power-plug-battery</title><path fill="currentColor" d="M12 10C12 9.35 11.57 8.7 11 8.32C10.7 8.12 10.35 8 10 8V4H8V8H4V4H2V8C1 8 0 9 0 10V15.5L3.5 19V22H8.5V19L12 15.5V10M12.33 4C12.22 4 12.11 4 12 4.04V6.59C12.3 6.77 12.56 7 12.79 7.21C13.44 7.87 14 8.85 14 10V16.33L11 19.33V20.67C11 21.4 11.6 22 12.33 22H21.67C22 22 22.36 21.86 22.61 21.61C22.86 21.36 23 21 23 20.67V5.33C23 4.6 22.4 4 21.67 4H20V2H14V4H12.33Z" /></svg>') no-repeat center;
               -webkit-mask-size: contain;
                mask-size: contain;
              }
              #spinner-wrapper{
               display:none;
              }
      - type: conditional
        conditions:
          - condition: numeric_state
            entity: sensor.batteries_huidige_vermogen_totaal
            below: 0
        card:
          type: custom:apexcharts-card
          view_layout:
            grid-area: graph1
          chart_type: radialBar
          series:
            - entity: sensor.batteries_huidige_vermogen_totaal
              color: rgb(30, 227, 137)
              max: -1600
          apex_config:
            plotOptions:
              radialBar:
                offsetY: 0
                startAngle: 0
                endAngle: 360
                hollow:
                  margin: 15
                  size: 70
                  background: transparent
                dataLabels:
                  name:
                    show: true
                    offsetY: 49px
                    formatter: |
                      EVAL:function(value) {
                      return 'W';
                      }
                  value:
                    show: true
                    offsetY: -7
                    formatter: |
                      EVAL:function(value) {
                      return (value * -1600 / 100).toFixed(0);
                      }
          card_mod:
            style: |
              ha-card {
                background: none;
                box-shadow: none;
                border: none;
                padding: 0;
                width: 330px;
                margin-top: 77%;
                margin-left: -90%
              }
              .apexcharts-datalabel-value {
                font-size: 30px;
              }
              .apexcharts-datalabel-label {
                font-size: 25px;
              }
              .apexcharts-radial-series {
                transform: scale(-1,1) translate(-94%)
              }
              ha-card::before {
                content: "";
                width: 30px;
                height: 30px;
                display: block;
                position: absolute;
                top: 18%;
                left: 46%;
                position: absolute;
                background-color: rgb(30, 227, 137); 
                -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>power-plug-battery</title><path fill="currentColor" d="M12 10C12 9.35 11.57 8.7 11 8.32C10.7 8.12 10.35 8 10 8V4H8V8H4V4H2V8C1 8 0 9 0 10V15.5L3.5 19V22H8.5V19L12 15.5V10M12.33 4C12.22 4 12.11 4 12 4.04V6.59C12.3 6.77 12.56 7 12.79 7.21C13.44 7.87 14 8.85 14 10V16.33L11 19.33V20.67C11 21.4 11.6 22 12.33 22H21.67C22 22 22.36 21.86 22.61 21.61C22.86 21.36 23 21 23 20.67V5.33C23 4.6 22.4 4 21.67 4H20V2H14V4H12.33Z" /></svg>') no-repeat center;
                mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>power-plug-battery</title><path fill="currentColor" d="M12 10C12 9.35 11.57 8.7 11 8.32C10.7 8.12 10.35 8 10 8V4H8V8H4V4H2V8C1 8 0 9 0 10V15.5L3.5 19V22H8.5V19L12 15.5V10M12.33 4C12.22 4 12.11 4 12 4.04V6.59C12.3 6.77 12.56 7 12.79 7.21C13.44 7.87 14 8.85 14 10V16.33L11 19.33V20.67C11 21.4 11.6 22 12.33 22H21.67C22 22 22.36 21.86 22.61 21.61C22.86 21.36 23 21 23 20.67V5.33C23 4.6 22.4 4 21.67 4H20V2H14V4H12.33Z" /></svg>') no-repeat center;
               -webkit-mask-size: contain;
                mask-size: contain;
              }
              #spinner-wrapper{
               display:none;
              }
  - type: vertical-stack
    cards:
      - type: conditional
        conditions:
          - condition: numeric_state
            entity: sensor.batteries_huidige_vermogen_totaal
            above: -1
            below: 1
        card:
          type: custom:apexcharts-card
          view_layout:
            grid-area: graph2
          chart_type: radialBar
          series:
            - entity: sensor.batteries_totaal_batterij_laadniveau
              color: white
              max: 100
          apex_config:
            plotOptions:
              radialBar:
                offsetY: 0
                startAngle: 0
                endAngle: 360
                hollow:
                  margin: 15
                  size: 70
                  background: transparent
                dataLabels:
                  name:
                    show: true
                    offsetY: 35px
                    formatter: |
                      EVAL:function(value) {
                      return '%';
                      }
                  value:
                    show: true
                    offsetY: -12
                    formatter: |
                      EVAL:function(value) {
                      return (value * 100 / 100).toFixed(0);
                      }
          card_mod:
            style: |
              ha-card {
                background: none;
                box-shadow: none;
                border: none;
                padding: 0;
                width: 300px
              }
              .apexcharts-datalabel-value {
                font-size: 20px
              }
              .apexcharts-datalabel-label {
                font-size: 17px
              }
              ha-card::before {
                content: "";
                width: 20px;
                height: 20px;
                display: block;
                position: absolute;
                top: 18%;
                left: 47%;
                -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>battery-70</title><path d="M16,10H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z" /></svg>') no-repeat center;
                mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>battery-70</title><path d="M16,10H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z" /></svg>') no-repeat center;
               -webkit-mask-size: contain;
                mask-size: contain;
                background-color: white
              }
              #spinner-wrapper{
                display:none;
              }
      - type: conditional
        conditions:
          - condition: numeric_state
            entity: sensor.batteries_huidige_vermogen_totaal
            below: 0
        card:
          type: custom:apexcharts-card
          view_layout:
            grid-area: graph2
          chart_type: radialBar
          series:
            - entity: sensor.batteries_totaal_batterij_laadniveau
              color: rgb(30,227,137)
              max: 100
          apex_config:
            plotOptions:
              radialBar:
                offsetY: 0
                startAngle: 0
                endAngle: 360
                hollow:
                  margin: 15
                  size: 70
                  background: transparent
                dataLabels:
                  name:
                    show: true
                    offsetY: 35px
                    formatter: |
                      EVAL:function(value) {
                      return '%';
                      }
                  value:
                    show: true
                    offsetY: -12
                    formatter: |
                      EVAL:function(value) {
                      return (value * 100 / 100).toFixed(0);
                      }
          card_mod:
            style: |
              ha-card {
                background: none;
                box-shadow: none;
                border: none;
                padding: 0;
                width: 300px
              }
              .apexcharts-datalabel-value {
                font-size: 20px
              }
              .apexcharts-datalabel-label {
                font-size: 17px
              }
              ha-card::before {
                content: "";
                width: 20px;
                height: 20px;
                display: block;
                position: absolute;
                top: 18%;
                left: 47%;
               -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>battery-70</title><path d="M16,10H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z" /></svg>') no-repeat center;
                mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>battery-70</title><path d="M16,10H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z" /></svg>') no-repeat center;
               -webkit-mask-size: contain;
                mask-size: contain;
                background-color:  rgb(30,227,137)
              }
              #spinner-wrapper{
                display:none;
              }
      - type: conditional
        conditions:
          - condition: numeric_state
            entity: sensor.batteries_huidige_vermogen_totaal
            above: 0
        card:
          type: custom:apexcharts-card
          view_layout:
            grid-area: graph2
          chart_type: radialBar
          series:
            - entity: sensor.batteries_totaal_batterij_laadniveau
              color: rgb(66,73,241)
              max: 100
          apex_config:
            plotOptions:
              radialBar:
                offsetY: 0
                startAngle: 0
                endAngle: 360
                hollow:
                  margin: 15
                  size: 70
                  background: transparent
                dataLabels:
                  name:
                    show: true
                    offsetY: 35px
                    formatter: |
                      EVAL:function(value) {
                      return '%';
                      }
                  value:
                    show: true
                    offsetY: -12
                    formatter: |
                      EVAL:function(value) {
                      return (value * 100 / 100).toFixed(0);
                      }
          card_mod:
            style: |
              ha-card {
                background: none;
                box-shadow: none;
                border: none;
                padding: 0;
                width: 300px
              }
              .apexcharts-datalabel-value {
                font-size: 20px
              }
              .apexcharts-datalabel-label {
                font-size: 17px
              }
              ha-card::before {
                content: "";
                width: 20px;
                height: 20px;
                display: block;
                position: absolute;
                top: 18%;
                left: 47%;
                -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>battery-70</title><path d="M16,10H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z" /></svg>') no-repeat center;
                mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>battery-70</title><path d="M16,10H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z" /></svg>') no-repeat center;
                -webkit-mask-size: contain;
                mask-size: contain;
                background-color: rgb(66,73,241)
              }
              #spinner-wrapper{
                display:none;
              }
  - type: vertical-stack
    cards:
      - type: conditional
        conditions:
          - condition: numeric_state
            entity: sensor.p1_meter_vermogen
            above: -1
        card:
          type: custom:apexcharts-card
          chart_type: radialBar
          series:
            - entity: sensor.p1_meter_vermogen
              color: rgb(66,73,241)
              max: 5000
          apex_config:
            plotOptions:
              radialBar:
                offsetY: 0
                startAngle: 0
                endAngle: 360
                hollow:
                  margin: 15
                  size: 70
                  background: transparent
                dataLabels:
                  name:
                    show: true
                    offsetY: 35px
                    formatter: |
                      EVAL:function(value) {
                      return 'W';
                      }
                  value:
                    show: true
                    offsetY: -12
                    formatter: |
                      EVAL:function(value) {
                      return (value * 5000 / 100);
                      }
          card_mod:
            style: |
              ha-card {
                background: none;
                box-shadow: none;
                border: none;
                padding: 0;
                width: 300px;
              }
              .apexcharts-datalabel-value {
                font-size: 20px
              }
              .apexcharts-datalabel-label {
                font-size: 17px
              }
              ha-card::before {
                content: "";
                width: 20px;
                height: 20px;
                display: block;
                position: absolute;
                top: 18%;
                left: 47%;
                background-color: rgb(66,73,241); 
               -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>transmission-tower</title><path d="M8.28,5.45L6.5,4.55L7.76,2H16.23L17.5,4.55L15.72,5.44L15,4H9L8.28,5.45M18.62,8H14.09L13.3,5H10.7L9.91,8H5.38L4.1,10.55L5.89,11.44L6.62,10H17.38L18.1,11.45L19.89,10.56L18.62,8M17.77,22H15.7L15.46,21.1L12,15.9L8.53,21.1L8.3,22H6.23L9.12,11H11.19L10.83,12.35L12,14.1L13.16,12.35L12.81,11H14.88L17.77,22M11.4,15L10.5,13.65L9.32,18.13L11.4,15M14.68,18.12L13.5,13.64L12.6,15L14.68,18.12Z" /></svg>') no-repeat center;
                mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>transmission-tower</title><path d="M8.28,5.45L6.5,4.55L7.76,2H16.23L17.5,4.55L15.72,5.44L15,4H9L8.28,5.45M18.62,8H14.09L13.3,5H10.7L9.91,8H5.38L4.1,10.55L5.89,11.44L6.62,10H17.38L18.1,11.45L19.89,10.56L18.62,8M17.77,22H15.7L15.46,21.1L12,15.9L8.53,21.1L8.3,22H6.23L9.12,11H11.19L10.83,12.35L12,14.1L13.16,12.35L12.81,11H14.88L17.77,22M11.4,15L10.5,13.65L9.32,18.13L11.4,15M14.68,18.12L13.5,13.64L12.6,15L14.68,18.12Z" /></svg>') no-repeat center;
                -webkit-mask-size: contain;
                mask-size: contain;
              }
              #spinner-wrapper{
               display:none;
              }
      - type: conditional
        conditions:
          - condition: numeric_state
            entity: sensor.p1_meter_vermogen
            below: 0
        card:
          type: custom:apexcharts-card
          chart_type: radialBar
          series:
            - entity: sensor.p1_meter_vermogen
              color: rgb(30,227,137);
              max: -5000
          apex_config:
            plotOptions:
              radialBar:
                offsetY: 0
                startAngle: 0
                endAngle: 360
                hollow:
                  margin: 15
                  size: 70
                  background: transparent
                dataLabels:
                  name:
                    show: true
                    offsetY: 35px
                    formatter: |
                      EVAL:function(value) {
                      return 'W';
                      }
                  value:
                    show: true
                    offsetY: -12
                    formatter: |
                      EVAL:function(value) {
                      return (value * -5000 / 100);
                      }
          card_mod:
            style: |
              ha-card {
                background: none;
                box-shadow: none;
                border: none;
                padding: 0;
                width: 300px;
              }
              .apexcharts-datalabel-value {
                font-size: 20px
              }
              .apexcharts-datalabel-label {
                font-size: 17px
              }
               .apexcharts-radial-series {
                transform: scale(-1,1) translate(-93%)
              }

              ha-card::before {
                content: "";
                width: 20px;
                height: 20px;
                display: block;
                position: absolute;
                top: 18%;
                left: 47%;
                background-color:  rgb(30,227,137);
                -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>transmission-tower</title><path d="M8.28,5.45L6.5,4.55L7.76,2H16.23L17.5,4.55L15.72,5.44L15,4H9L8.28,5.45M18.62,8H14.09L13.3,5H10.7L9.91,8H5.38L4.1,10.55L5.89,11.44L6.62,10H17.38L18.1,11.45L19.89,10.56L18.62,8M17.77,22H15.7L15.46,21.1L12,15.9L8.53,21.1L8.3,22H6.23L9.12,11H11.19L10.83,12.35L12,14.1L13.16,12.35L12.81,11H14.88L17.77,22M11.4,15L10.5,13.65L9.32,18.13L11.4,15M14.68,18.12L13.5,13.64L12.6,15L14.68,18.12Z" /></svg>') no-repeat center;
                mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>transmission-tower</title><path d="M8.28,5.45L6.5,4.55L7.76,2H16.23L17.5,4.55L15.72,5.44L15,4H9L8.28,5.45M18.62,8H14.09L13.3,5H10.7L9.91,8H5.38L4.1,10.55L5.89,11.44L6.62,10H17.38L18.1,11.45L19.89,10.56L18.62,8M17.77,22H15.7L15.46,21.1L12,15.9L8.53,21.1L8.3,22H6.23L9.12,11H11.19L10.83,12.35L12,14.1L13.16,12.35L12.81,11H14.88L17.77,22M11.4,15L10.5,13.65L9.32,18.13L11.4,15M14.68,18.12L13.5,13.64L12.6,15L14.68,18.12Z" /></svg>') no-repeat center;
                -webkit-mask-size: contain;
                mask-size: contain;
              }
              #spinner-wrapper{
               display:none;
              }
    view_layout:
      grid-area: graph3
  - type: entity
    entity: sensor.batteries_totaal_export_vandaag
    view_layout:
      grid-area: graph4
    icon: mdi:battery-minus
    state_color: false
    name: " "
    unit: kWh
    card_mod:
      style: |
        ha-card {
          background: none;
          box-shadow: none;
          border: none;
          margin-top: 70px;
          padding: 0;
        }
        .header .icon {
          position: absolute;
          margin-left: 14%;
          margin-top: 10%;
          color: rgb(30,227,137)
        }
        .info .value {
          font-size: 14px !important;
          color: rgb(30,227,137)
        }
        .info .measurement {
          font-size: 13px;
          color: rgb(30,227,137)
        }
  - type: entity
    entity: sensor.batteries_totaal_import_vandaag
    view_layout:
      grid-area: graph5
    icon: mdi:battery-plus
    state_color: false
    name: " "
    unit: kWh
    card_mod:
      style: |
        ha-card {
          background: none;
          box-shadow: none;
          border: none;
          margin-top: -30px;
          padding: 0;
        }
        .header .icon {
          position: absolute;
          margin-left: 14%;
          margin-top: 20%;
          color: rgb(66,73,241)
        }
        .info .value {
          font-size: 14px !important;
          color: rgb(66,73,241)
        }
        .info .measurement {
          font-size: 13px;
          color: rgb(66,73,241)
        }
layout:
  grid-template-columns: 90px 210px
  grid-template-rows: 160px 185px
  grid-template-areas: |
    "graph1 graph2 graph4"
    "graph1 graph3 graph5"

Acties:
  • +4 Henk 'm!

  • RiDo78
  • Registratie: Juli 2002
  • Niet online
Ik ben even wezen prutsen aan mijn Sankey-kaart. Die maakt mooi inzichtelijk waar de energie vandaan komt en waar het naar toe gaat.
Afbeeldingslocatie: https://tweakers.net/i/wVjLSZv2HhftgLQb8zhjCHrz3dY=/800x/filters:strip_exif()/f/image/Wcz3XQeKt1oVtwAmJbSCrJQ3.png?f=fotoalbum_large
Dit voorbeeld geeft een live-weergave van het vermogen. Maar je kunt er ook een datum-prikker aanhangen (zoals bij de energy-pagina), de sensoren aanpassen van vermogen (W) naar import/export (kWh) en dan kun je het verbruik per dag zien.

Aangezien deze graph werkt op het actuele vermogen en die ook negatief kan zijn (zoals bij de kWh meter als de zonnepanelen erachter aan het opwekken zijn), heb je wel een paar templates nodig om te zorgen dat je enkel relevante positieve getallen krijgt.

Dus voor de batterij heb je er twee nodig:
Ontladen: (sensor.hw_mk_batterij1_ontladen)
code:
1
{% if(states('sensor.hw_mk_battery1_vermogen') | float) < 0 %} {{ (0 - ( states('sensor.hw_mk_battery1_vermogen') | float)) }}{% else %} 0 {% endif %}

Opladen: (sensor.hw_mk_batterij1_opladen)
code:
1
{% if(states('sensor.hw_mk_battery1_vermogen') | float) > 0 %} {{  ( states('sensor.hw_mk_battery1_vermogen') | float) }}{% else %} 0 {% endif %}

Ook voor je P1 meter heb je er twee nodig. Al kun je er voor kiezen om de positieve templates achterwege te laten; de huidige versie lijkt de negatieve waarden te negeren. Zo heb ik in mijn voorbeeld twee templates voor de batterij en een voor het net (teruglevering). Voor de levering heb ik de gewone active_power sensor van de P1 meter wat ook gewoon werkt.

Anyway, de kaart kun je hier vinden: https://github.com/MindFreeze/ha-sankey-chart
En dit is de config van het bovenstaande voorbeeld (maar wel met mijn sensoren er in). Let daarbij op het volgende:
• een sensor moet als 'Entity' gedefinieerd zijn en moet daarnaast bij de parent als child worden aangegeven.
• een entity zonder parent 'floating' zichtbaar wordt in de grafiek, maar als een parent verwijst naar een entity die je nog niet hebt uitgeschreven resulteert in een foutmelding. Dat laatste kun je (tijdelijk) oplossen met ignore_missing_entities: true op te nemen in de config.
• Elk niveau heet een 'section', de volgorde van de items in een section bepaalt de volgorde waarin ze getoond worden. Dus definieer je in sectie 3 eerst de woonkamer en dan de slaapkamer, definieer dan ook in sectie 4 eerst de verbruikers in de woonkamer en dan pas de slaapkamer. Anders krijg je kruisende lijnen.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
height: 600
unit_prefix: ""
round: 1
convert_units_to: ""
min_box_height: 3
min_box_distance: 5
show_states: true
show_units: true
sections:
  - entities:
      - type: entity
        children:
          - total
          - sensor.hw_mk_batterij1_opladen
          - sensor.hw_mk_p1_teruglevering
        entity_id: sensor.tpl_hw_zl_kwh_01_power_generated
        color: green
        name: Zon
      - type: entity
        children:
          - total
        entity_id: sensor.hw_mk_p1_01_active_power
        name: Net
        color: red
      - type: entity
        children:
          - total
        name: Batterij
        entity_id: sensor.hw_mk_batterij1_ontladen
        color: orange
  - entities:
      - type: entity
        children: []
        entity_id: sensor.hw_mk_batterij1_opladen
        name: Batterij
        color: orange
      - type: remaining_parent_state
        children:
          - keuken
          - meterkast
          - slaapkamer
          - zolder
          - woonkamer
          - unknown
        entity_id: total
        name: Total Consumption
      - type: entity
        children: []
        entity_id: sensor.hw_mk_p1_teruglevering
        name: Net
        color: red
  - entities:
      - type: remaining_child_state
        children:
          - sensor.hw_kk_koelkast_01_active_power
          - sensor.hw_kk_magnetron_01_active_power
          - sensor.hw_kk_vaatwasser_01_active_power
        entity_id: keuken
        name: Keuken
      - type: remaining_child_state
        children:
          - sensor.hw_mk_wk_switch_01_active_power
          - sensor.hw_mk_router_01_vermogen
          - sensor.hw_mk_aux_01_vermogen_2
        entity_id: meterkast
        name: Meterkast
      - type: remaining_child_state
        children:
          - sensor.hw_sk_nachtkastjes_01_active_power
          - sensor.hw_sk_tv_01_active_power
        entity_id: slaapkamer
        name: Slaapkamer
      - type: remaining_child_state
        children:
          - sensor.hw_zl_computer_02_vermogen_2
          - sensor.hw_zl_wasmachine_01_active_power
          - sensor.hw_zl_wasdroger_01_active_power
          - sensor.hw_zl_computer_01_active_power
          - sensor.hw_zl_cv_01_active_power
          - sensor.hw_zl_ventilatie_01_active_power
        entity_id: zolder
        name: Zolder
      - type: remaining_child_state
        children:
          - sensor.hw_wk_tvset_01_active_power
        entity_id: woonkamer
        name: Woonkamer
      - type: remaining_parent_state
        children: []
        entity_id: unknown
        name: Unknown
  - entities:
      - type: entity
        children: []
        entity_id: sensor.hw_kk_koelkast_01_active_power
        name: Koelkast
        color: darkred
      - type: entity
        children: []
        entity_id: sensor.hw_kk_magnetron_01_active_power
        name: Magnetron
      - type: entity
        children: []
        entity_id: sensor.hw_kk_vaatwasser_01_active_power
        name: Vaatwasser
      - entity_id: sensor.hw_mk_aux_01_vermogen_2
        name: Netwerk
        type: entity
      - type: entity
        name: Router
        entity_id: sensor.hw_mk_router_01_vermogen
      - type: entity
        entity_id: sensor.hw_mk_wk_switch_01_active_power
        name: WK-switch
      - type: entity
        children: []
        entity_id: sensor.hw_sk_nachtkastjes_01_active_power
        name: Nachtkastjes
      - type: entity
        children: []
        entity_id: sensor.hw_sk_tv_01_active_power
        name: TV
      - type: entity
        children: []
        entity_id: sensor.hw_zl_wasmachine_01_active_power
        name: Wasmachine
      - type: entity
        children: []
        entity_id: sensor.hw_zl_wasdroger_01_active_power
        name: Droger
      - type: entity
        children: []
        entity_id: sensor.hw_zl_computer_01_active_power
        name: Computer 1
      - type: entity
        children: []
        entity_id: sensor.hw_zl_cv_01_active_power
        name: CV
      - type: entity
        children: []
        entity_id: sensor.hw_zl_ventilatie_01_active_power
        name: Ventilatie
      - entity_id: sensor.hw_zl_computer_02_vermogen_2
        type: entity
        children: []
        name: Computer 2
      - type: entity
        children: []
        entity_id: sensor.hw_wk_tvset_01_active_power
        name: TV
energy_date_selection: false
type: custom:sankey-chart
min_state: 0
show_names: true
show_icons: false
wide: false

Acties:
  • +1 Henk 'm!

  • RiDo78
  • Registratie: Juli 2002
  • Niet online
Nogmaals, je kunt de sankey-kaart ook koppellen aan een datum-selector kaart, dat komt er dan zo uit te zien:
Afbeeldingslocatie: https://tweakers.net/i/9jV4rpNDeLNkH6mSBnA6Kv1O07w=/800x/filters:strip_exif()/f/image/IsJbZL5mFOJg7DpgUr64nLNB.png?f=fotoalbum_large

De code is nagenoeg hetzelfde als bovenstaand, maar alle entities moeten worden aangepast van *_active_power naar *_totale_energie_import (of soortgelijk) en regel 151 wordt: energy_date_selection: true
Bovendien heb je de datum-selector kaart nodig:
code:
1
type: energy-date-selection

Op die manier kun je het verbruik (en de opwek) over allehande perioden inzichtelijk maken.

Acties:
  • +1 Henk 'm!

  • RiDo78
  • Registratie: Juli 2002
  • Niet online
En tot slot wil ik jullie deze niet onthouden. De ingekorte versie voor wie geen losse energiemeters heeft:

Afbeeldingslocatie: https://tweakers.net/i/ap_nTZe8Z3_BOYAtXARj21VyUrU=/800x/filters:strip_exif()/f/image/SgTJjYeLJXV5GNsUiS8q2KcS.png?f=fotoalbum_large

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
height: 600
unit_prefix: k
round: 1
energy_date_selection: true
convert_units_to: ""
min_box_height: 3
min_box_distance: 5
show_states: true
show_units: true
type: custom:sankey-chart
min_state: 0
show_names: true
show_icons: false
wide: true
sections:
  - entities:
      - type: entity
        name: Zon
        icon: mdi:weather-sunny
        children:
          - total
          - sensor.hw_mk_battery1_energy_import
          - sensor.hw_mk_p1_01_total_power_export
        entity_id: sensor.hw_zl_kwh_01_total_power_export
        color: green
      - type: entity
        name: Net
        children:
          - total
        entity_id: sensor.hw_mk_p1_01_total_power_import
        color: red
      - type: entity
        name: Batterij
        children:
          - total
          - sensor.hw_mk_p1_01_total_power_export
        entity_id: sensor.hw_mk_battery1_energie_export
        color: orange
  - entities:
      - type: entity
        children: []
        entity_id: sensor.hw_mk_battery1_energy_import
        name: Batterij
        color: orange
      - type: entity
        children: []
        entity_id: sensor.hw_mk_p1_01_total_power_export
        name: Net
        color: red
      - type: remaining_parent_state
        children: []
        entity_id: total
        name: Total Consumption

Zo kun je mooi de verschillende stromen gedurende de ingestelde tijd inzichtelijk maken.

Ik zie bijvoorbeeld in één oogopslag dat ik 28 februari 2,4 kWh van het net heb geplukt. Had ik die dag dus nóg een volgeladen HW batterij gehad, had ik maar 0,3 kWh van het net geplukt. Een derde batterij was die dag dus overkill geweest. Tegelijkertijd waren mijn zonnepanelen niet in staat geweest om die batterij weer volledig te vullen. Dus was een tweede batterij wellicht ook al teveel van het goede.

Acties:
  • 0 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
RiDo78 schreef op dinsdag 4 maart 2025 @ 13:42:
En tot slot wil ik jullie deze niet onthouden. De ingekorte versie voor wie geen losse energiemeters heeft:

[Afbeelding]

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
height: 600
unit_prefix: k
round: 1
energy_date_selection: true
convert_units_to: ""
min_box_height: 3
min_box_distance: 5
show_states: true
show_units: true
type: custom:sankey-chart
min_state: 0
show_names: true
show_icons: false
wide: true
sections:
  - entities:
      - type: entity
        name: Zon
        icon: mdi:weather-sunny
        children:
          - total
          - sensor.hw_mk_battery1_energy_import
          - sensor.hw_mk_p1_01_total_power_export
        entity_id: sensor.hw_zl_kwh_01_total_power_export
        color: green
      - type: entity
        name: Net
        children:
          - total
        entity_id: sensor.hw_mk_p1_01_total_power_import
        color: red
      - type: entity
        name: Batterij
        children:
          - total
          - sensor.hw_mk_p1_01_total_power_export
        entity_id: sensor.hw_mk_battery1_energie_export
        color: orange
  - entities:
      - type: entity
        children: []
        entity_id: sensor.hw_mk_battery1_energy_import
        name: Batterij
        color: orange
      - type: entity
        children: []
        entity_id: sensor.hw_mk_p1_01_total_power_export
        name: Net
        color: red
      - type: remaining_parent_state
        children: []
        entity_id: total
        name: Total Consumption

Zo kun je mooi de verschillende stromen gedurende de ingestelde tijd inzichtelijk maken.

Ik zie bijvoorbeeld in één oogopslag dat ik 28 februari 2,4 kWh van het net heb geplukt. Had ik die dag dus nóg een volgeladen HW batterij gehad, had ik maar 0,3 kWh van het net geplukt. Een derde batterij was die dag dus overkill geweest. Tegelijkertijd waren mijn zonnepanelen niet in staat geweest om die batterij weer volledig te vullen. Dus was een tweede batterij wellicht ook al teveel van het goede.
Ziet er cool uit alleen snap ik batterij naar net net lijn niet? Zo lijkt het of je 0.8 kwh via batterijen aan het net geleverd heb of hoe moet ik dat zien?

Acties:
  • +2 Henk 'm!

  • RiDo78
  • Registratie: Juli 2002
  • Niet online
crryp schreef op donderdag 13 maart 2025 @ 17:39:
[...]

Ziet er cool uit alleen snap ik batterij naar net net lijn niet? Zo lijkt het of je 0.8 kwh via batterijen aan het net geleverd heb of hoe moet ik dat zien?
Verrek, je hebt gelijk! Dat was me niet opgevallen. Ik ben er even ingedoken en denk dat ik de oorzaak gevonden heb. Het was een screenshot van de situatie op een dag dat we net op vakantie waren en in huis praktisch geen verbruik was. Maar waarin ik wel als test om 1 uur 's nachts de batterij opdracht heb gegeven om zich vol te laden. Vandaar ook dat er 3,2 kWh de batterij in gaat en er maar 2,3 kWh uit kwam. (Dat ding was dus niet leeg aan het einde van de dag).

Die chart werkt eigenlijk gewoon met de gemeten waarden en probeert daar zo goed en kwaad als het kan een tekening van te maken. Maar hij weet dus niet of de opgewekte stoom daadwerkelijk naar het net gaat, de batterij in gaat of anders wordt geconsumeerd. En door die batterij 's nachts te laden (en door de zonproductie overdag) heeft het huis eens die batterij 's nachts vol was continu op batterij- of zonnestroom gelopen.

Geen wonder dat die chart het niet meer snapt ;)

Maar ter geruststelling, deze dag (25 feb.) was de enige die ik kon vinden met dat patroon.

Acties:
  • 0 Henk 'm!

  • gielz
  • Registratie: Februari 2012
  • Nu online
Heeft iemand hier al mooie RTE grafieken kunnen bouwen in apexcharts? Ik ben hier nu bezig om de data via statistics (max) te laten lopen in plaats van group by (last). Waardoor de grafieken (bijna) geen laadtijd meer zullen hebben.

6320wp | Zendure 2400 AC | Bambu A1 | 2x Hisense 2AMW-42U4RRA | Daikin RXM/FTXM35R | AQMOS BMX | Home Assistant OS op DS224+


Acties:
  • 0 Henk 'm!

  • Stabyhoun1991
  • Registratie: Maart 2025
  • Laatst online: 02-04 13:56
RiDo78 schreef op dinsdag 4 maart 2025 @ 13:24:
Nogmaals, je kunt de sankey-kaart ook koppellen aan een datum-selector kaart, dat komt er dan zo uit te zien:
[Afbeelding]
Ik ben ook met de Sankey chart bezig. Ik wil daarin alleen ook toevoegen dat het stukje energie dat je verliest tussen laden en ontladen van de batterij ook zichtbaar wordt als gebruiker. Dat zit nu opgesloten in het stuk unknown. In jouw voorbeeld dus 2,9-2,2= 0,7kwh.

Heb jij daar inspiratie voor? Ik krijg dat nog niet voor elkaar.... :/

Ik had een helper aangemaakt die de energiehoeveelheid van elkaar aftrekt, maar die rekent over het totaal van de opgeslagen energie (dus begin van gebruik van de batterij), en niet het dagelijkse beeld.

Acties:
  • 0 Henk 'm!

  • gielz
  • Registratie: Februari 2012
  • Nu online
Nutsmeter export en import maken die dagelijks resetten. Of denk ik nu te simpel :P
Stabyhoun1991 schreef op woensdag 19 maart 2025 @ 16:36:
[...]


Ik ben ook met de Sankey chart bezig. Ik wil daarin alleen ook toevoegen dat het stukje energie dat je verliest tussen laden en ontladen van de batterij ook zichtbaar wordt als gebruiker. Dat zit nu opgesloten in het stuk unknown. In jouw voorbeeld dus 2,9-2,2= 0,7kwh.

Heb jij daar inspiratie voor? Ik krijg dat nog niet voor elkaar.... :/

Ik had een helper aangemaakt die de energiehoeveelheid van elkaar aftrekt, maar die rekent over het totaal van de opgeslagen energie (dus begin van gebruik van de batterij), en niet het dagelijkse beeld.

6320wp | Zendure 2400 AC | Bambu A1 | 2x Hisense 2AMW-42U4RRA | Daikin RXM/FTXM35R | AQMOS BMX | Home Assistant OS op DS224+


Acties:
  • 0 Henk 'm!

  • crryp
  • Registratie: Juli 2012
  • Nu online
Nee je denkt niet te simpel, nutsmeter aanmaken op basis van de template die je nu hebt gemaakt en die dagelijks laten resetten dat zou moeten werken.

Acties:
  • 0 Henk 'm!

  • -daan-
  • Registratie: April 2022
  • Laatst online: 17-06 14:56
Eindelijk ook mijn batterij binnen, wat mij opvalt is een RTE van 75% deze is vooral zo laag tijdens het ontladen. Waarschijnlijk door de geringe afname van 100-150W

Zelf bereken ik de RTE nu totaal gezien dit het meest nauwkeurig is. Wel wil ik binnenkort uitbreiden naar een RTE per volledige cyclus.

Heeft iemand al zelf de SOC en SOH bepaald i.p.v de standaard van homewizard?

Ik draai trouwens mijn grafieken in plotly:
Afbeeldingslocatie: https://tweakers.net/i/9ioeRiY28Iyw85Jk-YXqCPbmC-c=/800x/filters:strip_exif()/f/image/5jlLuN1wiJmFZgNu3zYNjvii.png?f=fotoalbum_large
Hierin is NOM de duur per dag in percentage dat ik 0 afneem van het net, in tijd.
Binnenkort ook maar een tijd aanmaken voor de langste duur NOM gedraaid.

Weet iemand al wanneer er meer informatie beschikbaar komt via de app of API. Zou toch wel graag minstens dat alles OK signaal via HA krijgen.

Acties:
  • 0 Henk 'm!
-daan- schreef op woensdag 30 april 2025 @ 11:44:
Eindelijk ook mijn batterij binnen, wat mij opvalt is een RTE van 75% deze is vooral zo laag tijdens het ontladen. Waarschijnlijk door de geringe afname van 100-150W

Zelf bereken ik de RTE nu totaal gezien dit het meest nauwkeurig is. Wel wil ik binnenkort uitbreiden naar een RTE per volledige cyclus.

Heeft iemand al zelf de SOC en SOH bepaald i.p.v de standaard van homewizard?

Ik draai trouwens mijn grafieken in plotly:
[Afbeelding]
Hierin is NOM de duur per dag in percentage dat ik 0 afneem van het net, in tijd.
Binnenkort ook maar een tijd aanmaken voor de langste duur NOM gedraaid.

Weet iemand al wanneer er meer informatie beschikbaar komt via de app of API. Zou toch wel graag minstens dat alles OK signaal via HA krijgen.
hier op het topic zie je vaak een RTE van rond de 75-76% voor deze PiB. dat is dus geen afwijking maar lijkt gewoon op dit moment de standaard te zijn. sorry als ik je verwachting hiermee een beetje teleurgesteld heb.

Quatt WP 4,5 kW - Atag CV ketel - Honeywell T6 - 23 panelen SolarEdge


Acties:
  • 0 Henk 'm!

  • mikemm
  • Registratie: April 2011
  • Laatst online: 16-06 23:18
Hi @Devke of @gielz hebben jullie al een ervaring kunnen opdoen met de cheapest hour macro?
Probeer wel iets, maar snap niet helemaal hoe het gebruikt moet worden.

Iemand wat tips of voorbeelden?

Acties:
  • 0 Henk 'm!
mikemm schreef op zaterdag 10 mei 2025 @ 09:41:
Hi @Devke of @gielz hebben jullie al een ervaring kunnen opdoen met de cheapest hour macro?
Probeer wel iets, maar snap niet helemaal hoe het gebruikt moet worden.

Iemand wat tips of voorbeelden?
Zie je DM.

Acties:
  • 0 Henk 'm!

  • mikemm
  • Registratie: April 2011
  • Laatst online: 16-06 23:18
Ah bedankt ik ga er even naar kijken.

Acties:
  • +2 Henk 'm!

  • TFX77
  • Registratie: September 2008
  • Laatst online: 13:25
Gaat lekker. Nu een maand of drie twee Plug-In Batteries.

Afbeeldingslocatie: https://tweakers.net/i/i4DKUkmUNN2EcJgO2jEObSfkZd4=/800x/filters:strip_icc():strip_exif()/f/image/3fJVXXAKfr53V3uHHhjCyONI.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/i0IKBFgr0Ml-v2m6hIexW1eJ4xI=/800x/filters:strip_icc():strip_exif()/f/image/cWcXrRQhwxMmdwnE6tRvuqLx.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/wNGVa4ubAJpn-8bv0XNwGDgkBwQ=/800x/filters:strip_icc():strip_exif()/f/image/kIa96AfuRIBwGNKG80dO9zAM.jpg?f=fotoalbum_large

13 x 260Wp ReneSola All Black op een SolarEdge SE3000 Live

Pagina: 1