Sensor-Erstellung auf Basis vorhandener Binary Sensoren

Hallo, ich habe die konkrete Frage, wie die Zustände vorhandener Binary Sensoren zu einem in einen eigenen Sensor so integriert werden können, dass dieser neue Sensor ein eindeutiges Ergebnis liefert.

Dazu der konkrete Anwendungsfall: meine Pool-Pumpe wird je nach Aufgabe mit 3 verschiedenen Drehzahlen betrieben:

  1. zeitgesteuerter Schaltzustand mit einer Leistungsaufnahme von ca. 305 Watt
  2. Schaltzustand für die Rückspülung mit einer Leistungsaufnahme von ca. 630 Watt
  3. Schaltzustand für den Frostschutz mit einer Leistungsaufnahme von ca. 140 Watt

Die Stromversorgung und Messung der Leistungsaufnahme erfolgt mit einer DECT200 Steckdose von AVM. Die Steuerung der 3 Schaltzustände erfolgt mit unterschiedlichen Relais, die hier nicht weiter betrachtet werden.

Die zugehörige Entität lautet: “sensor.pumpe_pool_nicht_schalten_leistung” (Bemerkung: “nicht schalten” resultiert aus der Bedingung, dass die Pumpe darüber nicht gesteuert sondern nur grundversorgt wird)

Dazu habe ich 3 Helfer in Home Assistant vom Typ Schwellenwertsensor eingerichtet:

  1. Zeitschaltung, Entität “binary_sensor.zeitschaltung” (untere Grenze 250, obere Grenze 330, Hysterese 0)
  2. Rueckspuel-Schaltung, Entität “binary_sensor.rueckspuel_schaltung” (untere Grenze 600, obere Grenze 650, Hysterese 0)
  3. Frostschutz-Schaltung, Entität “binary_sensor.frostschutz_schaltung” (untere Grenze 100, obere Grenze 150, Hysterese 0)

Die binären Sensoren können alle den Wert “Aus” liefern (Pumpe ist aus), jedoch nur ein Sensor kann den Wert “An” beinhalten. In Abhängigkeit dieser 4 Zustände soll ein neuer Sensor (z.B. Schaltzustand Pool-Pumpe) die Werte “Aus”, “Zeitsteuerung”, “Rückspülung” oder “Frostschutz” liefern.

Leider habe ich bisher als Home Assistant Neuling nicht geschafft aus den Simon42 YT Videobeiträgen das zugehörige YAML-Script zu erstellen und bitte Euch hiermit um Hilfe.

Vielen Dank und viele Grüße

Herzlich Willkommen hier im Forum.

Versuch mal folgendes unter Entwicklerwerkzeuge → Template

{% if states('binary_sensor.zeitschaltung') == on %}
Zeitschaltung
{% elif states('binary_sensor.rueckspuel_schaltung') == on %}
Rückspülung
{% elif states('binary_sensor.frostschutz_schaltung') == on %}
Frostschutz
{% else %}
Aus
{% endif %}

Was wird dir dort ausgegeben?

Wenn dort das richtige ausgegeben wird, kannst du über Einstellungen → Geräte und Dienste → Helfer einen neuen Helfer vom Typ Template anlegen. Dort wählst du nicht den binären Sensor, sondern den normalen. Ins Feld Zustandstemplate kommt dann der Code. Zwingend ist dann nur noch der Name. Den Rest vergibst du, wie es passt.

Hallo sirector,

ich habe gerade folgendes Script probiert:

{% if states('binary_sensor.zeitschaltung') == 'on' %} 
Zeitschaltung
{% elif states('binary_sensor.rueckspuel_schaltung') == 'on' %}
Rückspülung
{% elif states ('binary_sensor.frostschutz_schaltung') == 'on' %}
Frostschutz
{% else %}
Aus
{% endif %}

die Hochkomma hatten gefehlt, jetzt funktioniert es perfekt.

Vielen Dank nochmals für Deine Unterstützung!!!

:crayon:by HarryP: Codezeilen formatiert