Template sensor um aus einem Zähler zwei zu machen

Folgendes Szenario.

  • GOecharger in HA eingebunden
  • 1x MG MG4 E-Fahrzeug, in HA eingebunden, lädt daheim aber auch unterwegs
  • 1x Skoda SuperB Plugin Hybrid, mangels Integration nicht in HA, lädt eigentlich 90% daheim

Mit dem GOecharger lasse ich mir aktuell auswerten wie hoch meine montalichen Ladekosten sind, bis dato immer gesammelt für beide. Ich hätte aber gern das ich für beide Fahrzeuge getrennte “Zähler” habe um die Kosten etwas im Blick zu haben.

Ich hatte mich daher an einen Template-Sensor versucht mit einer verschachtelten IF-Abfrage
MG4 Zähler:
WENN GOE = lädt UND MG4 = Lädt UND MG4 = ZuHause DANN nehme Wert vom GOEcharger
also quasi:

- platform: template
  sensors:
    lademenge_trommer_mg4:
      friendly_name: "Lademenge MG4"
      unit_of_measurement: kWh
      value_template: >
        {% if (state("sensor.goecharger_trommer_car_status") == "charging") and (state("binary_sensor.lsjwh4091nn180140_battery_charging") == "on") and (state("device_tracker.lsjwh4091nn180140_vehicle_position") == "home") %}
          {{ states('sensor.goecharger_trommer_energy_total') | float * 1 }}
        {% endif %}

SuperB Zähler:
WENN GOE = lädt UND NICHT MG4 = ZuHause DANN nehme Wert vom GOEcharger

also quasi

- platform: template
  sensors:
    lademenge_trommer_superb:
      friendly_name: "Lademenge SuperB"
      unit_of_measurement: kWh
      value_template: >
        {% if (state("sensor.goecharger_trommer_car_status") == "charging") and not (state("device_tracker.lsjwh4091nn180140_vehicle_position") == "home") %}
          {{ states('sensor.goecharger_trommer_energy_total') | float * 1 }}
        {% endif %}

Beide Sensoren sind angelegt aber ohne Werte (unavailable) und sonst hab ich das Gefühl das das nicht so recht passt.
Ich würde mich daher freuen wenn euer Schwarmwissen mir bei meinem Ziel unterstützen könnte.

Hie mal die zwei Templates, ohne Fehler

{% if is_state('sensor.goecharger_trommer_car_status','charging') and is_state('binary_sensor.lsjwh4091nn180140_battery_charging', 'on') and is_state('device_tracker.lsjwh4091nn180140_vehicle_position', 'home') %}
{{ states('sensor.goecharger_trommer_energy_total') | float(0) }}
{% else %}
  0
{% endif %}
{% if is_state('sensor.goecharger_trommer_car_status', 'charging') and not is_state('device_tracker.lsjwh4091nn180140_vehicle_position', 'home') %}
{{ states('sensor.goecharger_trommer_energy_total') | float(0) }}
{% else %}
  0
{% endif %}

Du kannst die Templates bevor Du diese in Deine Yaml packen tust, auch gerne unter Entwicklungswerkzeige → Template testen.

Des Weiteren verwendest Du die alte Template Platform, anstatt die aktuelle Template Integration zu verwenden.
Aus welcher Ecke hast Du die Verstaubte Vorlage her geholt?

Die offizielle Dokumentation ist sehr umfangreich und auch uptodate. :wink:

Ich würde den Template Sensor auch nicht über YAML erstellen.
Diesen kannst Du auch ganz bequem über die GUI erstellen.

Einstellungen - Geräte & Dienste → Helfer → + HELFER ERSTELLEN → Template → Template für einen Sensor erstellen

Allerdings macht der Sensor bzw. das Template für mich keinen Sinn?!?!

Du gibst ja in beiden Fällen den gleichen Wert zurück, also sensor.goecharger_trommer_energy_total

Handelt es sich bei dem sensor.goecharger_trommer_energy_total um einen Energie Sensor, der den Gesamtverbrauch ermittelt
Dann würde ich einen Verbrauchszähler (Helfer), mit den Tarifen SuperB und MG4 erstellen. Und dann per Automatisierung zwischen den 2 Tarifen umschalten.

Also wenn GOE wechselt zu laden und MG4 und MG4 Zuhause, dann Tarif MG4 auswählen. Und Wenn GOE wechselt zu laden und MG4 nicht Zuhause, dann Tarif SuperB.

Damit Hast Du zwei Energiezähler für den SuperB und MG4.

Gruß
Osorkon

1 „Gefällt mir“

Vielen Dank! Ich habs zwar leicht anders gelöst aber deine Beitrag hat mir nen wichtigen Anstoß gegeben.

Für alle Interessierten:
Da der Zustand des GoeCharger Status recht stark toggelt habe ich anstatt dem Template-Sensor eine Automation erzeugt die entweder einen Boolean für MG4 (FZG1) oder den SuperB (FZG2) einschaltet.
Wenn sich der Zustand eines des Booleans ändert wird entsprechend ein tariffierter Verbrauchszähler umgestellt.
Läuft zumindest bisher stabil ohne großartig zu toggeln und macht mich erstmal wunschlos glücklich.