Wer bzw von wo wurde Alarm Ein- bzw. Ausgeschaltet?

Hallo zusammen,

ich habe ein Smart home System der Firma Bosch., sowie einige Alex.dots

Dank Harmonie Assistant und der netten Forumsteilnehmer hier,

sagt mir Alexa, welcher
Tür / Fensterkontakt den Alarm ausgelöst hat.

Auch kann ich mit dem Befehl
“Alexa, Status”
mir aufzählen lassen, welche Türen bzw. Fenster noch offen sind.

Nun würde ich gerne unter
Home Assistant z.B unter Benachrichtigungen nachschauen,
oder über Alexa ausgeben können,
Wer bzw. Von was aus der Alarm Ein- bzw. Ausgeschalten worden ist.

Das Ein- und Ausschalten des Alarms kann von:

dem Handy eines Familienmitgliedes
über die Home Assistant App
(mittels Dashboard)

oder

dem Handy eines Familienmitgliedes
über die Bosch Smart home App
erfolgen.

Oder

über einen Hardware-Schalter
Bosch Smart home Twister

Oder

Über eine Automation in Home Assistant

Die Frage ist, ob das überhaupt geht
.
Alleine wegen der Apps Steuerungen müsste irgendwie das Handy ermittelt werden, von welchem aus die Apps bedient worden sind.

Da scheint mir irgendwie nicht möglich zu sein. Oder gibt es da eine Lösung?

Bei den Automation, müsste dann für jeden Benutzer eine eigene Automation erstellt werden, die zwar alle die gleiche Funktion haben, jedoch irgendwie den Benutzername mit in der Automation abfragbar machen.

Oder denke ich auch hier zu kompliziert?

Vielen Dank für eure Ideen und Meinungen

Moin,

man kann einen Auslöser, bzw. ein auslösendes Ereignis, bei HA schon feststellen, aber das was Du geschrieben hast ist nicht eindeutig.

Ein Tür-/Fensterkontakt löst dann aus wenn der Kontakt unterbrochen wurde und zwar dadurch das eine Tür oder ein Fenster geöffnet wurde. Du kannst also feststellen ob eine Tür oder ein Fenster offen oder zu ist, aber nicht fesstellen wer dann die Tür oder das Fenster geöffnet hat.

Das andere Thema wäre dann: Sollte es bei den Tür- und Fenstersensoren die Möglichkeit geben das man diese aktiviert oder deaktiviert, dann kannst Du natürlich feststellen wer diese aktiviert oder deaktiviert hat. Dafür müsste es dann bei HA für den Tür-/Fensterkontakt auch einen Sensor und eine Entität geben. Was bei meinen Lidl Tür-/Fenstersensoren z.B. nicht der Fall ist. Dort gibt es einen Sensor der den Zustand (auf oder zu) feststellt und signalisiert


aber keinen Sensor für einen Schalter mit dem man den Tür-/Fensterkontakt ein oder ausschalten kann.

→ Offen oder zu ist etwas anderes als aktiviert (einschalten) oder deaktiviert (ausschalten).

Anders Beispiel: Für eine Lampe gibt es einen Schalter. Dieser Schalter hat dann unter HA üblicherweise auch einen Sensor, bzw. eine Entität und dieser Schalter lässt sich dann über HA ein- und ausschalten. Wer dann diesen Schalter “betätigt” und somit geschaltet hat, lässt sich unter HA feststellen (z.B. ausgelöst durch Ereignis x, y, oder z).
Ein Bewegungsmelder lässt sich üblicherweise nicht ein- oder ausschalten, sondern er signalisiert ob er ausgelöst wurde oder nicht. Wer oder was ihn ausgelöst hat kannst Du auch nicht feststellen, weil das auslösende Ereignis halt eine Bewegung ist und Du nicht weiß wer oder was sich vor dem Bewegungsmelder bewegt hat.

D.h. das was Du Dir vermutlich vorgestellt hast funktioniert so nicht.

VG Jim

@Jim_OS Vielen Dank für deine Hilfe.

Verstehe ich das so richtig?.

Wenn jetzt der Alarm von irgendeinem Handy in der App Home Assistent deaktiviert wurde,
kann man im Protokoll auslesen, das der Alarm deaktiviert wurde,

jedoch kann man nicht auslesen von welchem Handy aus der Alarm deaktiviert wurde.

Dies wäre jedoch wiederum wichtig, um festzustellen, welcher Benutzer den Alarm deaktiviert hat.
Handy = Benutzer

