Template-Ordner, Fehler in der yaml Datei

Moin,
Ich bin neu in diesem Forum, habe aber bereits einige Erfahrungen mit HA gesammelt. Ich habe momentan ein kleines Problemchen und hoffe, dass mir hier jemand helfen könnte.Ich habe viele Sachen in der Datei „template.yaml” programmiert. Die Datei „template.yaml” ist ziemlich groß geworden. Um die Übersichtlichkeit zu verbessern, habe ich einen Ordner „template” erstellt und die Datei „template.yaml” auf mehrere Dateien aufgeteilt. Damit es funktioniert, habe ich die Datei „configuration.yaml” mit dem folgenden Eintrag angepasst:
template: !include_dir_list:template
Ich weiß, dass das Einrücken in diesem Fall anders gemacht wird. Mit den Sensoren funktioniert es, aber mit den Triggern habe ich ein Problem. Der Trigger selbst wird akzeptiert, aber der Sensor im Trigger verursacht einen Fehler.

Da du dein Code nur als Bild bereitstellst hier einmal mit dem Bsp. sensor aus der HA Doku

So wäre es direkt in der configuration.yaml:

template:
  - triggers:
      - trigger: time_pattern
        # This will update every night
        hours: 0
        minutes: 0
    sensor:
      # Keep track how many days have past since a date
      - name: "Not smoking"
        state: '{{ ( ( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round(default=0) }}'
        unit_of_measurement: "Days"

und so wen du es in einer extra YAML hast:

- triggers:
    - trigger: time_pattern
      # This will update every night
      hours: 0
      minutes: 0
  sensor:
    # Keep track how many days have past since a date
    - name: "Not smoking"
      state: '{{ ( ( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round(default=0) }}'
      unit_of_measurement: "Days"

Also alles wander 2 Leerzeichen nach links.

So wie du es grade hast sind fast alle Einrückungen falsch.

Nächstes mal Code bitte als Vorformatierten Text Posten:

LG

Danke dir, ich habe den Fehler gefunden: Einige Trigger weiter unten waren nicht richtig eingerückt. Jetzt erhalte ich keine Fehlermeldung mehr.

#  Werte Wallbox kWh total Stand morgen früh speichern  
trigger:
- trigger: time
  at: "00:05"
  sensor:
    - name: wallbox ladevorgang startwert Tag
      unique_id: "wallbox_ladevorgang_startwert_tag"
      state_class: "measurement"
      unit_of_measurement: "kWh"    
      state: '{{ states("sensor.wallbox_kwh_total") | float(0) }}' 
# Startwer Woche 
#    - trigger: time
#      at: "00:05"
- trigger: template 
  value_template: '{{ now().weekday() == 0 and now().hour == 0 and now().minute == 5 }}'
#  condition:
#      condition: template
#      value_template: "{{ now().weekday() == 0 }}"
  sensor:
    - name: wallbox ladevorgang startwert Woche
      unique_id: "wallbox_ladevorgang_startwert_woche"
      state_class: "measurement"
      unit_of_measurement: "kWh"    
      state: "{{ states('sensor.wallbox_kwh_total') | float(0) }}" 

Update:

Moin! Ich habe mich zu früh gefreut: Seit ich dem HA mitgeteilt habe, wo sich die Template-Yamls befinden, gibt es die gleichen Fehlermeldungen.
In derselben Datei habe ich die Sensoren oben projektiert. Vertragen sich die Sensoren nicht mit den Triggern? Benötigt man für die Trigger eine separate Datei?

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Beachte triggers und trigger!

Wie meinst du das? !include_dir_list akzeptiert nur einen Eintrag pro Datei.

So sieht es bei mir aus.

