114 lines
3.9 KiB
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 %}
|