Du musst einfach mal genauer beschreiben was Du unter “Alarm” verstehst. Ein öffnen oder schließen eines Fensters löst halt keinen “Alarm” aus, sondern signalisiert nur ob ein Fenster geöffnet oder geschlossen ist.

Wenn dieser Tür- oder Fensterkontakt z.B. noch bei einer Alarmanlage eingebunden wäre, könnte ein öffnen oder schließen einer Tür oder Fensters bei der Alarmanlage einen Alarm auslösen und Du könntest dann über die Alarmanlage sehen welcher Tür- und Fensterkontakt den Alarm ausgelöst hat, aber nicht wer.
Was Du auch sehen könntest wäre wer eine Alarmanlage ein- oder ausgeschaltet (aktiviert/deaktivert) hat, aber das hat halt nichts mit Alarm ausgelöst zu tun.
Sollte diese Alarmanlage auch noch bei HA eingebunden und dort entsprechende Sensoren dafür vorhanden sein, könntest Du über HA auch erkennen welcher Tür- oder Fenstersensor geöffnet wurde und somit bei der Alarmanlage einen Alarm ausgelöst hat, aber auch dann wieder nicht wer (Person) die Tür oder das Fenster geöffnet oder geschlossen hat.

Edit: Sofern “Alarm” aber nichts mit dem

zu tun haben sollte ist das natürlich etwas anderes:
Welcher Tür-Fenstersensor wurde aktiviert = Ja lässt sich erkennen.
Wer (im Sinne von Person) hat welchen Tür-/Fensterkontakt aktiviert, sprich eine Tür oder Fenster geöffnet = Nein lässt sich nicht erkennen.

Sorry aber anders kann ich das nicht be- oder umschreiben, bzw. erklären. :slightly_smiling_face:

VG Jim

Du kannst in Home Assistant differenzieren „wer ein Gerät/ Entität geschalten hat.
In Deinem Fall geht es wohl um das Alarm Control Panel oder Ähnliches.

Es lässt sich differenzieren zwischen:

  • User, bedient über die Home Assistant Companion App - User ID
  • Durch eine Automatisierung
  • Oder alles andere also physisch per Schalter, eine andere App etc.

Bsp. Siehe hier:

Gruß
Osorkon

Danke Euch beiden für die Hilfe.

@Osorkon du hast es auf den Punkt gebracht. Genau das meinte ich.

@Jim_OS sorry für meine sprachliche Ungenauigkeit.
Es geht mir darum wer den Alarm aktiviert / deaktiviert hat.

Ich habe das verwirrende Beispiel mit meinen Fenster- Türkontakten nur gebracht, um zu erklären, dass ich dort sehen kann. Welche Fenster / Türen geöffnet worden sind?.

In Deinem Fall geht es wohl um das Alarm Control Panel oder Ähnliches.

Es lässt sich differenzieren zwischen:

  • User, bedient über die Home Assistant Companion App - User ID
  • Durch eine Automatisierung
  • Oder alles andere also physisch per Schalter, eine andere App etc

I
Genau das meinte ich
Ich werde mir das genannte Beispiel ansehen.

Vielen lieben Dank
Frank

Nachtrag

Verstehe ich, dass so richtig?
Ich muss alles mit diesen Zeilen verbinden.

{% if ident == (true, false, false) %}

Ich habe vier Benutzer (das sind dann die User-IDs)

person.tim
person.susanne
person.vanessa
person.frank

Automation

Diese Automationen schalten den Alarm ein oder aus

automation.alarm_durchsage_30_12_2023

Wenn der Alarmanlage scharf geschalten wurde, wird dreimal das Fenster bzw der Sensor genannt, welches den Alarm auslöste.
Erst wenn der Alarm mit der App von home assistant oder Bosch Smart home ausgeschalten wurde, hört dies auch auf.

Die wenn Abfrage der Automation.
Hier sind alle Zustände in denen die Alarmanlage scharf geschalten werden kann enthalten

condition: or
conditions:
  - condition: state
    entity_id: alarm_control_panel.intrusion_detection_system
    state: armed_away
    enabled: true
  - condition: state
    entity_id: alarm_control_panel.intrusion_detection_system
    state: armed_custom_bypass
    enabled: true
  - condition: state
    entity_id: alarm_control_panel.intrusion_detection_system
    state: armed_home
    enabled: true
alias: Alarm muss eingeschalten sein

Das fragt ab, ob der Alarm ausgeschalten ist.

condition: state
entity_id: alarm_control_panel.intrusion_detection_system
state: disarmed
enabled: true

Hier die Bosch Smart Home App

Hier die Systemeinstellung der Bosch Smart home App wo die Handys eingetragen sind.

Ich verstehe jetzt nicht, wie ich die Benutzer ID der Personen herausfinden kann, die die die Bosch Smart home App verwenden um z.b Alarmanlage ein und auszuschalten.

Jeder Benutzer, der auf der Bosch Smart home App mit seinem Handy eingetragen wurde, sieht dann dieses Bild um die Alarmanlage ein und Auszuschalten.

Automation in der Bosch Smart home App

Die Alarmanlage selbst wird über eine Automation {Uhrzeit) in der Bosch Smart home App ein und ausgeschaltet

Wunsch bzw Ziel

Darüber hätte ich gerne eine Benachrichtigung in Home Assistent, wann und von welchem Benutzer oder von welcher Automation die Alarmanlage ein und ausgeschaltet wurde. Die Benachrichtigungen sollten dann vielleicht nach zwei Tagen automatisch gelöscht werden

Hoffentlich habe ich das so richtig verständnisvoll erklärt.

Danke euch allen

@Osorkon könntest du bitte den obigen Beitrag ab Nachtrag
ansehen?

Ich weiß nicht wie ich die Wenn Dann Automation einrichten kann.

In Wort wäre das doch glaub ich so:

Wenn der Alarm über die Home Assistent App aktiviert worden wäre.
(Die Home Assistent App wird dadurch erkannt, dass Benutzer User die Person Tim in der Befehlszeile steht.)

Wenn Benutzer User-ID person.tim
den Alarm auf Zuhause entity_id: alarm_control_panel.intrusion_detection_system
state: armed_away schaltet

Dann erstelle in Home Assistent die Nachricht
"Tim hat den Alarm mit der Option Zuhause aktiviert.

Wird der Alarm von Tim über die Bosch Smart home App aktiviert, müsste in der Befehlszeile
die Bosch Smart Home App und die Person Tim stehen.
Der Rest wäre dann gleich, wie bei der Abfrage von Home Assistent App.

Für die Bosch Smart home App habe ich aber keine User-ID für Tim Google Pixel 7a

Mit fehlt also zum einen der konkrete richtige syntex zum anderen die User-ID wenn die Aktivierung über die Bosch Smart home App mit Tim Google Pixel 7a getätigt wird.

Ich wäre dir dankbar, wenn du mir hier weiterhelfen könntest

Vielen Dank
Frank

Das wird nicht funktionieren. Wenn Du über die Bosch App schalten tust, kann Home Assistant nicht differenzieren, wer das getan hat. Das wäre dann die Kategorie „Physisch“
Also nicht über eine Automatisierung und nicht über das Dashboard UI.

Dent User lässt sich also nur ermitteln, wenn die Home Assistant App benutzt wurde.

Gruß
Osorkon

@Osorkon vielen Dank,

Könntest du mir helfen, wie ich die Automation führt das Schalten aus Home Assistent heraus erstellen kann, so dass ich dann für ein zwei Tage darüber eine Benachrichtigung bekommen würde, wenn der Alarm darüber eingeschaltet wurde.

Die Bosch Smart home App hat für mich einen grossen Nachteil, und zwar dass sie keine Backupfunktion hat.
Von daher würde ich nämlich lieber nur über Home Assistant alles laufen lassen und steuern.

Vielen Dank
Frank

Wie Du Deine Alarmanlage in Home Assistant integrieren kannst und wie Du diese aus Home Assistant heraus aktivieren/ deaktivieren kannst. Da bin ich leider überfragt.

Eine Automatisierung die den Namen der Person ausgibt welche z.B. das Alarm Control Panel in Home Assistant aktivieren tut, könnte so aussehen:

alias: Wer hat die Alarmanlage scharf gestellt?
description: ""
triggers:
  - trigger: state
    entity_id:
      - alarm_control_panel.home_alarm
    to: arming
    variables:
      user_id: "{{ trigger.to_state.context.user_id }}"
      user_name: >
        {% set user = None %}
        {% set matching_users = states.person | selectattr('attributes.user_id', '==', user_id) | list %}
        {% set user = matching_users | first if matching_users | length > 0 else "System" %}
        {{ user if user == "System" else state_attr(user.entity_id,"friendly_name") }}
