Template hat Fehler

Moin zusammen,

ich habe nachfolgendes Template in den Entwicklerwerkzeugen erstellt:

-sensors:
 Lichtmaschinenleistung
 friendly_name: “Lichtmaschinenleistung”
 unit_of_measurement: “W”
 value_template ‘{{ (states (“sensor.victron_alternator_battery_voltage_224”) | float) \* (states (“sensor.victron_alternator_battery_current_224”) | float) }}

Im Editor scheint das zu funktionieren.

Stelle ich das dann in die Templates.yaml,

bekomme ich folgenden Fehler angezeigt:

Ws ist da falsch? Ist mein erster Versuch mit Templates….

LG Dieter

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
s.a.: (Neues Update & Features - Hier in der Community 🫶)

In der zweiten Reihe, da hinter fehlt ein Doppelpunkt, also “Lichtmaschinenleistung:”. Außerdem macht man eigentlich ein Leerzeichen zwischen “-” und "sensors:“, also "- sensors“.

Warum keinen Template Sensor über die UI konfigurieren? Damit erspart man sich Fehler in der YAML-Config.

3 „Gefällt mir“

Ich kann @ciddi89 nur zustimmen, benutze die UI.

Hast sogar noch mehr Fehler als er gefunden hat.

Du hast Einrückungen die 3 bzw. 5 Zeichen lang sind, erkennbar an den hellgrauen punkten:


Die Einrückungen müssten anstelle der 3 → 4 sein und anstelle der 5 sollten es 6 sein.

Hinter value_template hast du auch die : vergessen.

Edit:
Die Template Sensoren in der UI findest du bei den Helfern.
Open your Home Assistant instance and show your helper entities.

Außerdem Code bitte als Vorformatierten Text Posten, dafür ist der </> Button im Editor.

LG

1 „Gefällt mir“

Wie macht man das, Einen Template Sensor über die UI konfigurieren?

Wie gesagt, mein erster Versuch in dieser Richtung….

LG Dieter

Einstellungen → Geräte und Dienste → Helfer → Helfer erstellen → Template → Sensor.

Müsste doch eher so sein:

Dein Wort Lichtmaschinenleistung ist entweder ein Kommentar oder es soll was anderes sein.

sensor:
  # Lichtmaschinenleistung
  - name: "Lichtmaschinenleistung"
    unique_id: "lichtmaschinenleistung"

Kommentare mit #

- sensors:
    Lichtmaschinenleistung
      friendly_name: "Lichtmaschinenleistung"
      unit_of_measurement: "W"
      value_template: '{{ (states ("sensor.victron_alternator_battery_voltage_224") | float) * (states ("sensor.victron_alternator_battery_current_224") | float) }}'
 

Ich den Code also jetzt angepasst nach euren Ratschlägen, (hab jetzt auch gerafft, wie man Code hier eingibt…)
Leider bin ich immer noch nicht weiter…

Mit dem UI habe ich auch rumprobiert - da steh ich auch “wie der Ochs vorm Berg”

LG Dieter

Grundsätzlich hast Du erstmal ein Einrückungsfehler, was auch die Fehlermeldung sagt (Indentation error) und zwar in Zeile 3 (das sagt die auch die Fehlermeldung mit (3:20) die 20 ist die Position in der Zeile, kann aber hier ignoriert werden).

Dein friendly_name und die weiteren Angaben müssen bündig unter Lichtmaschinenleistung stehen. Aber:

Zweitens ist die Zeile Lichtmaschinenleistung ungültig, das wird die nächste Fehlermeldung sein, wenn du zuvor den Einrückungsfehler beseitigt hast.

Drittens ist die Funktion states() nicht sauber, wird aber evtl. funktionierten. Entferne hier das Leerzeichen zwischen states und der öffnenden Klammer.

Um all diese Probleme zu umgehen, ist es seit einiger Zeit i.d.R. eigentlich nicht mehr nötig benutzerdefinierte Sensoren über YAML zu erstellen, sie können über die grafische Oberfläche erstellt werden (hier: Template Helper, den Du ja schon gefunden hast).

In Zustand, trägst Du ein was du in Deinen Versuchen unter value_template eingetragen hast. Unter Gerät kannst Du die Helfer-Entität einem Gerät zuweisen, ist aber optional.

Wir nähern uns an…

Aber warum ist der Sensor wieder weg?

Hier ist er doch noch da?

LG Dieter

Wenn ein Sensor nicht kontinuierlich anwesend ist wird er als abwesend erkannt.

Sollte dies der Fall sein warte bis Deine Lichtmaschine wieder Werte liefert.

Manchmal probiert man auch was aus und hat dann eine verwaiste Entität. Die kann man dann löschen.

Moin, wenn der Motor läuft, wechselt die Farbe von grau zu blau - aber trotzdem kein Wert.
Ich vermute mal, dass hier der Hund begraben liegt - rote Meldung:


Leider erschließt sich mir nicht, was ich da tun muss…

LG Dieter

Hallo,

versuche mal das Template so.

{{ states('sensor.victron_alternator_battery_voltage_224') | float(0) * states('sensor.victron_alternator_battery_current_224') | float(0) }}