ich habe eine Frage zu blueprints. Kann man diese erweitern? Versuche gerade einen blueprint zu Rauchmeldern, der sehr gut funktionert, aber nur eine notify.notify Meldung abgibt um eine Meldung zu pushover zu erweitern. Dort erhalte ich aber eine Fehlermeldung:
Message malformed: extra keys not allowed @ data[‘service’]
Habe ich versucht. Dann läuft die Automation allerdings nicht mehr. So sieht sie aktuell aus:
blueprint:
name: Alarm Rauchmelder
description: Wenn einer der Rauchmelder Rauch erkennt, werden Push Nachrichten an
die mobile Apps verschickt und eine Benachrichtigung erstellt.
domain: automation
input:
sensor:
name: Rauchmelder
description: Liste der Rauchmeldersensoren
selector:
entity:
multiple: true
device_class:
- smoke
titel:
name: Meldungstitel
description: Titel für die Meldung beispielsweise !! Feueralarm !!
default: ' !! Feueralarm !!'
selector:
text: {}
text:
name: Meldungstext
description: Text (Inhalt) der Meldung. Der eingegebene Text wird an den Namen
des Sensors, der ausgelöst hat, angehängt. [Name des Sensors]+[Meldungstext]
default: ' hat Rauch erkannt!'
selector:
text: {}
source_url: https://gist.github.com/user-x-adm/cf8c86cca7376595f47b5e9ff6c6beb9
trigger:
- platform: state
entity_id: !input sensor
to: 'on'
condition: []
variables:
text_var: !input text
action:
- service: notify.notify
data:
title: !input titel
message: '{{trigger.to_state.name}} {{text_var}}'
- service: notify.persistent_notification
data:
title: !input titel
message: '{{trigger.to_state.name}} {{text_var}}'
mode: single
- service: notify.pushover
data:
message: >-
{% for entity in trigger.to_state.attributes.entity_id %} {% if
states(entity) == 'on' %} {{ state_attr(entity,'friendly_name') }}
meldet Rauchalarm! {% endif %} {% endfor %}
title: Rauch endeckt!
data:
sound: persistent
priority: 2
retry: 60
expire: 3600
mode: single
Hallo und vielen Dank für Deine Hilfe. Eine Automation die funktioniert bei Wasseralarm mit pushover sieht so aus:
alias: Alarmmeldung bei Wasser in der Waschküche
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.wassersensor_waschkuche_wasserstand_erkannt
- binary_sensor.wassersensor_waschkuche_feuchtigkeit_erkannt
from: null
to: "on"
condition: []
action:
- service: notify.pushover
data:
message: Wassermelder Waschküche hat ausgelöst.
title: Wasser auf den Boden!
data:
sound: persistent
priority: 2
retry: 60
expire: 3600
mode: single
Jemand der so viel Ahnung hat und blueprints schreibt kennt nicht pushover? Cool. Schau Dir mal den Dienst an, der macht Alarme auf das Handy mit hoher Lautstärke und hoher Priorität. Auch bei Ton aus etc.
Ich vermute das dein Ziel die Verwendung der Gruppe als Auslöser ist … was etwas unterschiedlich zu meinem Blueprint ist.
In dem Fall würde ich dir empfehlen eine komplette Automation zu erstellen, die funktioniert und dann daraus einen Blueprint zu machen. So gehe ich immer vor, wenn ich einen Blueprint erstelle. Aus anderen Blueprints hole ich mir dann Anregungen für die Erstellung der Eingabe/Auswahlfelder.
Man lernt immer noch etwas hinzu Bis jetzt habe ich den Dienst noch nicht genutzt. Aber guter Hinweis - schaue ich mir mal an.
Aber wenn ich nun eine komplett neue Automation schreibe, wo alle Feuermelder als Auslöser enthalten sind und über die Action dann der pushover Dienst durchgeführt wird. Wie kann ich dann in der Nachricht den State, bzw. Namen des Feuermelders rausbekommen, der dann in der Nachricht aufgeführt wird? Bin da leider noch recht neu mit den states etc.
Wenn du eine neue Automation mit der Liste der auslösenden Melder (wie in deinem Beispiel mit den Wassermeldern) anlegst, sollte für den Message text mein Beispiel funktionieren {{trigger.to_state.name}}. Sie gibt den Namen des Sensors wieder, der ausgelöst hat. Das müsstest du als Message text verwenden. Leider geht das nicht so easy im visuellen Editor. Ich würde deshalb empfehlen, dass du erst einmal die Automation erstellst, mit ganz normalen Meldetext wie in deinem Beispiel und erst danach den normalen Text durch den Template text ersetzt.
Wenn du genau wissen möchtest wie die Meldung der “state” aussieht, müsstest du unter Entwicklungswerkzeuge “mit lauschen” Hast du aber wahrscheinlich noch nicht gemacht …?
Idee: Bitte ausprobieren, ob der pushover dienst überhaupt funktioniert. Das bitte unter Entwicklungswerkzeuge den Dienst mit ein paar Standardmeldungen manuell starten …
Der Dienst läuft. Ich habe einen Test mit den Wassermeldern mit normalen Text gemacht. Der geht einwandfrei. Nur eben das Einfügen von state.to oder dem auslösenden Melder klappt nicht.
Habe mal {{ trigger.to_state.attributes.friendly_name }} versucht. Klappt nicht.
Das kann nicht klappen da du nur einen Test des Dienstes gemacht hast - oder?
Das Template mit trigger.to kann nur ausgeführt werden, wenn tatsächlich einer deiner Rauchmelder auslöst oder du den Status in den Entwicklerwerkzeugen manuell selbst setzt (wobei ich letzteres auch noch nicht ausprobiert habe)
der Name ist der Name des Sensors, der ausgelöst hat. Das Template in den Klammern wird durch den Namen ersetzt. Die Ausgabe ist dann z.B. Rauchmelder Küche hat ausgelöst. So ist es jedenfalls bei mir.