Template Sensor als Bedingung

Irgendwie bekomme ich es nicht hin.

Ich denke, einen template sensor anzulegen, etwa so:

    sensor_module_failure:
      value_template: true

Dass dort jetzt nur “true” steht, soll nur verdeutlichen, dass ich hiere mehrere Entitäten abfragen will um zu entscheiden, ob ein Fehler vorliegt. Wenn ja, dann soll der Sensor “true” sein, sonst false.

Dann möchte ich eine Chip-card anzeigen, aber nur, wenn der Sensor true ist. Das versuche ich so:

  - type: conditional
    conditions:
      - condition: state
        entity_id: sensor.sensor_module_failure
        state: true
    chip:
      type: template
      icon: mdi:alert-circle-outline

Ich hätte erwartet, dass der Chip angezeigt wird, was er aber nicht tut.

Wie müsste das ganze denn aussehen?

Ein Sensor repräsentiert einen numerischen Wert. Eine ganzen Zahl oder eine Gleitkommazahl.

Ein Sensor kann also den Wert True oder False gar nicht annehmen.

Meinst Du vielleicht, dass Du prüfen will ob der Sensor verfügbar bzw. nicht verfügbar ist? Also einen numerischen Wert liefert oder nicht.

Gruß
Osorkon

Vielleicht ist Sensor wirklich nicht das richtige.

Ich will eine Entität haben, die true oder false ist, je nachdem, ob ein Fehler vorliegt. Der Fehler ist leider nicht nur true/false, sondern ein Sensor hat eine bestimmte Zeit lang keine Werte mehr gesendet.

Und das soll eine Oder-Verknüpung mehrere solcher Sensoren sein. Dann woll ich den Chip anzeigen und dann ein detaillierteres Popup öffnen.

Hier mal was zum Thema, letze Änderung:

Gruß Osorkon

Das mit der Template-Bedingung ist nicht mein Problem.

In condition beim Chip kann ich nur so etwas wie “state” eingeben, “template” und dann “value_template” hat nicht funktioniert. Das wird auch, wenn man den UI-Editor für die Bedingung benutzt, nicht angezeigt. Also dachte ich einen Sensor (oder was auch immer) anzulegen, der alle Module prüft und zusammenfasst. Danach kann ich dessen State in der Condition auswerten.

Update:
Ich habe jetzt mal ChatGPT gefragt. Das Ergebnis ist erst einmal schlüssig, werde es probieren:

template:
  - binary_sensor:
      - name: "Entitäten hängen"
        state: >
          {% set timeout = 600 %}  # Sekunden = 10 Minuten
          {% set entities = [
              'sensor.temperatur',
              'sensor.luftfeuchtigkeit',
              'sensor.stromzaehler'
          ] %}
          {% for e in entities %}
            {% if (now() - states[e].last_updated).total_seconds() > timeout %}
              true
            {% endif %}
          {% endfor %}
          false
        device_class: problem

Womit ich nichts anfangen kann ist “device_class”. Woher weiß man, welche Klassen es gibt und was sie bewirken?

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

Die Dokumentation kann Dir bestimmt weiter helfen.
Konnte Dir ChatGPT nicht helfen bei der Suche nach der Dokuentation? :wink:

Gruß
Osorkon

Du verwendest 3 Ausgaben durch {{xxx}}, es soll aber ein binary_sensor true/false sein.
Ein beliebter Fehler bei ChatGPT ist, daß es den Scope von Variablen nicht beachtet. Das muß man wissen oder durch debuggen herausfinden.
Wissen + ChatGPT = sehr gute Kombi
… + ChatGPT = geht meistens in die Hose

{% set timeout = 600 %}
{% set entities = [
  'sensor.aqara_fenstersensor_mitte_bad_battery',
  'sensor.aqara_oben_schreibtisch_plug_ventilator_power',
  'sensor.aqara_temp_feucht_oben_battery'
] %}

{% set ns = namespace(result=false) %}
{% for e in entities %}
  {% if (as_timestamp(now()) - as_timestamp(states[e].last_updated)) > timeout %}
    {% set ns.result = true %}
  {% endif %}
{% endfor %}

{{ ns.result }}

Geräteklasse - brauchst Du die wirklich?
Wenn ja, kannst Du die im Menü auswählen sofern Du die UI für das Aufsetzen des Template-Sensors verwendest.

Eine Automatisation, die etwas triggert wenn einer der Sensoren Updates > 10 min ist, wäre so

description: ""
mode: single
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.ist_ein_sensor_status_update_lange_her
    from: "off"
    to: "on"
conditions: []
actions: []

Du hast Recht mit ChatGPT. Zumindest die Idee war richtig.

Seltsamerweise bin ich dann dur fixen des Codes von ChatGPT auf das gleiche Ergebnis gekommen, wie du. Danke.

1 „Gefällt mir“

Daumen hoch fürs nicht aufgeben und selber herausfinden. So ein angelerntes Wissen vergißt man nicht.