conditions: []
actions:
  - metadata: {}
    data:
      message: |
        Alarmanalage aktiviert durch {{ user_name }}
    action: notify.xyz
mode: single

Wenn kein Home Assistant User dahinter steckt, wird “System” ausgegeben.

Gruß
Osorkon

1 „Gefällt mir“

@Osorkon vielen Dank.
Das ist einfach Klasse was du da zauberst.

Die Alarmanlage wird in HomeAssistent wie folgt aktiviert.
Jedes Familienmitglied hat auf seinem Handy die HomeAssisten App und die sieht wie in den folgenden Bildern aus.

Wenn man hier auf das grüne Feld neben Alarm Ein/Aus klickt öffnet sich folgendes Fenster, wo man die Alarmanlage in einen der 4 Zustände aktivieren oder deaktivieren kann?.

Im der Home Assistent App heissen, die Zustände wie folgt:

Zuhause
Abwesen
Benutzerdefiniert
Deaktiviert

Im Programmcode heissen, die Zustände wie folgt:

armed_home
armed_away
armed_custom_bypass
disarmed

Ich erstelle jetzt eine Automation.
Einstellungen
Automatisierungen und Szenen
Automatisierung erstellen
Neue Automatisierung erstellen
Klicke rechts oben auf die drei Punkte
Als YAML bearbeiten
Kopiere dort dein Code hinein
Speichere es ab

Frage
Muss ich noch eine Variable ändern? Mit dem Benutzername eine Familienmitgliedes?

person.tim
person.susanne
person.vanessa
person.frank

Vielen Dank
Frank

Ich habe mich jetzt doch getraut bekommen, aber folgende Fehlermeldung.

Muss ich diese Zeile

entity_id:
      - alarm_control_panel.home_alarm

Durch das hier ersetzten?

entity_id: alarm_control_panel.intrusion_detection_system

Was gebe ich bei Notify.xyz ein?
Ist das irgendeine Alexa?
Die heissen bei mir wie folgt:

notify.alexa_media_last_called media_player.alexa_wohnzimmer
media_player.echo_plus_kuche

Wie Mein Handy heißt ?
Falls es das ist, wo finde ich den korrekten Namen?

Oder

In einer anderen Automation, wo bei mir abgefragt wird, welche Alarmzustand eingeschaltet wurden ist, sieht die Befehlszeile wie folgt aus. Vielleicht kannst du daraus erkennen, was ich ändern muss.

alias: Home Assistent Alarmsystem Status Abfrage
sequence:
  - action: alexa_media.update_last_called
    metadata: {}
    data: {}
    enabled: true
  - delay:
      hours: 0
      minutes: 0
      seconds: 0
      milliseconds: 2
  - action: notify.alexa_media_last_called
    metadata: {}
    enabled: true
    data:
      message: >-
        Alarmsystem {% if
        states('alarm_control_panel.intrusion_detection_system') == "disarmed"
        %} ist ausgeschaltet. {% elif
        states('alarm_control_panel.intrusion_detection_system') == "armed_away"
        %} ist im Profil Vollschutz aktiv. {% elif
        states('alarm_control_panel.intrusion_detection_system') == "armed_home"
        %} ist im Profil Teilschutz aktiv. {% elif
        states('alarm_control_panel.intrusion_detection_system') ==
        "armed_custom_bypass" %} ist im Profil Individuell altiv. {% else %} hat
        ein unbekannten Status. {% endif %}
icon: mdi:shield
mode: single

Es ist keine Fehlermeldung, sondern ein Hinweis, dass bei Verwendung von Templates der visuelle Editor nicht zur Verfügung steht.

Der folgende Fehler unbekannte Aktion notify.xyz, liegt einfach daran, das es sich um einen Platthalter handelt.
notify.xyz musst Du gegen einen Benachrichtig Dienst, den Du verwenden möchtest ersetzen.

Du musst nur die Trigger Entität ersetzen und den Benachrichtigung Dienst. Der Name der Person wird automatisch ermittelt und wir mit

{{ user_name }} ausgegeben.

Gruß
Osorkon

1 „Gefällt mir“

@Osorkon vielen Dank für die schnelle Antwort.

Ich dachte dass wäre eine Fehlermeldung

Error in describing tigger
cannot read propteries of
undefined ( reading entity_id)

