Separate templates.yaml

Hi zusammen,

wenn ich meine Template Sensoren in eine separate templates.yaml auslagern möchte und diese template: !include templates.yaml in der configuration.yaml einbinden möchte
wie muss der Inhalt der templates.yaml dann aufgebaut sein.

so?

template:
  - sensor:
      - name: "Example Sensor 1"
        state: "{{ states('sensor.some_sensor_1') }}"
      - name: "Example Sensor 2"
        state: "{{ states('sensor.some_sensor_2') }}"

oder so?

sensor:
  - name: "Example Sensor 1"
    state: "{{ states('sensor.some_sensor_1') }}"
  - name: "Example Sensor 2"
    state: "{{ states('sensor.some_sensor_2') }}"

oder so?

- sensor:
    - name: "Example Sensor 1"
      state: "{{ states('sensor.some_sensor_1') }}"
    - name: "Example Sensor 2"
      state: "{{ states('sensor.some_sensor_2') }}"

oder so?

  - sensor:
      - name: "Example Sensor 1"
        state: "{{ states('sensor.some_sensor_1') }}"
      - name: "Example Sensor 2"
        state: "{{ states('sensor.some_sensor_2') }}"

Keine der Varianten hat bei mir funktioniert.
(Habe auch jedes mal HA neu gestartet)
Die templates.yaml liegt im gleichen Verzeichnis config wie die configuration.yaml

Gruss

- platform: template
  sensors:
    temperatur_wohnzimmer:
      friendly_name: "Temperatur Wohnzimmer"
      unit_of_measurement: "°C"
      value_template: "{{ states('sensor.some_temperature_sensor') }}"

- platform: mqtt
  name: "Luftfeuchtigkeit"
  state_topic: "home/livingroom/humidity"
  unit_of_measurement: "%"

Das ist die alte Schreibweise, die möchte ich möglichst nicht mehr

1 „Gefällt mir“

In Neuer Schreibweise müsste es so sein

- type: template
  sensors:
    temperatur_wohnzimmer:
      name: "Temperatur Wohnzimmer"
      unit_of_measurement: "°C"
      state: "{{ states('sensor.some_temperature_sensor') }}"

- type: mqtt
  name: "Luftfeuchtigkeit"
  state_topic: "home/livingroom/humidity"
  unit_of_measurement: "%"

genau darüber bin ich gerade gestolpert :grinning:

ich habe:
in der configuration.yaml =>

template: !include_dir_merge_list template_yaml/

dann einen Ordner im HA Verzeichnis =>

in diesem Ordner befinden sich viele xxx.yaml Dateien, wie die vorne heißen ist egal (auch diese xxx.yaml würde funktionieren)

dein Beispiel wäre dann

#template:
  - sensor:
      - name: "Example Sensor 1"
        state: "{{ states('sensor.some_sensor_1') }}"
      - name: "Example Sensor 2"
        state: "{{ states('sensor.some_sensor_2') }}"

das ‚#template:‘ könntest du auch löschen, ist ja eh nur noch ein Kommentar

So kann man besser sortieren und auch mal schnell deaktivieren (einfach die Endung ändern, in was auch immer)

@ HA-Sascha
Aber der Sinn deiner Sensoren verstehe ich nicht

Thema Alte/Neue Schreibweise ist auch nicht wirklich in der Doku von HA

Splitting up the configuration - Home Assistant

also hier nix mit ‚s‘

#template:
  - sensor:
      - name: "Example Sensor 1"
        state: "{{ states('sensor.some_sensor_1') }}"
      - name: "Example Sensor 2"
        state: "{{ states('sensor.some_sensor_2') }}"

So hatte ich es bereits versucht.
Problem: wenn man das in Studio Code Server speichert wird alles um 2 Leerzeichen nach links versetzt also so:

#template:
- sensor:
    - name: "Example Sensor 1"
      state: "{{ states('sensor.some_sensor_1') }}"
    - name: "Example Sensor 2"
      state: "{{ states('sensor.some_sensor_2') }}"

Wird das dann noch richtig interpretiert?

was meinst du damit?

ja sollte auch so noch korrekt funktionieren.
Die Einrückung nach links im Studio Code Server wird sicherlich durch das auskommentierte #template: verursacht.

Erster Post von dir :hugs:
Das ‚s‘ ist zu viel in deiner configuration.yaml

Das ist ja auch richtig so. Du fängst quasi immer ganz vorne an. Ohne vorangestellte Leerzeichen. Sonst müsste man ja bei einem Include ein paar Eben „tiefer“ genau zählen wieviele Leerzeichen vorangestellt werden müssen.

Also

- sensor:
    - name: "Example Sensor 1"
      state: "{{ states('sensor.some_sensor_1') }}"
    - name: "Example Sensor 2"
      state: "{{ states('sensor.some_sensor_2') }}"

Habe ja oben schon gefragt wofür diese Template Sensor überhaupt da sind :blush: Übungssensoren für dieses Vorhaben?

Hier werden lediglich die Entitäts-ID geändert, das könnte ich auch in den Einstellungen ändern.

Nun gut @HA-Sascha
Gib’s da zufällig noch die Orginal Einträge in deiner configuration.yaml?
Also auch dort noch template: Einträge? Das wird dann nämlich nix

ja klar das waren nur Muster.

Ich habe mein Problem mittlerweile herausgefunden.
Habe aber bisher nur einen Workaround dagegen gefunden.

Meine Sensoren sind alle verschwunden nachdem ich sie umgezogen habe.
Gesucht habe ich immer nach der definierten unique_id z.B. current_day_num
und habe ihn dann nicht gefunden.
Die unique_id wird aber wohl ignoriert und das Template wird mit dem name Tag angelegt also sensor.heute_tag

      - name: "Heute Tag"
        unique_id: current_day_num
        state: "{{ as_timestamp(now()) | timestamp_custom('%d') }}"

Meine Lösung:
Ich ändere name auf den Wert von unique_id.

Das hättest du komfortabel mit Helfer Template Sensor in der Oberfläche erledigen können :smiling_face_with_sunglasses:

Aber schön das es jetzt funktioniert :+1:

War ja nur ein Beispiel.
Die anderen sind komplexer.

Habe ich auch gerade hier beschrieben :wink:

Und