In den Entwicklerwerkzeuge kann nur der Teil ab den geschweiften Klammern {} getestet werden, also das Auslesen der sich ändernden Werte.
Den Code selbst schreibst du in die Datei Configuration.yaml. Bevor du den Rechner neu startest, klicke bei Entwicklerwerkzeuge auf die Schaltfläche „Konfiguration prüfen“. Wenn der Code einen Fehler enthält, darfst du den Rechner auf keinen Fall neu starten.
Hallo @guezli,
kannst du mir nochmal weiter helfen? Ich habe nochmal alles überprüft und bin der Meinung das alles richtig eingebaut habe. Wo kommen die Fehlermeldungen her und wie kann ich meinen Fehler beheben?
Nach - platform: template und battery_alert fehlt noch sensors:
Ich habe dir hier den vollständigen Code für den Sensor. Achte dich bitte auf die Kommentare bei #. Das ist der komplette Aufbau in meiner Yaml.
sensor: #Wenn du den schon in deiner Cofiguration.yaml hast, nicht ein zweites mal hinzufügen
- platform: template #Wenn du den schon in deiner Cofiguration.yaml hast, nicht ein zweites mal hinzufügen
sensors: #Wenn du den schon in deiner Cofiguration.yaml hast, nicht ein zweites mal hinzufügen
#Batteriestand
battery_alert:
entity_id: sensor.date
friendly_name: 'Batteriestand'
unique_id: battery_alert
value_template: >
{% set ns = namespace(below=[]) %}
{% for s in states.sensor
if 'battery_level' in s.entity_id and s.state != 'unknown' and s.state|int < 10 %}
{% set ns.below = ns.below + [ s ] %}
{% endfor %}
{{ ns.below | count }}
attribute_templates:
battery_low: >
{% set ns = namespace(below=[]) %}
{% for s in states.sensor
if 'battery_level' in s.entity_id and s.state != 'unknown' and s.state|int < 10 %}
{% set ns.below = ns.below + [ s.name ~ ' (' ~ s.state ~ '%)'] %}
{% endfor %}
{{ ns.below | join(', ') }}
@guezli Eine schöne Sammlung von Sensoren.
Ich möchte ja kein Klugscheißer sein, aber HA hat die Schreibweise der template Sensoren mittlerweile geändert. Vielleicht für Neueinsteiger die Gelegenheit es gleich in der neuen Schreibweise zu machen. Aktuell funktionieren beide. Noch. Wer weiß wann das geändert wird. Hier die Erklärung.
Ich habe dir mal meine beiden Sensoren ausgegeben. Wie du in den Kommentaren beschrieben hast, habe ich die “Sensor” herausgenommen, da der Punkt ja schon im ersten Template eingebaut war.
-------------------------- EIGENE Templat Sensoren -----------------------------------
{## -------------------------------------------------------------------------------------- ##}
--- Ausgabe aller Batterien mit einem Wert unter 10 % --------------------------------
value_template: >
{% set ns = namespace(below=[]) %}
{% for s in states.sensor
if 'battery_level' in s.entity_id and s.state != 'unknown' and s.state|int < 10 %}
{% set ns.below = ns.below + [ s ] %}
{% endfor %}
{{ ns.below | count }}
attribute_templates:
battery_low: >
{% set ns = namespace(below=[]) %}
{% for s in states.sensor
if 'battery_level' in s.entity_id and s.state != 'unknown' and s.state|int < 10 %}
{% set ns.below = ns.below + [ s.name ~ ' (' ~ s.state ~ '%)'] %}
{% endfor %}
{{ ns.below | join(', ') }}
Das ist der Template-Code
-------------------------- EIGENE Templat Sensoren -----------------------------------
--- Ausgabe aller Batterien mit einem Wert unter 10 % --------------------------------
value_template: >
1
attribute_templates:
battery_low: >
SP Joachim Batterie Level HA App (5%)
In deinem Screenshot ist ein Einrückfehler. Warum schriebt ihr alles in die configuration.yaml und setzt euch nicht mit dem Thema Auslagern auseinander? Gerade das Thema copy Paste bereitet dann auch weniger Probleme.
Ich kann nicht oft genug erwähnen das das Thema packages so hilfreich ist.
Hallo @psyganja,
danke für den Hinweis das, das Aufteilen und Auslagen der configuration.yaml nicht nur den Vorteil hat, den Inhalt auf mehrere Dateien zu verteilen. Ich hatte davon schon gelesen, aber es für mich noch nicht so interessant erachtet, da meine configuration.yaml noch nicht besonders groß ist. Das wird sich aber jetzt ändern.
Da ich kein Programmierer bin und mich gerade noch in YAML hinein denken muss, wehre es nett, wenn du mir sagen könntest, wo mein Einrückfehler. Ich habe es nämlich nicht rausbekommen.