Der folgende Fehler unbekannte Aktion notify.xyz, liegt einfach daran, das es sich um einen Platthalter handelt.
notify.xyz musst Du gegen einen Benachrichtigung Dienst, den Du verwenden möchtest ersetzen.

Ohje, das verstehe ich nicht ganz.
Ich war der Annahme, dass diese Benachrichtigung in der Home Assistant App unter Benachrichtigungen erscheint.

Was wäre dann ein benachrichtigungsdienst?
WhatsApp oder eine E-Mail Adresse?
oder eine Alexa z.B.
media_player.alexa_wohnzimmer

Tut mir leid, dass ich so viel Frage.
Da ich aber noch eine Zeit lang hier im Krankenhaus bleibe muss, wollte ich auf Nummer sicher gehen bevor ich mit dem Handy hier was verdummbeudle.


Du musst natürlich auch deine Entity ID beim Trigger nehmen, @Osorkon hat da auch nur ein Bsp. gesetzt.

Wenn du es unter Benachrichtigungen haben willst, nimmst du notify.persistent_notification

@maxe @Osorkon

Vielen lieben Dank!
Jetzt bekomme ich eine benachrichtigung, jedoch steht noch nicht drin. Wer den Alarm aktiviert hat.

Mir ist auch nicht klar, was für eine
entity_id ich eingeben muss.
Wenn ich
person.frank
eingebe bekomme ich folgende Fehlermeldung.

Wo finde ich meine entity_id und schreibe ich die genau dorthin, wo ich jetzt person.frank hingeschrieben habe?

Die Benachrichtigung sieht wie folgt aus.

Vielen Dank auch für eure Geduld.

Du hast es doch schon selber geschrieben

1 „Gefällt mir“

@maxe

Vielen Dank, ich wusste nicht, dass das stimmt.
Aber so funktioniert es.
Bin gespannt, ob es so auch alle familienmitglieder auf ihr Handy die benachrichtigung bekommen.

Hier der Code, falls noch jemand den braucht.

alias: Wer hat die Alarmanlage scharf gestellt?
description: ""
triggers:
  - trigger: state
    entity_id:
      - alarm_control_panel.intrusion_detection_system
    to: arming
    variables:
      user_id: "{{ trigger.to_state.context.user_id }}"
      user_name: >
        {% set user = None %} {% set matching_users = states.person |
        selectattr('attributes.user_id', '==', user_id) | list %} {% set user =
        matching_users | first if matching_users | length > 0 else "System" %}
        {{ user if user == "System" else
        state_attr(user.entity_id,"friendly_name") }}
conditions: []
actions:
  - metadata: {}
    data:
      message: |
        Alarmanalage aktiviert durch {{ user_name }}
    action: notify.persistent_notification
mode: single

Wieder viel gelernt. Danke euch allen.

Nachtrag

Es wird angezeigt. Wer hat den Alarm eingeschaltet? Hat, aber nicht wer ihn ausgeschaltet hat.
Kann man das noch dahingehend erweitern?

Besten Dank,
Frank

einen 2. Trigger anlegen, der auslöst, wenn zu disarmed wechselt. Dann muss aber auch noch die Message geändert werden.

Edit: oder du machst einfach eine 2. Automatisierung mit dem o.g. Trigger.

@maxe Vielen Dank. Hat mit der 2. Automation geklappt.

alias: Wer hat die Alarmanlage ausgeschalten?
description: ""
triggers:
  - trigger: state
    entity_id:
      - alarm_control_panel.intrusion_detection_system
    to: disarmed
    variables:
      user_id: "{{ trigger.to_state.context.user_id }}"
      user_name: >
        {% set user = None %} {% set matching_users = states.person |
        selectattr('attributes.user_id', '==', user_id) | list %} {% set user =
        matching_users | first if matching_users | length > 0 else "System" %}
        {{ user if user == "System" else
        state_attr(user.entity_id,"friendly_name") }}
conditions: []
actions:
  - metadata: {}
    data:
      message: |
        Alarmanalage deaktiviert durch {{ user_name }}
    action: notify.persistent_notification
mode: single

Aber ganz ehrlich, ohne eure Hilfe bekommt man so etwas ja nicht hin.
Besten Dank, dass ihr mich an eurem wissen teilhaben gelassen habt

Frank

Deine Wünsche gehen ja auch schon viel weiter als bei einem Standard-User.
Und dann muss man eben viiieeeel lesen, probieren, weiter lesen, weiter probieren …