
Was ist das Problem?
Mit der Version von Home Assistant 2025.12 werden Warnmeldungen angezeigt, dass die bisherige Konfiguration, die ich zur Verfügung gestellt habe mit der Version 2026.06 nicht mehr funktionieren wird. In diesem Artikel zeige ich euch, wie ihr eure bestehende Konfiguration aktualisieren könnt, damit die Warnmeldung entfällt und ihr auch mit späteren Versionen von Home Assistant kompatibel seit.
Um mit den zukünftigen Versionen von Home Assistant kompatibel zu sein muss das YAML Skript aktualisiert werden. Aber keine Angst, das ist nicht so kompliziert.
Vorbereitung
Bevor ihr startet solltet ihr eure aktuelle configuration.yaml von Home Assistant komplett sichern. Für den Fall der Fälle könnt ihr so immer wieder auf die alte Version zurückspringen. Denkt daran dies in einem „echten“ Editor zu machen, nicht mit Microsoft Word. Ansonsten besteht die Gefahr, dass hier automatisch Formatierungen gemacht werden und dann die YAML nicht mehr funktionierten würde.
In der neuen Version gibt es im wesentlichen 3 Abschnitte in der Konfiguration. Ich zeige euch im folgenden auf der linken Seite die alte Konfiguration und auf der rechten Seite die Abschnitte der neuen Konfiguration.
Wichtig!
Die Konfiguration basiert auf meiner Umgebung zuhause. Das ist wichtig um den Abschnitt „Power Solargen“ zu verstehen. Ich habe zuhause 3 Photovoltaik Module mit jeweils einem Wechselrichter. Den Stromertrag messe ich mit einem Shelly 1PM und addiere deren Stromertrag mit dem Shelly 3EM:
{% set south = states('sensor.shelly_plus_1_pm_pv_south_power')|float(0) %}
{% set south_400 = states('sensor.shelly_plus_1pm_pv_south_400w_power')|float(0) %}
{% set west = states('sensor.shelly_plus_1_pm_pv_west_power')|float(0) %}
{% set total = south + south_400 + west %}
Vorlage zum Aktualisieren der Konfiguration
Alt:
sensor:
- platform: template
sensors:
# Template sensor for values of energy Solar generation (solar_power > 0)
# YOU NEED TO UPDATE THE NAMES BELOW!!!
power_solargen:
friendly_name: "Power Solar Generation"
unit_of_measurement: 'W'
value_template: >-
{% if (states('your_pv_source_1.power')|float(0) + states('your_pv_source_2.power')|float(0)) > 0 %}
{{ (states('your_pv_source_1.power')|float(0) + states('your_pv_source_2.power')|float(0)) }}
{% else %}
{{ 0 }}
{% endif %}
# Template sensor for values of power consumption
power_consumption:
friendly_name: "Power Consumption"
unit_of_measurement: 'W'
value_template: >-
{% if (states('sensor.power_export')|float(0)) > 0 and (states('sensor.power_solargen')|float(0) - states('sensor.power_export')|float(0)) < 0 %}
{{ 0 }}
{% elif (states('sensor.power_export')|float(0)) > 0 and (states('sensor.power_solargen')|float(0) - states('sensor.power_export')|float(0)) > 0 %}
{{ (states('sensor.power_solargen')|float(0)) - states('sensor.power_export')|float(0) }}
{% else %}
{{ states('sensor.power_import')|float(0) + states('sensor.power_solargen')|float(0) }}
{% endif %}
# Template sensor for values of power import (active_power > 0)
power_import:
friendly_name: "Power Import"
unit_of_measurement: 'W'
value_template: >-
{% if (states('sensor.shelly3em_channel_a_power')|float + states('sensor.shelly3em_channel_b_power')|float + states('sensor.shelly3em_channel_c_power')|float) > 0 %}
{{ states('sensor.shelly3em_channel_a_power')|float + states('sensor.shelly3em_channel_b_power')|float + states('sensor.shelly3em_channel_c_power')|float }}
{% else %}
{{ 0 }}
{% endif %}
availability_template: "{{
[ states('sensor.shelly3em_channel_a_power'),
states('sensor.shelly3em_channel_b_power'),
states('sensor.shelly3em_channel_c_power')
] | map('is_number') | min
}}"
# Template sensor for values of power export (active_power < 0)
power_export:
friendly_name: "Power Export"
unit_of_measurement: 'W'
value_template: >-
{% if (states('sensor.shelly3em_channel_a_power')|float + states('sensor.shelly3em_channel_b_power')|float + states('sensor.shelly3em_channel_c_power')|float) < 0 %}
{{ (states('sensor.shelly3em_channel_a_power')|float + states('sensor.shelly3em_channel_b_power')|float + states('sensor.shelly3em_channel_c_power')|float) * -1 }}
{% else %}
{{ 0 }}
{% endif %}
availability_template: "{{
[ states('sensor.shelly3em_channel_a_power'),
states('sensor.shelly3em_channel_b_power'),
states('sensor.shelly3em_channel_c_power')
] | map('is_number') | min
}}"
# Sensor for Riemann sum of energy import (W -> Wh)
- platform: integration
source: sensor.power_import
name: energy_import_sum
unit_prefix: k
round: 2
method: left
# Sensor for Riemann sum of energy export (W -> Wh)
- platform: integration
source: sensor.power_export
name: energy_export_sum
unit_prefix: k
round: 2
method: left
# Sensor for Riemann sum of energy consumption (W -> Wh)
- platform: integration
source: sensor.power_consumption
name: energy_consumption_sum
unit_prefix: k
round: 2
method: left
Neu:
template:
- sensor:
# Template sensor for values of energy Solar generation (solar_power > 0)
# YOU NEED TO UPDATE THE NAMES BELOW!!!
- name: "Power Solargen"
unique_id: power_solargen
unit_of_measurement: "W"
state: >-
{% set south = states('sensor.shelly_plus_1_pm_pv_south_power')|float(0) %}
{% set south_400 = states('sensor.shelly_plus_1pm_pv_south_400w_power')|float(0) %}
{% set west = states('sensor.shelly_plus_1_pm_pv_west_power')|float(0) %}
{% set total = south + south_400 + west %}
{{ total if total > 0 else 0 }}
# Template sensor for values of power consumption
- name: Power Consumption
unique_id: power_consumption
unit_of_measurement: "W"
state: >
{% set export = states('sensor.power_export')|float(0) %}
{% set solargen = states('sensor.power_solargen')|float(0) %}
{% set import_ = states('sensor.power_import')|float(0) %}
{% if export > 0 and (solargen - export) < 0 %}
{{ None }}
{% elif export > 0 and (solargen - export) > 0 %}
{{ solargen - export }}
{% else %}
{{ import_ + solargen }}
{% endif %}
# Template sensor for values of power import (active_power > 0)
- name: "Power Import"
unique_id: power_import
unit_of_measurement: "W"
state: >-
{% set a = states('sensor.shelly3em_channel_a_power')|float(0) %}
{% set b = states('sensor.shelly3em_channel_b_power')|float(0) %}
{% set c = states('sensor.shelly3em_channel_c_power')|float(0) %}
{% set total = a + b + c %}
{% if total > 0 %}
{{ total }}
{% else %}
{{ 0 }}
{% endif %}
availability: >-
{{
[
states('sensor.shelly3em_channel_a_power'),
states('sensor.shelly3em_channel_b_power'),
states('sensor.shelly3em_channel_c_power')
] | map('is_number') | min
}}
# Template sensor for values of power export (active_power < 0)
- name: "Power Export"
unique_id: power_export
unit_of_measurement: "W"
state: >-
{% set a = states('sensor.shelly3em_channel_a_power')|float(0) %}
{% set b = states('sensor.shelly3em_channel_b_power')|float(0) %}
{% set c = states('sensor.shelly3em_channel_c_power')|float(0) %}
{% set total = a + b + c %}
{% if total < 0 %}
{{ total * -1 }}
{% else %}
{{ 0 }}
{% endif %}
availability: >-
{{
[
states('sensor.shelly3em_channel_a_power'),
states('sensor.shelly3em_channel_b_power'),
states('sensor.shelly3em_channel_c_power')
] | map('is_number') | min
}}
- name: "Power Current"
unique_id: power_current
unit_of_measurement: "W"
state: >-
{% set a = states('sensor.shelly3em_channel_a_power')|float(0) %}
{% set b = states('sensor.shelly3em_channel_b_power')|float(0) %}
{% set c = states('sensor.shelly3em_channel_c_power')|float(0) %}
{{ a + b + c }}
availability: >-
{{
[
states('sensor.shelly3em_channel_a_power'),
states('sensor.shelly3em_channel_b_power'),
states('sensor.shelly3em_channel_c_power')
] | map('is_number') | min
}}
sensor:
# Sensor for Riemann sum of energy import (W -> Wh)
- platform: integration
source: sensor.power_import
name: energy_import_sum
unit_prefix: k
round: 2
method: left
# Sensor for Riemann sum of energy export (W -> Wh)
- platform: integration
source: sensor.power_export
name: energy_export_sum
unit_prefix: k
round: 2
method: left
# Sensor for Riemann sum of energy consumption (W -> Wh)
- platform: integration
source: sensor.power_consumption
name: energy_consumption_sum
unit_prefix: k
round: 2
method: left
Im Abschnitt der Utility Meter muss nichts geändert werden. Hier bleibt die Konfiguration unverändert.
Alt:
utility_meter:
energy_import_daily:
source: sensor.energy_import_sum
name: Energy Import Daily
cycle: daily
energy_import_monthly:
source: sensor.energy_import_sum
name: Energy Import Monthly
cycle: monthly
energy_export_daily:
source: sensor.energy_export_sum
name: Energy Export Daily
cycle: daily
energy_export_monthly:
source: sensor.energy_export_sum
name: Energy Export Monthly
cycle: monthly
energy_consumption_daily:
source: sensor.energy_consumption_sum
name: Energy Consumption Daily
cycle: daily
energy_consumption_monthly:
source: sensor.energy_consumption_sum
name: Energy Consumption Monthly
cycle: monthly
Neu:
utility_meter:
energy_import_daily:
source: sensor.energy_import_sum
name: Energy Import Daily
cycle: daily
energy_import_monthly:
source: sensor.energy_import_sum
name: Energy Import Monthly
cycle: monthly
energy_export_daily:
source: sensor.energy_export_sum
name: Energy Export Daily
cycle: daily
energy_export_monthly:
source: sensor.energy_export_sum
name: Energy Export Monthly
cycle: monthly
energy_consumption_daily:
source: sensor.energy_consumption_sum
name: Energy Consumption Daily
cycle: daily
energy_consumption_monthly:
source: sensor.energy_consumption_sum
name: Energy Consumption Monthly
cycle: monthly
Hier zur Vollständigkeit die neue Konfiguration zusammengefasst in einem Code Element. Ihr seht hier also die rechte Seite in einem Element:
template:
- sensor:
# Template sensor for values of energy Solar generation (solar_power > 0)
# YOU NEED TO UPDATE THE NAMES BELOW!!!
- name: "Power Solargen"
unique_id: power_solargen
unit_of_measurement: "W"
state: >-
{% set south = states('sensor.shelly_plus_1_pm_pv_south_power')|float(0) %}
{% set south_400 = states('sensor.shelly_plus_1pm_pv_south_400w_power')|float(0) %}
{% set west = states('sensor.shelly_plus_1_pm_pv_west_power')|float(0) %}
{% set total = south + south_400 + west %}
{{ total if total > 0 else 0 }}
# Template sensor for values of power consumption
- name: Power Consumption
unique_id: power_consumption
unit_of_measurement: "W"
state: >
{% set export = states('sensor.power_export')|float(0) %}
{% set solargen = states('sensor.power_solargen')|float(0) %}
{% set import_ = states('sensor.power_import')|float(0) %}
{% if export > 0 and (solargen - export) < 0 %}
{{ None }}
{% elif export > 0 and (solargen - export) > 0 %}
{{ solargen - export }}
{% else %}
{{ import_ + solargen }}
{% endif %}
# Template sensor for values of power import (active_power > 0)
- name: "Power Import"
unique_id: power_import
unit_of_measurement: "W"
state: >-
{% set a = states('sensor.shelly3em_channel_a_power')|float(0) %}
{% set b = states('sensor.shelly3em_channel_b_power')|float(0) %}
{% set c = states('sensor.shelly3em_channel_c_power')|float(0) %}
{% set total = a + b + c %}
{% if total > 0 %}
{{ total }}
{% else %}
{{ 0 }}
{% endif %}
availability: >-
{{
[
states('sensor.shelly3em_channel_a_power'),
states('sensor.shelly3em_channel_b_power'),
states('sensor.shelly3em_channel_c_power')
] | map('is_number') | min
}}
# Template sensor for values of power export (active_power < 0)
- name: "Power Export"
unique_id: power_export
unit_of_measurement: "W"
state: >-
{% set a = states('sensor.shelly3em_channel_a_power')|float(0) %}
{% set b = states('sensor.shelly3em_channel_b_power')|float(0) %}
{% set c = states('sensor.shelly3em_channel_c_power')|float(0) %}
{% set total = a + b + c %}
{% if total < 0 %}
{{ total * -1 }}
{% else %}
{{ 0 }}
{% endif %}
availability: >-
{{
[
states('sensor.shelly3em_channel_a_power'),
states('sensor.shelly3em_channel_b_power'),
states('sensor.shelly3em_channel_c_power')
] | map('is_number') | min
}}
- name: "Power Current"
unique_id: power_current
unit_of_measurement: "W"
state: >-
{% set a = states('sensor.shelly3em_channel_a_power')|float(0) %}
{% set b = states('sensor.shelly3em_channel_b_power')|float(0) %}
{% set c = states('sensor.shelly3em_channel_c_power')|float(0) %}
{{ a + b + c }}
availability: >-
{{
[
states('sensor.shelly3em_channel_a_power'),
states('sensor.shelly3em_channel_b_power'),
states('sensor.shelly3em_channel_c_power')
] | map('is_number') | min
}}
sensor:
# Sensor for Riemann sum of energy import (W -> Wh)
- platform: integration
source: sensor.power_import
name: energy_import_sum
unit_prefix: k
round: 2
method: left
# Sensor for Riemann sum of energy export (W -> Wh)
- platform: integration
source: sensor.power_export
name: energy_export_sum
unit_prefix: k
round: 2
method: left
# Sensor for Riemann sum of energy consumption (W -> Wh)
- platform: integration
source: sensor.power_consumption
name: energy_consumption_sum
unit_prefix: k
round: 2
method: left
utility_meter:
energy_import_daily:
source: sensor.energy_import_sum
name: Energy Import Daily
cycle: daily
energy_import_monthly:
source: sensor.energy_import_sum
name: Energy Import Monthly
cycle: monthly
energy_export_daily:
source: sensor.energy_export_sum
name: Energy Export Daily
cycle: daily
energy_export_monthly:
source: sensor.energy_export_sum
name: Energy Export Monthly
cycle: monthly
energy_consumption_daily:
source: sensor.energy_consumption_sum
name: Energy Consumption Daily
cycle: daily
energy_consumption_monthly:
source: sensor.energy_consumption_sum
name: Energy Consumption Monthly
cycle: monthly





