Template Sensor (Temperatur) nur wenn binary Sensor "on"

Hallo,
ich möchte mir einen Sensor bauen, der mir die Pool-Temperatur abhängig davon ob die Poolpumpe an ist schreibt. Die Temperatur wird in einem Rohr gemessen und ist nur korrekt, wenn die Pumpe läuft.
Wie würdet Ihr am Besten vorgehen?

Martin

Ein Template Sensor als Helfer. Wenn Switch Pool Pumpe = “on”
Dann die Temperatur von Temp Sensor, sonst Temp = 0

{{ iif(is_state('switch.xyz', 'on'), states('sensor.temeperatur_xyz') | default(0), 0) }}

Gruß
Osorkon

2 „Gefällt mir“

Sehr gut, vielen Dank. Könnte man auch statt “0” bei Pumpe aus, den letzten Wert vom Temperatur Sensor “speichern”, sprich der Wert wird dann eingefroren bis die Pumpe wieder läuft?

Das geht natürlich auch.
Dazu braucht es aber einen weiteren Helfer.
Einen Trigger based Template Sensor. Der beim Ausschalten der Pumpe den Temperaturwert speichert.

Bsp. Trigger Based Template Sensor:

#configuration.yaml
template:
  - trigger:
      - platform: state
        entity_id: switch.xyz
        from: "on"
        to: "off"
    sensor:
      name: Gespeicherte Temperatur
      state: |
        {{ states('sensor.temeperatur_xyz') | float(0)}}
      device_class: temperature
      state_class: measurement
      unit_of_measurement: "°C"
      unique_id: 341ef3cc-df9c-4c0a-b4ec-2af0a053e6fb

Das Template für den Temperatur Sensor würde dann so ausschauen:

{{ iif(is_state('switch.xyz', 'on'), states('sensor.temeperatur_xyz') | float(0), states('sensor.gespeicherte_temperatur') | float(0)) }}

Gruß
Osorkon

1 „Gefällt mir“

Sehr geil, funktioniert :slight_smile: