meine Frage bezieht sich auf eine Auswahl (ID) die ich mal versuchen möchte.
Als Auslöser habe ich die Sache mit den ID schon gefunden, nun finde ich aber unten für die Aktion nichts, wo ich die beiden erstellten Auslöser (An und Aus) einfügen kann.
sie startet nun und die erste Aktion wird ausgeführt. Die Meldung wird versandt.
Wenn die Pumpe dann auch wirklich eingeschaltet ist, sollte eigentlich die Aktion 2 ausgeführt werden und eine weitere Meldung verschicken. Dies wird aber nicht gemacht. Auch die dritte Meldung kommt nach Ausschalten der Pumpe nicht an.
Muss ich vielleicht den Modus auf “neu starten” setzen? Oder was mache ich falsch?
alias: Alarm Meldung Wasserstand am Erker an pushover
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.wassersensor_erker
from: null
to: "off"
id: An
for:
hours: 0
minutes: 0
seconds: 5
- platform: state
entity_id:
- binary_sensor.wassersensor_erker
id: Aus
from: null
to: "on"
for:
hours: 0
minutes: 0
seconds: 5
condition: []
action:
- choose:
- conditions:
- condition: trigger
id:
- An
sequence:
- service: notify.pushover
data:
message: Wasserstand am Erker hoch gemeldet.
title: Pumpe wird gestartet.....
data:
sound: vibrate
priority: 2
retry: 30
expire: 0
- conditions:
- condition: trigger
id:
- An
- condition: device
type: is_on
device_id: 9bef419d8508dcf943f8e62c6338119a
entity_id: 40ace684beb32e0f85c0926628046be1
domain: switch
sequence:
- service: notify.pushover
data:
message: Wasserstand weiterhin hoch
title: Pumpe ist nun eingeschaltet worden!
data:
sound: vibrate
priority: 2
retry: 30
expire: 0
- conditions:
- condition: trigger
id:
- Aus
- condition: device
type: is_off
device_id: 9bef419d8508dcf943f8e62c6338119a
entity_id: 40ace684beb32e0f85c0926628046be1
domain: switch
sequence:
- service: notify.pushover
data:
message: Wasserstand am Erker wieder unten.
title: Pumpe war insgesamt 10 Minuten eingeschaltet!
data:
sound: vibrate
priority: 2
retry: 30
expire: 0
mode: single
Du triggerst von null zu off/on, daher kommt die zweite Meldung nicht. Entferne das from, dann sollte das triggern gehen.
Oder setzt du den binary_sensor irgendwie zwischenzeitlich auf null?
Ebenfalls löst der Trigger nur beim Wechsel des Status aus, soll heißen, wenn sie einmal an ist, triggert die Automation nicht noch einmal auf “An”, daher wird dein zweiter Abschnitt nicht ausgelöst.
Auch bin ich mir nicht sicher, ob man bei einem choose überhaupt zweimal den gleichen Trigger nehmen kann, oder ob dann immer nur der erste ausgeführt wird.
Womit triggerst du denn das ein/ausschalten der Pumpe?
Hier verschickst du nur Nachrichten.
Möglicherweise kannst du das in die an/aus Automatisierung hinzufügen.
Oder dann auf Laufzeit der Pumpe triggern, um zu zeigen, dass sie noch läuft.
Das hier ist aber nur das triggern auf einen Wassersensor.
Die Pumpe selbst dürfte das device sein, welches du in den Aktionen als Bedingung drin hast, aber nirgends in der sequence um sie ein oder auszuschalten
Ja korrekt. 10 Minuten Nachlauf also. Der Sensor gibt sozusagen einen Notwasserstand an. Durch 10 Minuten Pumpe an ist der Pegel Erfahrungsgemäß wieder da wo er sein sollte.
Super vielen Dank das hat super geklappt. Läuft so wie ich es mir erhofft habe.
Ich würde gern die Direktverknüpfung aus der CCU3 löschen und als Automation in HA einbauen.
Wie lautet die Automation, wenn als Trigger der Wassersensor sein soll, der die Pumpe sofort einschaltet und erst nach dem der Wassersensor wieder aus ist, einen Nachlauf von 5 Minuten der Pumpe einstellt?
Als Trigger nimmst du deinen Wassersensor.
Bei erkanntem Wasser kannst du die 5 Sekunden drin lassen oder den Zeitraum auch entfernen, dann schaltet er (mehr oder weniger) sofort die Pumpe an.
Der zweite Trigger ist dann der Wechsel zu kein Wasserkontakt für 5 Minuten.
Bei der Aktion dann jeweils Pumpe an bzw. aus.
Ja, du musst bei den triggern und den Aktionen mit den IDs arbeiten.
Allerdings würde ich versuchen, mit den Entitäten zu arbeiten und nicht mit den Geräten.
Geräte-IDs sind einmalig. Wenn es mal kaputt gehen sollte, musst du deine Automatisierung anpassen.
Bei Verwendung der Entität kannst du ein neues einfach wieder so nennen wie das alte und die Automatisierung funktioniert ohne Änderung.
Kann ich diese eingestellte Zeit (for:) irgendwie unten in den Aktionen abfragen?
Ich verschicke ja Nachrichten, wenn die Pumpe einschaltet oder ausschaltet. Wenn sie dann ausschaltet, soll in der Nachricht so etwas wie:
Pumpe lief x Minuten stehen.
Nachtrag:
Ich habe es nun versucht mit history_stats. Einen Sensor für die letzten 10 Minuten angelegt. In meiner Nachricht soll dieser Inhalt des Sensors (die Minuten) verschickt werden. Wie erhalte ich diesen Wert? Mit
Du kannst dir einen Helfer “input_datetime.xxx” anlgen, in den du beim starten die aktuelle Uhrzeit und Datum einträgst.
Zur Trigger-ID “An” dann diese Aktion ergänzen:
Beim Stopp der Pumpe ( Trigger off) ziehst du diesen Wert dann von dem jetzigen Zeitpunkt ab und gibst ihn aus.
Den entsprechenden Message-Code dann bei dir in deine Message einfügen. Für den Test habe ich es in eine Persistent gepackt
service: persistent_notification.create
metadata: {}
data:
message: |
{% set dauer = (as_timestamp(now()) - as_timestamp(states('input_datetime.test1'))) | timestamp_utc | as_timestamp | int %}
{% set dauer_min = (dauer / 60) | int %}
{% set dauer_sec = (dauer - dauer_min * 60) | int %}
{% set ausgabe = '' %}
{% if dauer_min >= 1 %}
{% set ausgabe = dauer_min | string + ' Minute und' %}
{% if dauer_min > 1 %}
{% set ausgabe = ausgabe | replace('Minute','Minuten') %}
{% endif %}
{% endif %}
{% set ausgabe = ausgabe + ' '+ dauer_sec | string + ' Sekunden' %}
Die Pumpe lief für {{ ausgabe }}