Automation: Value auf Wert eines Helpers setzen

Hi zusammen,

ich versuche in einer Automation den Wert eines Helpers auf den eines anderen Helpers setzen.

Setze ich
value: 82
funktioniert alles. Setzte ich aber
value: “{{ states(input_number.auto_garage_soc_zielwert)|int(0) }}”
passiert nichts.

Auch mit verschiedenen Anführungszeichen habe ich das schon versucht.

- id: '1725809895251'
  alias: 'Auto Garage laden bis Zielwert '
  description: ''
  trigger:
  - platform: time
    at: input_datetime.auto_laden_bis_zielwert_ab_uhrzeit
  condition:
  - condition: state
    entity_id: input_boolean.auto_garage_laden_bis_zielwert
    state: 'on'
  action:
  - sequence:
    - action: input_number.set_value
      metadata: {}
      data:
        value: "{{ states(input_number.auto_garage_soc_zielwert)|int(0) }}"
      target:
        entity_id: input_number.auto_garage_laden_bis_soc
    - action: input_boolean.turn_on
      metadata: {}
      data: {}
      target:
        entity_id: input_boolean.auto_laden_garage
  mode: single

Gruß
Sven

ping

Hat denn keiner einen Tipp?

so wäre es richtig:

{{ states('input_number.auto_garage_soc_zielwert') |int(0) }}

Du kannst die Templates bequem im Template Editor testen, bevor Du diese in Automatisierungen, Skripten etc. verwenden tust.

Gruß
Osorkon

Danke für den Tipp.
Im Template Editor geht das, aber in der configuration.yaml nicht:

-> Error loading /config/configuration.yaml: invalid key: "{"states('input_number.auto_garage_soc_zielwert') | int(0)": None}"
 in "/config/automations.yaml", line 440, column 0

Ist irgendwie komisch, aber so funktioniert es:

value: '{{ states(''input_number.auto_garage_soc_zielwert'') | int(0) }}'

Wobei das alles einfache Hochkommas sind.
Verstehe ich nicht wirklich

:crayon:by HarryP: Post formatiert

Was meinst Du mit configuration.yaml??

Wie sprechen hier doch von einer Automatisierung!

entweder:

  value: "{{ states('input_number.auto_garage_soc_zielwert') |int(0) }}"

Oder

  value: |
    {{ states('input_number.auto_garage_soc_zielwert') |int(0) }}

Gruß
Osorkon

Sorry, mein Fehler. Das ist natürlich in der automations.yaml.

Die Variante

value: “{{ states(‘input_number.auto_garage_soc_zielwert’) |int(0) }}”

funktioniert auch, die andere nicht.
Das passt für mich so weit.

Vielen Dank!

Hallo an die Gruppe,

ich bin blutiger Anfänger im HA und arbeite mich langsam in fortgeschrittene Themen ein.

Mein aktuelles Problem ist, einem Sensor unter gewissen Bedingungen den (berechneten) Wert eines Helpers zuzuweisen. Ich habe alle in diesem Thread präsentierten Lösungen ausprobiert, laufe aber immer auf die Fehlermeldung “Message malformed: expected float for dictionary value @ data[‘value’]”. Anbei der Code meiner Automation. Kann mir jemand helfen, worin mein Fehler liegt?

Vielen Dank!

PS: Sorry für den Zahlensalat. Ich habe es noch nicht geschafft, allen meinen Einheiten sprechende Namen zu vergeben. Daran sollte aber der Fehler nicht liegen, oder?

In einer Automation kannst du einem vorhandenen Sender keinen Wert zuweisen. Du kannst einem input_number mit der Anweisung
action: input_number.set_value
einen Wert zuweisen.
Alternativ kannst du den Sensor im template.yaml erstellen und ihm den gewünschten Wert zuweisen.
Ein Hinweis: Nutze bei der Erstellung der Automatisierung möglichst keine Geräte, sondern Entitäten.

Guten Abend Amiko,

danke für Deine Antwort, die ich leider nicht nachvollziehen kann. Ich hätte es vielleicht schreiben sollen: Wenn ich dem Sensor einen festen Wert zuweise, funktioniert die Automation. Nur wenn ich dem Sensor den Wert des Helfers zuweisen will, kommt die besagte Fehlermeldung.

Danke für den Hinweis mit den Geräten, ich werde mein System entsprechend anpassen.

Bei mir in der Automatisierung sieht die Zeile wie folgt aus:

      value:
      - '{{ (states.input_number.wallbox_standby.state) }}'

ohne float, Bei dir fehlt ein Leerzeichen zwischen „|” und „float”. Ob das eine Rolle spielt, kann ich nicht sagen.

Und so sieht bei mir die Anweisung in der Template.yaml aus:

  action:
    - action: input_number.set_value
      data_template:
        entity_id: input_number.min_battery_soc
        value: '{{ states(''input_number.battery_soc_laden_ein'') | int - 3  }}'

Hallo Amiko,

Danke für Deine Hilfe. Ich habe es jetzt geschafft mit einer Lösung, die Deiner sehr ähnlich sieht. Letztlich habe ich über die visuelle Oberfläche nicht für die Entität einen Wert vergeben, sondern eine Zahl festgelegt und diese der Entität zugewiesen. in YAML sieht dies wie folgt aus:

Manchmal muss man beim HA doch um mehr als eine Ecke denken!

Nochmals Danke und viele Grüße