sensor:        
# --------------------------------------------------------------------        
#Test delay-Funktion im Template
# -------------------------------------------------------------------- 
- name: "test delay in template"
  unique_id: "test_delay_in_template"
  state: > 
        {% set t_time = states('input_number.aktualisierungszeit_min') | float(0) %}
        {% set t_temp = states('sensor.test_delay_in_template') | float(0) %}
        {% set t_wert = states('input_number.in_strom_l1') | float(0) %}  
        {% set t_minutes = t_time // 60 %}   
        {% set t_seconds = t_time - (t_minutes * 60) %}     
        {% if t_wert > 30 %}
          {{ t_wert + 10 }}
        {% else %} 
          {% set t_temp = 5 %}
        {% endif %} 
        {{ t_temp  | round(0) }} 
      
# --------------------------------------------------------------------       
#Test, Zeit für den Timer wandeln
# -------------------------------------------------------------------- 
- name: "Walbox Sendeintervall"
  unique_id: "walbox_sendeintervall"
  state: > 
        {% set t = states('input_number.aktualisierungszeit_min') | int %}
        {{'{:02d}:{:02d}:{:02d}'.format((t // 3600) % 24, (t % 3600) // 60, (t % 3600) % 60) }}  
        
- name: Day of the week
  state: "{{ now().weekday() }}"
        
binary_sensor: 

Und dann weiter unten in derselben Datei.

trigger:  

# -------------------------------------------------------------------- 
#  Wallbox Werte speichern       
# -------------------------------------------------------------------- 
- trigger: template # die Wallbox ausschalten
  value_template: '{{ ((states("sensor.charging_state") | int == 2) or (states("sensor.charging_state")
        | int == 3)) and (states("sensor.wallbox_kwh_total") | float(0) != states("sensor.wallbox_startwert_letzter_ladevorgang") | float(0)) }}'
  sensor:
    - name: wallbox vorletzter ladevorgang
      unique_id: 94744448-0b31-11f0-9cd2-0242ac120002
      state_class: "measurement"
      unit_of_measurement: "kWh"    
      state: '{{ states("sensor.wallbox_letzter_ladevorgang") |float(0) }}'
    - name: wallbox letzter ladevorgang
      unique_id: 7b3af177-4c71-461c-b040-d1a8b25df128
      state_class: "measurement"
      unit_of_measurement: "kWh"    
      state: '{{ states("sensor.wallbox_kwh_total") |float(0) - states("sensor.wallbox_startwert_letzter_ladevorgang") |float(0) }}' 
    - name: wallbox startwert letzter ladevorgang
      unique_id: "wallbox_startwert_letzter_ladevorgang"
      state_class: "measurement"
      unit_of_measurement: "kWh"    
      state: '{{ states("sensor.wallbox_kwh_total") | float(0) }}' 

Ich habe es probiert, aber es macht keinen Unterschied.

Dann trenne die Sensoren entsprechend der Dokumentation zu !include_dir_list.

2 „Gefällt mir“

Eigentlich wollte ich mehrere Trigger zu einer Gruppe, also zu einer YAML-Datei, zusammenfassen. Ein Trigger pro YAML-Datei macht für mich keinen Sinn.

Ich kann mich nur selbst zitieren.

Triggers wird sofort als Fehler rot markiert.

Wenn du eine Idee hast, was ich da falsch mache, immer her damit.

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Ich würde das so probieren:

- triggers:
  - trigger: time
    at: "00:05"
    sensor:
      - name: wallbox ladevorgang startwert Tag
        unique_id: "wallbox_ladevorgang_startwert_tag"
        state_class: "measurement"
        unit_of_measurement: "kWh"    
      state: '{{ states("sensor.wallbox_kwh_total") | float(0) }}'

Eventuell ist “sensor” zu weit eingerückt.

Den Bindestrich vor „trigger” so, wie du ihn vorschlägst, kann man in der Template.yaml verwenden. Ich wollte aber einen Template-Ordner mit mehreren YAML-Dateien verwenden. Da ist kein Bindestrich vor „trigger” erforderlich.

Aber den Unterschied zwischen triggers und trigger hast du gesehen?
Schau dir an, was @totow verlinkt hat. Das sollte helfen.

habe ich, bei Verwendung von !include_dir_list ist kein Bindestrich vorhanden.
In dem Beispiel geht es um die Automation, ich benutze aber template.
Ich kann nicht sagen, wieso, aber auch in der Datei „template.yaml” wird bei mir triggers nicht akzeptiert.

sensor: ist immer noch zu weit eingerückt.

Dann solltest du nicht dir_list verwenden, wenn du mit einem Trigger-Block mehrere Sensoren bedienen willst.

Auf welcher HA-Version bist du?

Wenn du meinen letzten Screenshot meinst, dann ist es nicht so. Der Sensor ist richtig eingerückt. Ich habe den Screenshot so gemacht, dass man sieht, dass es sich um „template.yaml” und nicht um eine YAML-Datei aus dem Template-Ordner handelt.

Die Idee war eigentlich, mehrere Trigger für unterschiedliche Sensoren in einer Datei zu packen.

Ich kann mich nur wiederholen. dir_list akzeptiert nur einen Eintrag pro Datei. Wähle eine andere Art, die configuration.yaml zu splitten, bspw. dir_named.

Ich habe es verstanden, deswegen habe ich geschrieben:
Ein Trigger pro YAML-Datei macht für mich keinen Sinn.

Ich danke dir für den Tipp. Ich werde es nachschauen.