Guten Morgen vielleicht kann mir jemand helfen.
Ich möchte von einer Identität mit numerischen Wert eine andere Identität mit Numerischen Wert Abziehen und das Ergebnis in einer neuen Identität speichern und weiter verwenden können.
Hier mein Versuch. {{ ( fload ( states(‚sensor.l_m_p_gr_testa_leistung‘) | - (float ( states(‚senor.stromverbrauch_gesamt‘) | float }}
Moin,
drei Sachen fallen mir auf.
- das erste float nennt sich fload
- der zweite sensor nennt sich senor
- die Anführungszeichen
{{ (float(states('sensor.l_m_p_gr_testa_leistung')) - float(states('sensor.stromverbrauch_gesamt'))) }}
Daraus dann ein Template Sensor basteln:
template:
- sensor:
- name: "Leistung - Leistung"
unit_of_measurement: "W"
state: >
{{ (float(states('sensor.l_m_p_gr_testa_leistung')) - float(states('sensor.stromverbrauch_gesamt'))) }}
Ich hab mal meinen Post gelöscht.
Das mit der KI funktioniert nicht, da die Google KI jedesmal eine andere Antwort gibt.
Die Antworten sind für Anfänger nicht geeignet und/oder funktionieren nicht.
Trotzdem Viel Erfolg und Spaß mit Home Assistant.
Einen ganz herzlichen Dank damit konnte ich jetzt einen Tamplet Helfer erstellen den ich wieder in einer Grafik und Automation weiter nutzen kann
Ich würde das unbedingt noch absichern wie folgt:
{% set leistung = states('sensor.l_m_p_gr_testa_leistung') | float(0) %}
{% set gesamt = states('sensor.stromverbrauch_gesamt') | float(0) %}
{{ leistung - gesamt }}
EDIT: Code bitte immer über die Codefunktion „<#>“ im Editor hinzufügen, Danke.
Ich bin ja Lernfähig ![]()
Was meinst du mit „absichern“ ?
Dein Code speichert lediglich beide Werte in eine Variable und Rechnet dann => Ergebnis ist das Gleiche
Ich verwende so etwas auch wenn ich diese Variablen öfters in einer Berechnung benutze
Sollte einer der Werte mal nicht verfügbar sein,
z. B. wenn einer der Sensorwerte „unavailable“, „unknown“ oder leer ist kann das zu einem Template-Fehler führen.
Dieser wird im Protokoll als Fehler gemeldet.
Aus diesem Grund sollte man alle Templates entsprechend sicher erstellen. Sonst nerven die Fehlermeldungen im Protokoll irgendwann und sind, bei vielen Templates nicht mehr so einfach zu finden.
float(0) % prüft ob Wert vorhanden und setzt 0 falls nicht.
Ok, das verwende ich eh
Habe ich oben gar nicht gesehen ![]()
Hi etwas ähnliches habe ich heute erst mit ChatGP mir erstellen lassen,
mit Debugger um zu sehen wie das Ergebnis ist.
ChatGP ist sehr hilfreich.
alias: Temperaturunterschied prüfen (>= 3°C)
description: Setzt einen Helfer, wenn der Unterschied zwischen zwei Temperaturen ≥ 3°C ist.
triggers:
- entity_id:
- sensor.grill_temperatur_temperature
- sensor.zigbee_terrasse_temp_temperature
trigger: state
conditions: []
actions:
- variables:
temp1: "{{ states('sensor.grill_temperatur_temperature') | float(0) }}"
temp2: "{{ states('sensor.zigbee_terrasse_temp_temperature') | float(0) }}"
differenz: "{{ (temp1 - temp2) | abs }}"
- choose:
- conditions:
- condition: template
value_template: "{{ differenz >= 3 }}"
sequence:
- target:
entity_id: input_boolean.grill_rollo_blocken_grill_ist_an
action: input_boolean.turn_on
data: {}
- conditions:
- condition: template
value_template: "{{ differenz < 3 }}"
sequence:
- target:
entity_id: input_boolean.grill_rollo_blocken_grill_ist_an
action: input_boolean.turn_off
data: {}
- data:
title: Temp-Check
message: "Unterschied: {{ differenz }} °C"
action: persistent_notification.create
enabled: true
mode: single
Hallöchen schön das du dabei bist . Hört sich gut an