HA Dashboard Code - Kieft-C/Zendure-BKW-PV GitHub Wiki
Hier mein gesamter Dashboard Code. (Stand 22.09.2025)
Als Dashboard Integrationen aus HACS habe ich geladen: https://github.com/spacerokk/bar-card
- für die Bars rechts unten, Temperatur Anzeige
https://github.com/AmoebeLabs/flex-horseshoe-card
- für einzel Batterie Anzeigen, inkl. Temperatur, Max/MinV, Strom, Gesamtspannung etc.
https://github.com/kalkih/mini-graph-card
- für die Batterie Anzeige (2 Tage) inkl. SoC aktuelles Level und MaxSoC Level als Hintergrund Shape
https://github.com/Zendure/Zendure-HA
- um überhaupt die Daten zu erhalten und zudem local MQTT zu nutzen und Smartmatch Mode via HA steuern/regeln zu lassen
https://github.com/FL550/dwd_weather
- für Wetter Anzeige 0815
https://github.com/BJReplay/ha-solcast-solar
- für die Vorhersage welche kwh ich in den kommenden 7 Tagen zu erwarten habe
https://github.com/dropqube/pv-forecast-card
- um die Vorhersage von Solcast darzustellen in Balken plus einen marker zu haben, wo man am aktuellen Tag sich befindet und noch Rest kwh zu erwarten hat an PV
https://iamklaus.org/de/shelly-3em-photovoltaik-home-assistant-saldieren/
- für Shelly 3EM (pro) saldierung und korrekter Daten erfassung zur Fütterung des Energy Dashboards
type: sections
title: PV
cards: []
sections:
- type: grid
cards:
- show_current: true
show_forecast: true
type: weather-forecast
entity: weather.hamburg_fu
forecast_type: daily
secondary_info_attribute: humidity
forecast_slots: 5
grid_options:
columns: 12
rows: 3
- type: heading
icon: mdi:solar-panel
heading: Max PV expected kWh/day
heading_style: subtitle
- type: custom:clock-pv-forecast-card
display_mode: weekday
date_format: long
remaining_indicator: marker
entity_remaining: sensor.solcast_pv_forecast_prognose_verbleibende_leistung_heute
entity_today: sensor.solcast_pv_forecast_prognose_heute
entity_tomorrow: sensor.solcast_pv_forecast_prognose_morgen
entity_day3: sensor.solcast_pv_forecast_prognose_tag_3
entity_day4: sensor.solcast_pv_forecast_prognose_tag_4
entity_day5: sensor.solcast_pv_forecast_prognose_tag_5
entity_day6: sensor.solcast_pv_forecast_prognose_tag_6
entity_day7: sensor.solcast_pv_forecast_prognose_tag_7
animation_duration: 0.5s
bar_color_start: "#ff5000"
bar_color_end: "#00cc66"
gradient_fixed: true
remaining_color_start: "#e67e22"
remaining_color_end: "#f1c40f"
remaining_threshold: 5
remaining_blink: true
remaining_low_color_start: "#FF0000"
remaining_low_color_end: "#ffa500"
remaining_label: false
max_value: 7
show_tooltips: true
- type: heading
icon: mdi:solar-panel
heading: Max PV W now
heading_style: subtitle
- type: horizontal-stack
cards:
- type: custom:flex-horseshoe-card
entities:
- entity: sensor.reducedpv_sensor_2
area: PV1
show:
horseshoe_style: lineargradient
layout:
states:
- id: 0
entity_index: 0
xpos: 50
ypos: 53
styles:
- font-size: 4.5em;
areas:
- id: 0
entity_index: 0
xpos: 50
ypos: 75
styles:
- font-size: 2.5em;
horseshoe_scale:
min: 0
max: 700
color_stops:
"150": red
"250": orange
"400": green
- type: custom:flex-horseshoe-card
entities:
- entity: sensor.reducedpv_sensor
area: PV1+2
show:
horseshoe_style: lineargradient
layout:
states:
- id: 0
entity_index: 0
xpos: 50
ypos: 53
styles:
- font-size: 4.5em;
areas:
- id: 0
entity_index: 0
xpos: 50
ypos: 75
styles:
- font-size: 2.5em;
horseshoe_scale:
min: 0
max: 1500
color_stops:
"300": red
"600": orange
"1000": green
- type: custom:flex-horseshoe-card
entities:
- entity: sensor.reducedpv_sensor_3
area: PV2
show:
horseshoe_style: lineargradient
layout:
states:
- id: 0
entity_index: 0
xpos: 50
ypos: 53
styles:
- font-size: 4.5em;
areas:
- id: 0
entity_index: 0
xpos: 50
ypos: 75
styles:
- font-size: 2.5em;
horseshoe_scale:
min: 0
max: 700
color_stops:
"150": red
"250": orange
"400": green
- type: heading
icon: mdi:solar-panel
heading: Max PV Wp
heading_style: subtitle
- chart_type: bar
period: month
type: statistics-graph
entities:
- sensor.hyper_2000_solar_input_power
- sensor.hyper_2000_solar_power1
- sensor.hyper_2000_solar_power2
stat_types:
- max
hide_legend: true
logarithmic_scale: false
days_to_show: 365
grid_options:
rows: 2
columns: full
column_span: 1
- type: grid
cards:
- square: false
type: grid
cards:
- type: gauge
entity: sensor.hyper_2000_output_home_power
name: Leistung an Whg
needle: true
max: 1200
severity:
green: 0
yellow: 300
red: 600
- type: custom:flex-horseshoe-card
entities:
- entity: sensor.hyper_2000_pack_input_power
area: P aus Bat
- entity: sensor.ab_discharge_real
area: AB real
show:
horseshoe_style: lineargradient
layout:
states:
- id: 0
entity_index: 0
xpos: 50
ypos: 50
styles:
- font-size: 4.0em;
- id: 1
entity_index: 1
xpos: 50
ypos: 70
styles:
- font-size: 2.5em;
areas:
- id: 0
entity_index: 0
xpos: 50
ypos: 95
styles:
- font-size: 2.5em;
horseshoe_scale:
min: 0
max: 1200
color_stops:
"300": red
"600": green
- type: custom:flex-horseshoe-card
entities:
- entity: sensor.hyper_2000_output_pack_power
area: P in Bat
- entity: sensor.ab_charge_real
area: AB real
show:
horseshoe_style: lineargradient
layout:
states:
- id: 0
entity_index: 0
xpos: 50
ypos: 50
styles:
- font-size: 4.0em;
- id: 1
entity_index: 1
xpos: 50
ypos: 70
styles:
- font-size: 2.5em;
areas:
- id: 0
entity_index: 0
xpos: 50
ypos: 95
styles:
- font-size: 2.5em;
horseshoe_scale:
min: 0
max: 800
color_stops:
"200": red
"400": green
columns: 3
- type: custom:mini-graph-card
name: Σ Batterie [2d]
entities:
- entity: number.hyper_2000_soc_set
show_line: false
show_points: false
show_state: true
- entity: sensor.hyper_2000_electric_level
show_line: true
show_points: true
show_state: true
color_thresholds:
- value: 75
color: "#008800"
- value: 50
color: "#d35400"
- value: 25
color: "#ff0000"
hours_to_show: 48
line_width: 2
smoothing: false
points_per_hour: 60
show:
name: true
labels: true
legend: false
show_indicator: true
font_size: 55
align_state: right
align_header: center
align_icon: left
font_size_header: 15
- type: tile
entity: input_datetime.letzte_mal_100_erreicht
features_position: bottom
vertical: false
grid_options:
columns: 12
rows: 1
- square: false
type: grid
cards:
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: custom:flex-horseshoe-card
entities:
- entity: sensor.b*******************6_soc_level
area: AB1000S
- entity: sensor.b*******************6_min_vol
- entity: sensor.b*******************6_max_vol
- entity: sensor.b*******************6_max_temp
- entity: sensor.b*******************6_power
- entity: sensor.b*******************6_batcur
- entity: sensor.b*******************6_total_vol
show:
horseshoe_style: lineargradient
layout:
states:
- id: 0
entity_index: 0
xpos: 50
ypos: 57
styles:
- font-size: 4.0em;
- id: 1
entity_index: 1
xpos: 31
ypos: 35
styles:
- font-size: 1.5em;
- id: 2
entity_index: 2
xpos: 70
ypos: 35
styles:
- font-size: 1.5em;
- id: 3
entity_index: 3
xpos: 50
ypos: 23
styles:
- font-size: 1.5em;
- id: 4
entity_index: 4
xpos: 50
ypos: 93
styles:
- font-size: 1.5em;
- opacity: 0.75;
- id: 5
entity_index: 5
xpos: 17
ypos: 93
styles:
- font-size: 1.5em;
- opacity: 0.75;
- id: 6
entity_index: 6
xpos: 85
ypos: 93
styles:
- font-size: 1.5em;
- opacity: 0.75;
areas:
- id: 0
entity_index: 0
xpos: 50
ypos: 75
styles:
- font-size: 1.75em;
horseshoe_scale:
min: 0
max: 100
color_stops:
"40": red
"100": green
- type: custom:mini-graph-card
entities:
- entity: sensor.b*******************6_min_vol
name: AB1000S (Min/MaxV)
show_state: false
hours_to_show: 168
smoothing: false
show:
fill: false
labels: true
extrema: true
graph: false
name: false
icon: false
legend: false
state: false
font_size: 80
font_size_header: 10
- type: custom:mini-graph-card
entities:
- entity: sensor.b*******************6_max_vol
show_state: false
- entity: sensor.b*******************6_max_vol
show_state: false
hours_to_show: 168
smoothing: false
show:
fill: false
labels: true
extrema: true
graph: false
name: false
icon: false
legend: false
state: false
font_size: 80
font_size_header: 10
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: custom:flex-horseshoe-card
entities:
- entity: sensor.c*******************9_soc_level
area: AB2000 I
- entity: sensor.c*******************9_min_vol
- entity: sensor.c*******************9_max_vol
- entity: sensor.c*******************9_max_temp
- entity: sensor.c*******************9_power
- entity: sensor.c*******************9_batcur
- entity: sensor.c*******************9_total_vol
show:
horseshoe_style: lineargradient
layout:
states:
- id: 0
entity_index: 0
xpos: 50
ypos: 57
styles:
- font-size: 4.0em;
- id: 1
entity_index: 1
xpos: 31
ypos: 35
styles:
- font-size: 1.5em;
- id: 2
entity_index: 2
xpos: 70
ypos: 35
styles:
- font-size: 1.5em;
- id: 3
entity_index: 3
xpos: 50
ypos: 23
styles:
- font-size: 1.5em;
- id: 4
entity_index: 4
xpos: 50
ypos: 93
styles:
- font-size: 1.5em;
- opacity: 0.75;
- id: 5
entity_index: 5
xpos: 17
ypos: 93
styles:
- font-size: 1.5em;
- opacity: 0.75;
- id: 6
entity_index: 6
xpos: 85
ypos: 93
styles:
- font-size: 1.5em;
- opacity: 0.75;
areas:
- id: 0
entity_index: 0
xpos: 50
ypos: 75
styles:
- font-size: 1.75em;
horseshoe_scale:
min: 0
max: 100
color_stops:
"40": red
"100": green
- type: custom:mini-graph-card
entities:
- entity: sensor.c*******************9_min_vol
show_state: false
name: AB2000 (Min/MaxV)
hours_to_show: 168
show:
fill: false
labels: false
extrema: true
graph: false
name: false
icon: false
legend: true
state: false
font_size: 80
font_size_header: 10
- type: custom:mini-graph-card
entities:
- entity: sensor.c*******************9_max_vol
show_state: false
name: AB2000 (Min/MaxV)
hours_to_show: 168
show:
fill: false
labels: false
extrema: true
graph: false
name: false
icon: false
legend: true
state: false
font_size: 80
font_size_header: 10
- type: vertical-stack
cards:
- type: custom:flex-horseshoe-card
entities:
- entity: sensor.c*******************6_soc_level
area: AB2000 II
- entity: sensor.c*******************6_min_vol
- entity: sensor.c*******************6_max_vol
- entity: sensor.c*******************6_max_temp
- entity: sensor.c*******************6_power
- entity: sensor.c*******************9_batcur
- entity: sensor.c*******************6_total_vol
show:
horseshoe_style: lineargradient
layout:
states:
- id: 0
entity_index: 0
xpos: 50
ypos: 57
styles:
- font-size: 4.0em;
- id: 1
entity_index: 1
xpos: 31
ypos: 35
styles:
- font-size: 1.5em;
- id: 2
entity_index: 2
xpos: 70
ypos: 35
styles:
- font-size: 1.5em;
- id: 3
entity_index: 3
xpos: 50
ypos: 23
styles:
- font-size: 1.5em;
- id: 4
entity_index: 4
xpos: 50
ypos: 93
styles:
- font-size: 1.5em;
- opacity: 0.75;
- id: 5
entity_index: 5
xpos: 17
ypos: 93
styles:
- font-size: 1.5em;
- opacity: 0.75;
- id: 6
entity_index: 6
xpos: 85
ypos: 93
styles:
- font-size: 1.5em;
- opacity: 0.75;
areas:
- id: 0
entity_index: 0
xpos: 50
ypos: 75
styles:
- font-size: 1.75em;
horseshoe_scale:
min: 0
max: 100
color_stops:
"40": red
"100": green
- type: custom:mini-graph-card
entities:
- entity: sensor.c*******************6_min_vol
name: Niedrigste Zelle
show_state: false
- entity: sensor.c*******************6_max_vol
show_state: false
hours_to_show: 168
smoothing: false
show:
fill: false
labels: true
extrema: true
graph: false
name: false
icon: false
legend: true
state: false
font_size: 80
font_size_header: 10
- type: custom:mini-graph-card
entities:
- entity: sensor.c*******************6_max_vol
name: AB2000
show_state: false
hours_to_show: 168
smoothing: false
show:
fill: false
labels: true
extrema: true
graph: false
name: false
icon: false
legend: true
state: false
font_size: 80
font_size_header: 10
grid_options:
columns: 12
rows: auto
columns: 3
column_span: 1
- type: grid
cards:
- type: energy-distribution
link_dashboard: true
- type: energy-usage-graph
- type: history-graph
entities:
- entity: sensor.hyper_2000_output_home_power
- entity: sensor.shellypro3em_a*************0_total_active_power
- entity: sensor.ab_discharge_real
- entity: sensor.hyper_2000_pack_input_power
hours_to_show: 2
grid_options:
columns: 12
rows: 4
- type: grid
cards:
- square: false
type: grid
cards:
- type: gauge
entity: sensor.shellypro3em_a*************0_total_active_power
needle: false
max: 3500
name: Restbezug (Shelly)
- type: energy-self-sufficiency-gauge
- type: energy-solar-consumed-gauge
columns: 3
- square: false
type: grid
cards:
- type: tile
entity: select.zendure_manager_operation
features_position: bottom
vertical: false
- type: tile
features_position: bottom
vertical: false
entity: sensor.hyper_2000_connection_status
name: Zendure Integration
show_entity_picture: false
hide_state: false
icon: mdi:transit-connection-variant
color: green
- type: tile
features_position: bottom
vertical: false
entity: sensor.zene1_85_nearest_rssi
name: Zendure Integration
show_entity_picture: false
hide_state: false
icon: mdi:bluetooth-connect
color: light-blue
- type: tile
show_entity_picture: false
hide_state: false
vertical: false
entity: select.hyper_2000_connection
features_position: bottom
name: Hyper Conn.
columns: 2
- type: horizontal-stack
cards:
- type: tile
name: Heat ABs
show_entity_picture: false
hide_state: false
vertical: false
entity: binary_sensor.hyper_2000_heat_state
features_position: bottom
- type: tile
show_entity_picture: true
vertical: false
name: HypWifi
features_position: bottom
entity: binary_sensor.hyper_2000_wifi_state
- type: tile
features_position: bottom
vertical: false
entity: sensor.hyper_2000_pack_state
name: HypStatus
icon: mdi:auto-mode
- type: horizontal-stack
cards:
- type: tile
show_entity_picture: false
hide_state: false
vertical: false
entity: binary_sensor.hyper_2000_pass
features_position: bottom
name: Bypass
- type: tile
entity: sensor.electriclevel_at_100_time
features_position: bottom
vertical: false
name: Count 100% in 10d
hide_state: false
show_entity_picture: false
- type: horizontal-stack
cards:
- type: tile
entity: sensor.hyper_2000_remaining_time
vertical: false
hide_state: false
show_entity_picture: false
features_position: bottom
name: t bis MinSoC
- type: tile
entity: sensor.hyper_2000_available_kwh
vertical: false
hide_state: false
show_entity_picture: false
features_position: bottom
name: verfügbare Energie
- type: tile
show_entity_picture: true
vertical: false
entity: sensor.energy_import_daily
name: Import Daily
- type: tile
show_entity_picture: true
vertical: false
entity: sensor.energy_import_monthly
name: Import Montly
- type: tile
show_entity_picture: true
vertical: false
entity: sensor.energy_export_daily
name: Export Daily
- type: tile
show_entity_picture: true
vertical: false
entity: sensor.energy_export_monthly
name: Export Monthly
- type: horizontal-stack
cards:
- type: tile
show_entity_picture: false
hide_state: false
vertical: false
entity: sensor.pv_kwh_tag
features_position: bottom
name: PV Day
- type: tile
show_entity_picture: true
vertical: false
name: PV Month
features_position: bottom
entity: sensor.pv_kwh_monat
- type: tile
features_position: bottom
vertical: false
entity: sensor.pv_kwh_jahr
name: PV Jahr
- type: custom:bar-card
entities:
- entity: sensor.aussentemperatur_www
name: Außentemp.
- entity: sensor.shellypro3em_a*************0_temperature
name: Shelly 3EM Pro
max: 50
positions:
icon: "off"
name: outside
severity:
- color: Red
from: 41
to: 50
- color: orange
from: 26
to: 40
- color: steelblue
from: 0
to: 25
height: 20px
width: 75%
- type: custom:bar-card
entities:
- entity: sensor.hyper_2000_hyper_tmp
name: Hyper2000
- entity: sensor.b*******************6_max_temp
name: AB1000
- entity: sensor.c*******************9_max_temp
name: AB2000 I
- entity: sensor.c*******************6_max_temp
name: AB2000 II
max: 55
positions:
name: outside
icon: "off"
severity:
- color: steelblue
from: 0
to: 25
- color: orange
from: 26
to: 40
- color: Red
from: 41
to: 55
height: 20px
width: 75%
max_columns: 4
dense_section_placement: true
subview: false