Aufgeteilte configuration.yaml und Template Sensor

Hey, ich habe meine configuration. yaml so aufgeilt:

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include sensor.yaml

Jetzt möchte ich gerne das hier ergänzen:

template:
  sensor:
    - name: "Calculated Light Brightness"
      unit_of_measurement: "Int"
      state: |
        {%- set lux = states('sensor.estimated_illuminance') | int(default=0) -%}
        {%- set perc = (lux / (400 / 100)) | int -%}
        {{ perc }}

sensor:
  - platform: filter
    name: "Filtered Light Brightness"
    entity_id: sensor.calculated_light_brightness
    filters:
    - filter: range
      lower_bound: 1
      upper_bound: 100

Wo genau muss ich das jetzt einfügen ? In die sensor.yaml oder wo anders ?
Ich bin dankbar für jede Hilfe!
Gruß Lukas

1 „Gefällt mir“

Willkommen im Forum
Wenn du es so aufteilen willst, dann in die sensor.yaml.

Aber es gibt mittlerweile einen neuen Weg mit ‘PACKAGES’. Der noch aufgeräumter ist.

Hier der Link zur offiziellen Seite von HA.

2 „Gefällt mir“

Super danke für die Antwort!

Leider bekomme ich für den Code hier immer den Fehler: Incorrect type. Expected “array”.

template:
  sensor:
    - name: "Calculated Light Brightness"
      unit_of_measurement: "Int"
      state: |
        {%- set lux = states('sensor.estimated_illuminance') | int(default=0) -%}
        {%- set perc = (lux / (400 / 100)) | int -%}
        {{ perc }}

sensor:
  - platform: filter
    name: "Filtered Light Brightness"
    entity_id: sensor.calculated_light_brightness
    filters:
    - filter: range
      lower_bound: 1
      upper_bound: 100

Du könntest es so versuchen:

sensor:
  - platform: template
    sensors:
      calculated_light_brightness:
        friendly_name: "Calculated Light Brightness"
        unit_of_measurement: "Int"
        value_template: >
          {%- set lux = states('sensor.estimated_illuminance') | int(default=0) -%}
          {%- set perc = (lux / (400 / 100)) | int -%}
          {{ perc }}
  - platform: filter
    name: "Filtered Light Brightness"
    entity_id: sensor.calculated_light_brightness
    filters:
    - filter: range
      lower_bound: 1
      upper_bound: 100


Bzw. sind das die einzigen Sensoren in deiner sensor.yaml? Oder gibt es da schon Einträge mit template: oder sensor: ? Dann sollten du die jeweils darunter einfügen.

1 „Gefällt mir“

So sollte es in der configurtion.yaml klappen:

template:
  - sensor:
    name: "Calculated Light Brightness"
    unit_of_measurement: "Int"
    state: |
      {%- set lux = states('sensor.estimated_illuminance') | int(default=0) -%}
      {%- set perc = (lux / (400 / 100)) | int -%}
      {{ perc }}

sensor:
  - platform: filter
    name: "Filtered Light Brightness"
    entity_id: sensor.calculated_light_brightness
    filters:
      - filter: range
        lower_bound: 1
        upper_bound: 100

Wenn du in der gesplitteten sensor.yaml bereits sensoren definiert hast, musst du den sensor natürlich dort hinzufügen.

  - platform: filter
    name: "Filtered Light Brightness"
    entity_id: sensor.calculated_light_brightness
    filters:
      - filter: range
        lower_bound: 1
        upper_bound: 100

1 „Gefällt mir“

Ich habe es wie folgt gelöst

Ordner packages angelegt und dann einfach neue YAML-Dateien einfach in den Ordner rein.

  packages: !include_dir_named packages

hat den Vorteil, dass ich nicht jede einzelne Datei im Ordner extra einbinden muss…

Danke für die Antwort so habe ich jetzt auch gemacht.
Mit den einzelnen Dateien für nur Sensoren und co. war ich überhaupt nicht zufrieden und so konnte man ja auch nicht einfach Code Snippets rein kopieren.
Danke!

1 „Gefällt mir“

Besten Dank, funktioniert so perfekt!

1 „Gefällt mir“