Template sensor berechnen

Hallo Simon

Nach vielen Versuchen habe ich dinen Sensor zur Wärmepume nachgebaut.

- name: "Energy Haushalt"
    unique_id: Energy Haushalt
    device_class: energy
    state_class: total
    unit_of_measurement: "kWh"
    state: >-
      {{ (
      (float(states('sensor.energy_flow_home'))) - 
      (float,0(states('sensor.warmepumpe_daily_energy'))) -
      (float(states('sensor.tp_ladestecker_today_energy')))
      ) | round(1) }}

Doch auch so erhalte ich im Log den Fehler

Logger: homeassistant.helpers.template_entity
Source: helpers/template_entity.py:409
First occurred: 22:11:07 (1 occurrences)
Last logged: 22:11:07

TemplateError(‘TypeError: ‘int’ object is not callable’) while processing template ‘Template<template=({{ ( (float(states(‘sensor.energy_flow_home’))) - (float,0(states(‘sensor.warmepumpe_daily_energy’))) - (float(states(‘sensor.tp_ladestecker_today_energy’))) ) | round(1) }}) renders=4>’ for attribute ‘_attr_native_value’ in entity ‘sensor.energy_haushalt’

und

Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/template.py”, line 684, in async_render_to_info
render_info._result = self.async_render(variables, strict=strict, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/template.py”, line 565, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: TypeError: ‘int’ object is not callable

und das wundersame, in den Entwicklerwerkzeugen / Template funtioniert es!

Ich hoffe, du hast bei diesem verzwickten Template Problem eine Lösung.

Danke vorab
Jürgen

(sorry, Irgendwie habe ich Probleme mit dem Blockzitat)

Hinter dem float steht ,0

Danke dir frittes, bei meinen vielen Versuchen hat sich das reingeschlichen.

Zuerst noch ergänzt

      ) | round(1, default=0)  }}

Dadurch bin ich auf den eigentlichen Verursacher gekommen.

TemplateError('ValueError: Template error: float got invalid input ‘unavailable’

Hier steige ich aber wieder aus auf Grund der so unterschiedlichen Schreibweisen des Codings. Kannst du hier evtl. helfen?

Danke
Jürgen

Der Sensor scheint nicht verfügbar zu sein und Du hast keinen default-Wert bei float angegeben.

Ich würde es so machen:

(states('sensor.warmepumpe_daily_energy') | float(0)) | round(1)

Oder so nach Deiner Schreibweise:

float(states('sensor.warmepumpe_daily_energy'), default=0) | round(1)

Hi
hat jetzt geklappt, danke

  - name: "Energy Haushalt"
    unique_id: Energy Haushalt
    device_class: energy
    state_class: total
    unit_of_measurement: "kWh"
    state: >-
      {{
      states('sensor.energy_flow_home') | float(0) | round(1) - 
      states('sensor.warmepumpe_daily_energy') | float(0) | round(1) -
      states('sensor.sensor.tp_ladestecker_today_energy') | float(0) | round(1)
      }}
1 „Gefällt mir“