ceego
21. Juni 2025 um 06:15
1
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:
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
rstuck
21. Juni 2025 um 09:34
2
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() }}
ceego
21. Juni 2025 um 13:10
3
Danke für den Hinweis, hab ich ausprobiert, gleiche Fehlermeldung.
totow
21. Juni 2025 um 13:19
4
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
ceego
21. Juni 2025 um 21:25
5
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
totow
21. Juni 2025 um 22:15
6
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“
ceego
22. Juni 2025 um 07:28
7
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…?
73ymw
23. Juni 2025 um 05:06
8
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.