Hallo,
im Konkreten geht es darum, dass ich solange regelmäßig benachrichtigt werden möchte, dass die Haustür offen ist, bis diese geschlossen wird…
Mein Problem bei meinem unten stehenden Code ist, dass die Benachrichtigung 9x ausgegeben wird obwohl ich längst die Tür geschlossen habe!
alias: HaustürOffen
description: ""
trigger:
- type: opened
platform: device
device_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
entity_id: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 7
condition: []
action:
- repeat:
while:
- condition: state
entity_id: binary_sensor.eve_door_a61d_haustur
state: "on"
for: "00:00:03"
sequence:
- service: notify.alexa_media_zuhorenbitte
data:
message: Vorsicht die Haustür ist offen
title: Haustür
data:
type: announce
methode: all
- service: notify.mobile_app_MeinHandy_local
data:
message: Vorsicht die Haustür ist offen
title: HaustürOffen-Handy
mode: single
Zum einen ist Code schwierig zu lesen, wenn er nicht als Code formatiert ist.
Und wieso prüfst Du in der while Schleife noch, dass länger als X geöffnet ist? Wenn getriggert wurde ist dies ja der Fall. Also die Zeit Prüfung braucht es nicht.
Und wieso einmal Gerät und einmal Entität? Wenn Du beides mal die Entität prüfst, ist dies deutlich einfacher / sinnvoller.
Mal eben aus der Hüfte geschossen:
alias: "Tür Benachrichtigung "
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.wohnungstur_door_sensor
for:
hours: 0
minutes: 0
seconds: 10
to: "on"
condition: []
action:
- repeat:
sequence:
- service: notify.mobile_app_iphone_13_pro
data:
message: Tür zu, es zieht!
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
until:
- condition: state
entity_id: binary_sensor.wohnungstur_door_sensor
state: "off"
mode: single
Wenn meine Wohnungstüre länger als 10 Sekunden offen steht, erhalte ich alle 10 Sekunden eine Benachrichtigung, bis die Türe wieder geschlossen wurde.
Das dürfte sein, was Du möchtest, oder?
Entitäten usw. musst Du anpassen. Habe es nur schnell getippt.
Na ja ich kann eigentlich nicht programmieren! ich habe diesen Code mit “+ Automatisieren erstellen” in Home Aassistant" und als YAML-bearbeiten geöffnet und kopiert.
Alles gut. Unter dem Zahnrad, wenn Du auf mobil bist, bei größeren Displays direkt, siehst Du die Option „Vorformatierter Text“. Damit wird Dein Code so dargestellt, wie Du ihn einfügst.
Siehst Du ja an meinem Beispiel oben. Habe es nicht anders gemacht und es schnell am Handy über die App gemacht.
Benachrichtigungen kommen bei mir gerade aufs Handy. Aber hier gibt es keine Alexa. (Nur eine Aleksandra, aber die ist gerade arbeiten und würde mich eher doof anschauen, wenn sie alle zehn Sekunden etwas wiederholen soll… )
Wenn Du eine neue Automatisierung anlegst, diese als yaml bearbeitest, den vorhandenen Code löschst, meinen Code einfügst, in die visuelle Bearbeitung wechselst und die Entitäten änderst und aus der Aktion ne Alexa Ansprache machst, sollte es funktionieren.
Sehr sehr gerne. Vor allem, wenn es so einfach geht.
Als Tipp: Arbeite nicht mit Geräten sondern im besten Fall mit Entitäten. Der große Vorteil ist, dass wenn Du mal ein Gerät austauschen musst, weil es z.B. defekt ist, kannst Du es genau so benennen und es hat die selbe Entität. Dann läuft die Automatisierung nach Austausch weiter.
Wenn Du das Gerät verwendest, ist es auf dieses Gerät festgelegt. Selbst wenn Du es gegen das baugleiche Modell ersetzt, ist es ein anderes Gerät.
Eine Automatisierung ändern ist möglich. Zehn Automatisierungen ändern ist nervig. Wenn es mehr werden potenziert sich diese Nervigkeit.
Und ja, es sind noch wenige Automatisierungen. Aber wir haben alle mal mit „nur diese Kleinigkeit“ angefangen.
Ich überlege jetzt gerade, dass es sinnvoll wäre so eine Automatisierung bei mir einzureichen, auch wenn es (eigentlich) nicht vorkommt, dass die Türe offen bleibt.
Aber für Fälle die nicht vorkommen sollten, ist es um so sinnvoller, dass man entsprechend vorsorgt.
Na ja bei mir geht es um die Katze, die uns so schon mal so entlaufen ist
Vielleicht kennt das jemand hier:
Frau kommt hektisch nach Hause und muss dringend aufs Klo…
Der Schlüssel bleibt in der Tür stecken und die Tür bleibt offen
…und schon ist die Katze weg
ich klinke mich hier ein.
Irgendwo habe ich gelesen, dass wenn der Trigger seinen Zustand nicht verändert wird keine neue Benachrichtigung losgetreten.
Meine Automation sieht so aus und sollte, beim Messen des Abstands >40cm eine Nachricht auf Handy schicken.
Heute ist es wohl soweit, dass die Messung über 40cm ergab.
Nur, ich habe bereits 100Benachrichtigungen aufs Handy gekriegt.
Ich bräuchte aber lediglich nur eine, damit ich weiss, ich muss den Salz in die Anlage nachfüllen.
Wie kann ich das anstellen?:
Die Automatisierung sieht gut aus. Ich vermute aber, dass der Abstand ganz knapp bei 40cm liegt und immer wieder drüber und drunter meldet. Schau mal bei Verlauf nach dem sensor.bwt_bwt_salzstand
Edit:
Wenn dich z. B. nur 1x am Tag solch eine Meldung interessiert, könntest du eine Condition/Bedingung setzen
leider ist das mir eine Nummer zu hoch.
Aber der Beitrag hat mich auf die Idee gebracht, mit einem Helfer zu arbeiten,
der Beim Auslösen der Nachricht auf ON gesetzt wird und dessen OFF Zustand das Absenden erlaubt.
Ich muss mir noch überlegen, wie ich ihn zurücksetzen kann wenn das Salz nachgefüllt wurde…