Sensorwert auf Entität schreiben liefert "expected float for dictionary value @ data['value']"

Hallo zusammen!
ich habe mir folgenden Sensor erstellt:

      evcc_netzvorhalt_y:
        friendly_name: "En Evcc Netzvorhalt Y"
        entity_id: sensor.evcc_netzvorhalt_y
        unit_of_measurement: "W"  
        value_template: >
          {% set sensor1 = states('input_number.en_maxcha') | float %}
          {% set sensor2 = states('sensor.trip10_battery_power_charge_total') | float %}
          {% set ergebnis = sensor1 - sensor2 %}
          {% set deckel_wert = states('input_number.en_evcc_netzvorhalt_offset') | float %}  
          {{ [ergebnis, deckel_wert] | max | round(0) }}       

Damit will ich die Einschaltschwelle für die Wallbox hochdrücken auf einen Ladewunsch für die Hausbatterie plus manuellem Offset.
Das funktioniert soweit:

Jetzt würde ich damit gerne auf die “Restleistung” von EVCC schreiben:

bzw. dann als YAML:

device_id: 00bc85a674b49329477f3e1c833b7b39
domain: number
entity_id: a939f12df9d642e77ecc734296de3872
type: set_value
value: "{{ (states('sensor.evcc_netzvorhalt_y') | float() }}"

Beim speichern der Automation kommt dan folgende Fehlermeldung:
2025-06-21 08_14_00-Einstellungen – Home Assistant – Mozilla Firefox

Ich verstehe das Problem nicht.

Die Entität, die beschrieben wird heißt

number.evcc_solar_charging_evcc_restleistung

Danke für die Hilfe!
VG
Andi

Hallo,
ich bin leider kein Experte für yaml aber ist es nicht so dass durch die " aus der Zahl ein String wird?
Also sollte es doch eher so sein

value: {{ (states('sensor.evcc_netzvorhalt_y') | float() }}

Danke für den Hinweis, hab ich ausprobiert, gleiche Fehlermeldung.

Moin,

probier es mal so:

device_id: 00bc85a674b49329477f3e1c833b7b39
domain: number
entity_id: a939f12df9d642e77ecc734296de3872
type: set_value
value: |
  {{ (states('sensor.evcc_netzvorhalt_y') | float() }}

Bzw probiere es mal direkt mit der Entität und nicht über das Gerät:

action: number.set_value
target:
  entity_id: number.deine_entität
data:
  value: |
    {{ (states('sensor.evcc_netzvorhalt_y') | float() }}

du musst natürlich noch number.deine_entität zu der richtigen ändern.

LG

device_id: 00bc85a674b49329477f3e1c833b7b39
domain: number
entity_id: a939f12df9d642e77ecc734296de3872
type: set_value
value: |
  {{ (states('sensor.evcc_netzvorhalt_y') | float() }}

liefert die selbe Fehlermeldung.

Direktes schreiben auf die Entität mit

 action: number.set_value
target:
  entity_id: number.evcc_solar_charging_evcc_restleistung
data:
  value: |
    {{ (states('sensor.evcc_netzvorhalt_y') | float() }}

liefert eine neue Meldung:

Message malformed: template value should be a string for dictionary value @ data['actions'][0]['data'

Ändere ich es so:

  value:     {{ (states('sensor.evcc_netzvorhalt_y') | float() }}

kann ich die Automation speichern, allerdings wird beim erneuten bearbeiten dann das angezeigt:

  value:
    "[object Object]": null

VG
Andi

Ich weiß nicht warum mir das vorhin nicht aufgefallen ist, aber die ( vor states ist zu viel.

value: |
  {{ states('sensor.evcc_netzvorhalt_y') | float() }}

LG

1 „Gefällt mir“

Das liefert dann diese Meldung:

Message malformed: template value is None for dictionary value @ data['actions'][0]['data']

Vielleicht nochmal zurück zum Helfer, der den Input liefert.

          {% set sensor1 = states('input_number.en_maxcha') | float %}
        

Sollte kein Problem sein, Eingabefeld.

 
          {% set sensor2 = states('sensor.trip10_battery_power_charge_total') | float %}

zeigt aktuell 0W, da keine Batterieladung. Der Wert wird scheinbar alle 5 Minuten aktualisiert, er ist laut Velraufsdiagramm nie “nicht verfügbar”.

Seht ihr da ein Problem?

Ich habe testweise versucht nicht die EVCC-Entität sondern einfach einen weiteren Helfer zu beschreiben:

target:
  entity_id: input_number.en_evcc_restleistung

Ohne Erfolg, gleiches Ergebnis.

Ebenfalls habe ich versucht die Leistung eines beliebigen anderen Sensors also Quelle zu nutzen, auch ohne Erfolg.
Scheint also wirklich Syntax zu sein…?

Was macht

action: number.set_value
target:
  entity_id: number.deine_entität
data:
  value: ”{{ states('sensor.evcc_netzvorhalt_y') | float() }}“

Klammer vor states entfernt und Anführungszeichen eingefügt.