Unterstützung des Kanals
Hinweis: Der folgende Link ist ein Affiliate-Link.
Die Erstellung meiner Skripte und Videos ist mit einem erheblichen zeitlichen Aufwand verbunden – von der technischen Vorbereitung über intensive Recherche bis hin zu Tests, Aufnahmen und Nachbearbeitung. Alle Inhalte stelle ich dir dennoch vollständig kostenlos zur Verfügung.
Wenn du meine Arbeit unterstützen möchtest, kannst du das ganz einfach tun: Für deine Amazon-Bestellungen nutze gern meinen Partner-Link. Für dich ändert sich am Preis nichts – ich erhalte lediglich eine kleine Provision. Vielen Dank für deinen Support!
Jetzt über Amazon unterstützen
Verwandle dein Smart Home mit dynamischen Strompreisen! In diesem Video zeigen wir dir, wie du mit Home Assistant und EVCC nicht nur die aktuellen Strompreise ausliest, sondern auch visualisierst und clever damit rechnest. Spare bares Geld und optimiere deinen Energieverbrauch – jetzt reinschauen und profitieren! Plus: Erfahre alles über eine exklusive Bonusautomatisierung, die dir noch mehr Effizienz bringt! 💡🔌💸
Wenn du mehr über EVCC kennenlernen willst, dann findest du hier weitere nützliche Informationen.
Aus meiner Sicht ist EVCC nicht nur eine Managementsoftware für eure Wallbox und Elektroauto. Mit EVCC könnt ihr unabhängig von der Schnittstelle eures Wechselrichters, Batteriespeichers, dynamischen Stromanbieter etc… auf aufbereiteten Daten agieren und diese für tolle Automatisierungen und Visualisierungen in Home Assistant nutzen.
Ich möchte euch heute einen allgemeinen Amazon-Link teilen, über den ihr eine Vielzahl von Produkten entdecken könnt. Egal, ob ihr nach Smart Home-Geräten, Gadgets oder anderen nützlichen Artikeln sucht, Amazon hat für jeden etwas zu bieten.
Wenn ihr über diesen Link einkauft, unterstützt ihr meinen Kanal, ohne dass es für euch zusätzliche Kosten verursacht. Das hilft mir, weiterhin spannende Inhalte für euch zu erstellen!
Hier ist der Link zu Amazon: https://amzn.to/3KsGngK
Um die Inhalte besser verstehen zu können, empfehle ich euch folgende Videos ebenfalls anzuschauen:
Links , in denen ihr weitere Informationen findet:
Restful Sensor in der Configuration.yaml
sensor:
- platform: rest
name: EVCC Tariff Forecast
unique_id: evcc_tariff_forecast
resource: http://192.168.101.3:7070/api/tariff/grid
value_template: "{{value_json.result.rates[0].price}}"
json_attributes:
- result
scan_interval: 60
Template Helfer : sensor.evcc_tibber_forecast_max_value_today
{{state_attr('sensor.evcc_tariff_forecast', 'result')['rates'] | selectattr('start', 'ge', now().strftime('%Y-%m-%dT00:00:00%z')) | selectattr('start','lt', now().strftime('%Y-%m-%dT23:59:59%z')) | map(attribute='price') | max }}
Template Helfer: evcc_tibber_forecast_min_value_today
{{state_attr('sensor.evcc_tariff_forecast', 'result')['rates'] | selectattr('start', 'ge', now().strftime('%Y-%m-%dT00:00:00%z')) | selectattr('start','lt', now().strftime('%Y-%m-%dT23:59:59%z')) | map(attribute='price') | min }}
Template Helfer: evcc_tibber_forecast_max_value_tomorrow
{{state_attr('sensor.evcc_tariff_forecast', 'result')['rates'] | selectattr('start', 'ge', (now() + timedelta(days=1)).strftime('%Y-%m-%dT00:00:00%z')) | selectattr('start','lt',(now() + timedelta(days=1)).strftime('%Y-%m-%dT23:59:59%z')) | map(attribute='price') | max | default(0) }}
Template Helfer: evcc_tibber_forecast_min_value_tomorrow
{{state_attr('sensor.evcc_tariff_forecast', 'result')['rates'] | selectattr('start', 'ge', (now() + timedelta(days=1)).strftime('%Y-%m-%dT00:00:00%z')) | selectattr('start','lt',(now() + timedelta(days=1)).strftime('%Y-%m-%dT23:59:59%z')) | map(attribute='price') | min| default(0) }}
Für die Visualisierung habe ich die Apex Chart Card aus dem Video ein wenig optimiert. Hier findet ihr die optimierte Variante als Code Beispiel ( die nötigen MQTT Sensoren aus EVCC findet ihr weiter unten ) :
Weitere Infos zum Umgang mit der Apex Chart Card, habe ich in diesem Video erklärt:
type: custom:apexcharts-card
apex_config:
chart:
height: 268px
all_series_config:
unit: kWh
header:
title: Evcc Tibber Forecast
show: true
standard_format: true
show_states: true
colorize_states: true
graph_span: 2d
span:
start: day
offset: '+0'
now:
show: true
label: Jetzt
yaxis:
- id: kwh
min: 0
apex_config:
tickAmount: 5
- id: header
show: false
series:
- entity: sensor.evcc_tariff_forecast
yaxis_id: kwh
type: area
name: Forecast heute
color: green
data_generator: >
let now = new Date().getTime();
let rates = entity.attributes.result.rates;
let filteredRates = rates.filter(rate => new Date(rate["start"]).getTime()
<= now);
return filteredRates.map(rate => [new Date(rate["start"]).getTime(),
rate["price"]]);
show:
legend_value: false
in_header: false
stroke_width: 4
float_precision: 2
extend_to: false
- entity: sensor.evcc_tariff_forecast
yaxis_id: kwh
type: area
name: Forecast heute (nach Jetzt)
color: yellow
data_generator: >
let now = new Date().getTime()- 3600000;
let rates = entity.attributes.result.rates;
let filteredRates = rates.filter(rate => new Date(rate["start"]).getTime()
> now);
return filteredRates.map(rate => [new Date(rate["start"]).getTime(),
rate["price"]]);
show:
legend_value: false
in_header: false
stroke_width: 4
float_precision: 2
extend_to: false
- entity: sensor.evcc_tariff_grid
color: green
yaxis_id: header
name: Aktueller Preis
unit: ' € '
float_precision: 2
show:
legend_value: true
in_header: true
in_chart: false
- entity: sensor.evcc_tibber_forecast_min_value_today
color: yellow
yaxis_id: header
name: Min(heute)
unit: ' € '
float_precision: 2
show:
legend_value: true
in_header: true
in_chart: false
- entity: sensor.evcc_tibber_forecast_max_value_today
color: yellow
yaxis_id: header
name: Max(heute)
unit: ' € '
float_precision: 2
show:
legend_value: true
in_header: true
in_chart: false
- entity: sensor.evcc_tibber_forecast_min_value_tomorrow
color: yellow
yaxis_id: header
name: Min(morgen)
unit: ' € '
float_precision: 2
show:
legend_value: true
in_header: true
in_chart: false
- entity: sensor.evcc_tibber_forecast_max_value_tomorrow
color: yellow
yaxis_id: header
name: Max(morgen)
unit: ' € '
float_precision: 2
show:
legend_value: true
in_header: true
in_chart: false
Alle diese Daten habe ich auch aus EVCC extrahiert. Hier findet ihr die nötigen MQTT-Sensoren:
mqtt:
sensor:
- name: "EVCC Grid Power"
unique_id: evcc_grid_power
state_topic: "evcc/site/gridPower"
unit_of_measurement: "W"
availability_topic: "evcc/status"
- name: "EVCC PV Power"
unique_id: evcc_pv_power
state_topic: "evcc/site/pvPower"
#value_template: "{{ value | round(1) }}"
unit_of_measurement: "W"
availability_topic: "evcc/status"
- name: "EVCC Tariff Grid"
unique_id: evcc_tariff_grid
state_topic: "evcc/site/tariffGrid"
unit_of_measurement: "EUR/kWh"
availability_topic: "evcc/status"
- name: "EVCC Tariff Feed In"
unique_id: 3bd64d9d-0e8d-41ad-9db3-b0a4774120c1
state_topic: "evcc/site/tariffFeedIn"
unit_of_measurement: "EUR/kWh"
availability_topic: "evcc/status"
- name: "EVCC geladen an Wallbox"
unique_id: evcc_geladen_an_Wallbox
state_topic: "evcc/site/statistics/total/chargedKWh"
unit_of_measurement: "kWh"
availability_topic: "evcc/status"
device_class: energy
state_class: total_increasing
- name: "EVCC Hausverbrauch"
unique_id: evcc_hausverbrauch
state_topic: "evcc/site/homePower"
unit_of_measurement: "W"
availability_topic: "evcc/status"
- name: "EVCC Battery Power"
unique_id: evcc_battery_Power
state_topic: "evcc/site/batteryPower"
unit_of_measurement: "W"
availability_topic: "evcc/status"
Bonus shell_command Sensor für das Deaktivieren der EVCC Batteriemanagement Funktion über die REST API von EVCC in der Configuration.yaml
shell_command: batterie_aus: curl -X POST http://192.168.101.3:7070/api/batterydischargecontrol/false batterie_an: curl -X POST http://192.168.101.3:7070/api/batterydischargecontrol/true
Automatisierung , um bei sehr günstigem Strompreis ( Preis liegt unter der Einspeisevergütung) den Batteriespeicher zu laden:
alias: Speicher Laden und abschalten, da so günstiger
description: ""
trigger:
- platform: numeric_state
entity_id:
- sensor.evcc_tariff_grid
below: sensor.evcc_tariff_feed_in
id: Es ist günstiger aus dem Netz zu beziehen
- platform: numeric_state
entity_id:
- sensor.evcc_tariff_grid
id: Es ist teurer aus dem Netz zu beziehen
above: sensor.evcc_tariff_feed_in
- platform: numeric_state
entity_id:
- sensor.evcc_battery_soc
above: 99
id: Speicher hat 100 % erreicht
condition:
- condition: time
after: "06:00:00"
before: "20:00:00"
action:
- choose:
- conditions:
- condition: trigger
id:
- Es ist günstiger aus dem Netz zu beziehen
sequence:
- service: shell_command.batterie_aus
metadata: {}
data: {}
- device_id: 1659e926aef842a56f4fc8960bf10ca1
domain: select
entity_id: 6427b7e3fd03320c47261c2767cc0c41
type: select_option
option: Charge from Solar Power and Grid
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- device_id: 1659e926aef842a56f4fc8960bf10ca1
domain: number
entity_id: cedb1c19907bf5f26d82807c7a46b72e
type: set_value
value: 36000
- conditions:
- condition: trigger
id:
- Es ist teurer aus dem Netz zu beziehen
sequence:
- service: shell_command.batterie_an
metadata: {}
data: {}
- device_id: 1659e926aef842a56f4fc8960bf10ca1
domain: select
entity_id: 6427b7e3fd03320c47261c2767cc0c41
type: select_option
option: Maximize Self Consumption
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- device_id: 1659e926aef842a56f4fc8960bf10ca1
domain: number
entity_id: cedb1c19907bf5f26d82807c7a46b72e
type: set_value
value: 3600
- conditions:
- condition: and
conditions:
- condition: trigger
id:
- Speicher hat 100 % erreicht
- condition: numeric_state
entity_id: sensor.evcc_tariff_grid
below: sensor.evcc_tariff_feed_in
sequence:
- device_id: 1659e926aef842a56f4fc8960bf10ca1
domain: select
entity_id: 6427b7e3fd03320c47261c2767cc0c41
type: select_option
option: Solar Power Only (Off)
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- device_id: 1659e926aef842a56f4fc8960bf10ca1
domain: number
entity_id: cedb1c19907bf5f26d82807c7a46b72e
type: set_value
value: 36000
mode: single
Viel Spaß 🙂
Wenn ihr ebenfalls noch Automatisierungsideen oder Lösungen in diesem Zusammenhang habt, kommt gerne auf meinen Discord Server und präsentiert dort eure Lösung.
Häufige Fragen (FAQ)
Brauche ich einen bestimmten Wechselrichter oder Stromanbieter?
Nein, EVCC bereitet die Daten unabhängig von der Schnittstelle deines Wechselrichters, Batteriespeichers oder dynamischen Stromanbieters auf. Home Assistant greift nur auf diese aufbereiteten Daten zu.
Wie lese ich die dynamischen Strompreise aus EVCC aus?
Mit einem REST-Sensor in der configuration.yaml auf http://<evcc-ip>:7070/api/tariff/grid, der den aktuellen Preis über value_json.result.rates[0].price liefert und die gesamte Preisliste als Attribut result speichert.
Wie bekomme ich Minimum und Maximum für heute und morgen?
Über Template-Helfer, die die rates aus dem Attribut nach dem Startzeitpunkt des jeweiligen Tages filtern und dann max bzw. min auf den Preis anwenden. Für morgen nutzt du zusätzlich default(0), falls noch keine Daten vorliegen.
Wie visualisiere ich den Preisverlauf?
Mit der Apex Chart Card (über HACS), die per data_generator die rates aus dem Sensor-Attribut liest – eine Serie bis Jetzt, eine danach, plus aktueller Preis sowie Min/Max im Header. Die dafür nötigen MQTT-Sensoren aus EVCC stehen im Beitrag.
Kann ich die Batterieentladung von EVCC aus Home Assistant steuern?
Ja, per shell_command mit curl -X POST auf http://<evcc-ip>:7070/api/batterydischargecontrol/false bzw. /true schaltest du das Batteriemanagement aus oder an.
Wann lädt die Bonusautomatisierung den Speicher aus dem Netz?
Wenn sensor.evcc_tariff_grid unter sensor.evcc_tariff_feed_in fällt, also der Strompreis unter der Einspeisevergütung liegt – und nur zwischen 06:00 und 20:00 Uhr. Steigt der Preis wieder oder erreicht der Speicher 100 %, wird zurückgeschaltet; die Wechselrichter-Aktionen musst du an dein Gerät anpassen.







