Files
battery-charging-optimizer/legacy/v2/battery_optimizer_dashboard.yaml

114 lines
3.9 KiB
YAML

# ============================================
# Battery Charging Optimizer - Dashboard
# ============================================
# Füge diese Cards zu deinem Lovelace Dashboard hinzu
type: vertical-stack
cards:
# Status-Übersicht
- type: entities
title: Batterie-Optimierung Status
show_header_toggle: false
entities:
- entity: input_boolean.battery_optimizer_enabled
name: Optimierung aktiviert
- entity: input_boolean.battery_optimizer_manual_override
name: Manuelle Überschreibung
- entity: input_text.battery_optimizer_status
name: Status
# Manuelle Steuerung (dein bestehendes System)
- type: entities
title: Manuelle Steuerung
show_header_toggle: false
entities:
- entity: input_boolean.goodwe_manual_control
name: Manueller Modus
- entity: input_number.charge_power_battery
name: Ladeleistung
- type: divider
- entity: sensor.esssoc
name: Batterie SOC
- entity: sensor.battery_power
name: Batterie Leistung
# Konfiguration
- type: entities
title: Optimierungs-Einstellungen
show_header_toggle: false
entities:
- entity: input_number.battery_capacity_kwh
name: Batterie-Kapazität
- entity: input_number.battery_optimizer_min_soc
name: Min. SOC
- entity: input_number.battery_optimizer_max_soc
name: Max. SOC
- entity: input_number.battery_optimizer_max_charge_power
name: Max. Ladeleistung
- type: divider
- entity: input_number.battery_optimizer_price_threshold
name: Preis-Schwellwert
- entity: input_number.battery_optimizer_reserve_capacity
name: Reserve-Kapazität
- entity: input_number.battery_optimizer_pv_threshold
name: PV-Schwellwert
# Aktionen
- type: entities
title: Aktionen
show_header_toggle: false
entities:
- type: button
name: Plan neu berechnen
icon: mdi:refresh
tap_action:
action: call-service
service: pyscript.calculate_charging_schedule
- type: button
name: Plan jetzt ausführen
icon: mdi:play
tap_action:
action: call-service
service: pyscript.execute_charging_schedule
# Ladeplan-Tabelle
- type: markdown
title: Geplante Ladungen (nächste 24h)
content: >
{% set schedule = state_attr('pyscript.battery_charging_schedule', 'schedule') %}
{% if schedule %}
{% set charges = schedule | selectattr('action', 'eq', 'charge') | list %}
{% if charges | count > 0 %}
| Zeit | Leistung | Preis | Grund |
|------|----------|-------|-------|
{% for charge in charges[:10] %}
| {{ charge.datetime[11:16] }} | {{ charge.power_w }}W | {{ charge.price }}ct | {{ charge.reason }} |
{% endfor %}
{% else %}
*Keine Ladungen geplant*
{% endif %}
{% else %}
*Kein Plan vorhanden - bitte neu berechnen*
{% endif %}
# Statistiken
- type: markdown
title: Plan-Statistiken
content: >
{% set attrs = state_attr('pyscript.battery_charging_schedule', 'schedule') %}
{% if attrs %}
**Letzte Aktualisierung:** {{ state_attr('pyscript.battery_charging_schedule', 'last_update') }}
**Anzahl Stunden:** {{ state_attr('pyscript.battery_charging_schedule', 'num_hours') }}
**Geplante Ladungen:** {{ state_attr('pyscript.battery_charging_schedule', 'num_charges') }}
**Gesamtenergie:** {{ state_attr('pyscript.battery_charging_schedule', 'total_energy_kwh') }} kWh
**Durchschnittspreis:** {{ state_attr('pyscript.battery_charging_schedule', 'avg_charge_price') }} ct/kWh
**Erste Ladung:** {{ state_attr('pyscript.battery_charging_schedule', 'first_charge_time') }}
{% else %}
*Keine Statistiken verfügbar*
{% endif %}