Fix dashboard cards — split into 3 usable blocks, remove broken templates
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
87f078ba72
commit
0e6f5fc510
+35
-34
@@ -1,45 +1,48 @@
|
|||||||
# EMHASS Dashboard Card
|
# EMHASS Dashboard Cards
|
||||||
# Add this to your dashboard (Dashboard → Edit → Add Card → Manual)
|
# These are 3 separate cards — add each block individually:
|
||||||
|
# Dashboard → Edit → Add Card → Manual → paste one block at a time
|
||||||
|
|
||||||
|
# ─── CARD 1: EMHASS Energy Status ────────────────────────────────────────────
|
||||||
type: entities
|
type: entities
|
||||||
title: EMHASS Energy Status
|
title: EMHASS Energy Status
|
||||||
show_header_toggle: false
|
show_header_toggle: false
|
||||||
entities:
|
entities:
|
||||||
# Current Status
|
|
||||||
- type: section
|
- type: section
|
||||||
label: Current Status
|
label: Current Status
|
||||||
- entity: sensor.current_hour_price
|
- entity: sensor.current_hour_price
|
||||||
name: Current Price
|
name: Current Price
|
||||||
icon: mdi:cash
|
icon: mdi:cash
|
||||||
secondary_info: "{{ state_attr('sensor.nordpool_kwh_lv_eur_3_10_021', 'low_price') }}"
|
|
||||||
- entity: sensor.battery_power_state
|
- entity: sensor.battery_power_state
|
||||||
name: Battery State
|
name: Battery State
|
||||||
icon: >
|
icon: mdi:battery
|
||||||
{% if is_state('sensor.battery_power_state', 'charging') %}mdi:battery-charging
|
|
||||||
{% elif is_state('sensor.battery_power_state', 'discharging') %}mdi:battery-minus
|
|
||||||
{% else %}mdi:battery{% endif %}
|
|
||||||
- entity: sensor.deye_inverter_mqtt_battery_soc
|
- entity: sensor.deye_inverter_mqtt_battery_soc
|
||||||
name: Battery SOC
|
name: Battery SOC
|
||||||
icon: mdi:battery-{{ (states('sensor.deye_inverter_mqtt_battery_soc') | float(0) / 10) | round(0) | int }}0
|
icon: mdi:battery-50
|
||||||
- entity: sensor.deye_inverter_mqtt_battery_power
|
- entity: sensor.deye_inverter_mqtt_battery_power
|
||||||
name: Battery Power
|
name: Battery Power
|
||||||
secondary_info: "Target: {{ states('sensor.soc_batt_forecast') }}%"
|
icon: mdi:lightning-bolt
|
||||||
|
|
||||||
|
- type: section
|
||||||
|
label: EMHASS Forecast
|
||||||
|
- entity: sensor.p_pv_forecast
|
||||||
|
name: PV Forecast
|
||||||
|
icon: mdi:solar-power
|
||||||
|
- entity: sensor.p_load_forecast
|
||||||
|
name: Load Forecast
|
||||||
|
icon: mdi:home-lightning-bolt
|
||||||
|
- entity: sensor.p_grid_forecast
|
||||||
|
name: Grid Forecast
|
||||||
|
icon: mdi:transmission-tower
|
||||||
|
- entity: sensor.soc_batt_forecast
|
||||||
|
name: SOC Target (end of day)
|
||||||
|
icon: mdi:target
|
||||||
|
|
||||||
# Forecast Comparison
|
|
||||||
- type: section
|
- type: section
|
||||||
label: Forecast vs Reality
|
label: Forecast vs Reality
|
||||||
- entity: sensor.battery_soc_forecast_error
|
- entity: sensor.battery_soc_forecast_error
|
||||||
name: SOC Forecast Error
|
name: SOC Forecast Error
|
||||||
icon: >
|
icon: mdi:chart-bell-curve
|
||||||
{% set err = states('sensor.battery_soc_forecast_error') | float(0) %}
|
|
||||||
{% if err | abs < 5 %}mdi:check-circle
|
|
||||||
{% elif err | abs < 10 %}mdi:alert-circle
|
|
||||||
{% else %}mdi:alert-octagon{% endif %}
|
|
||||||
- entity: sensor.soc_batt_forecast
|
|
||||||
name: Target SOC (Forecast)
|
|
||||||
icon: mdi:target
|
|
||||||
|
|
||||||
# Daily Totals
|
|
||||||
- type: section
|
- type: section
|
||||||
label: Today
|
label: Today
|
||||||
- entity: sensor.deye_inverter_mqtt_daily_production
|
- entity: sensor.deye_inverter_mqtt_daily_production
|
||||||
@@ -61,27 +64,25 @@ entities:
|
|||||||
name: Load Consumption
|
name: Load Consumption
|
||||||
icon: mdi:home-lightning-bolt
|
icon: mdi:home-lightning-bolt
|
||||||
|
|
||||||
---
|
# ─── CARD 2: Battery SOC — Actual vs Forecast (history graph) ────────────────
|
||||||
# Alternative: Compact History Graph
|
|
||||||
type: history-graph
|
type: history-graph
|
||||||
title: Battery SOC: Actual vs Forecast
|
title: Battery SOC — Actual vs Forecast
|
||||||
entities:
|
entities:
|
||||||
- entity: sensor.deye_inverter_mqtt_battery_soc
|
- entity: sensor.deye_inverter_mqtt_battery_soc
|
||||||
name: Actual
|
name: Actual SOC
|
||||||
color: "#4CAF50"
|
|
||||||
- entity: sensor.soc_batt_forecast
|
- entity: sensor.soc_batt_forecast
|
||||||
name: Forecast
|
name: Forecast Target
|
||||||
color: "#FF9800"
|
|
||||||
hours_to_show: 48
|
hours_to_show: 48
|
||||||
refresh_interval: 300
|
refresh_interval: 300
|
||||||
|
|
||||||
---
|
# ─── CARD 3: NordPool Prices ──────────────────────────────────────────────────
|
||||||
# Price Timeline Card
|
|
||||||
type: entities
|
type: entities
|
||||||
title: Price Timeline
|
title: NordPool Prices
|
||||||
entities:
|
show_header_toggle: false
|
||||||
- type: custom:timeline-card
|
|
||||||
entities:
|
entities:
|
||||||
- entity: sensor.nordpool_kwh_lv_eur_3_10_021
|
- entity: sensor.nordpool_kwh_lv_eur_3_10_021
|
||||||
name: NordPool Price
|
name: Current Price
|
||||||
title: Spot Price Timeline
|
icon: mdi:currency-eur
|
||||||
|
- entity: sensor.current_hour_price
|
||||||
|
name: All-in Price (incl. VAT)
|
||||||
|
icon: mdi:cash
|
||||||
|
|||||||
Reference in New Issue
Block a user