Nutzt du Home Assistant und hast Bewegungsmelder, welche im Eingangsbereich installiert sind?

Wenn ja, ist ein einfaches eine Mini Alarmanlage zu "bauen", welche Nachrichten verschickt, wenn jemand das Haus oder die Wohnung betritt.


Was es braucht

  • Eine laufende Home Assistant Instanz
  • Einen oder mehrere Bewegungsmelder (Türöffungskontakte gehen natürlich auch)
  • Das Mosquitto Broker Add-on und die MQTT Integration
  • 3 Automatisierungen
  • 1 Switch (Platform: Template)
  • Die Home Assistant App oder IFTTT
  • Ein Nabucasa Abo

Wie es funktioniert

Jedes Mal, wenn jemand den Raum betritt ändert der Bewegungsmelder, in meinem Falle ein Philips Motion Sensor, den Status des binary_sensor.philips_motion_sensor_1_motion von clear auf detected.

Diese Statusänderung kann mit einer Automatisierung abgefangen und eine Nachricht an eine Person geschickt werden. Damit nicht unzählige Nachrichten verschickt werden, kann das Versenden der Nachrichten deaktiviert werden. Weiter gibt es noch die Möglichkeit nur auf die erste Statusänderung zu reagieren oder nach dem Versenden einer ersten Nachricht für eine gewisse Zeit zu pausieren und dann erst wieder Nachtrichten zu versenden. Diesen Teil beschreibe ich nicht im Artikel.

Installation

Ich gehe hier nur auf das Erstellen der Automations-Script, des Switches und der Integration ins Dashboard ein. Für alles andere gibt unzählige Anleitung im Internet.

  1. Ein/Auschalter für die Alarmanlage erstellen, damit das Versenden von Nachrichten aktiviert und deaktiviert werden kann. Und zu gleich verhinderst du auch, dass du während dem Aufsetzen des Alarms mit Nachrichten geflutet wirst.
    Gehe dazu im Configurations Ordner deiner Home Assistant Instanz zu den Switch/Schalter Konfuration. Bei mir heisst das Verzeichnis config/switches und die YAML Datei hat den Namen surveillance_stairs_switch_01.yaml.
    Kopiere den nachfolgenden Code in deine neue YAML Datei und passe die Namen entsprechend Deiner Konfiguration/Namenskonventionen an.

      platform: template
      switches:
        surveillance_hallway_switch:
          friendly_name: "Surveillance Hallway"
          unique_id: surveillance_hallway_switch_01
          value_template: "{{ states('sensor.surveillance_hallway_sensor_01') }}"
          turn_on:
            - service: mqtt.publish
              data:
                topic: mqtt_switch_state/surveillance_hallway_01
                payload: on
                qos: 1
                retain: true            
          turn_off:
            - service: mqtt.publish
              data:
                topic: mqtt_switch_state/surveillance_hallway_01
                payload: off
                qos: 1
                retain: true      
          icon_template: >-
              {% if is_state('sensor.surveillance_hallway_sensor_01', 'True') %}
                mdi:alarm-light
              {% else %}
                mdi:alarm-light-off
              {% endif %}     


    Der Switch/Schalter funktioniert folgendermassen:
    Beim Einschalten wird die Nachricht surveillance_stairs_01 mit dem Inhalt on in die MQTT Queue mit dem Namen mqtt_switch_state gestellt. Wird der Switch/Schalter ausgeschaltet wird Inhalt der Nachricht auf off geändert und der Alarm (das Versenden der Nachricht) ausgeschaltet. Der Alarm bleibt solange eingeschaltet bis die Nachricht oder der Inhalt auf off ändert. Ein Neustart von MQTT hat keinen Einfluss auf den Status.

  2. Als nächstes erstellen wir 2 Automatisierungen, welche beim Aktivieren und Deaktivieren des Alarms eine Nachricht verschicken. Ich habe bewusst 2 einfache Automatisierungen anstatt einer aufwendigeren gewählt.
    Dazu gehst Du zu Einstellungen - Automasierungen & Szenen - klickst auf Automatisierung erstellen - wählst Neu Automatisierung erstellen (Beginne mit einer leeren Automatisierung von Grund auf neu).
    Klicke oben rechts auf die 3 Punkte und dann auf Als YAML bearbeiten.
    Ersetze den bestehenden Inhalt mit dem nachfolgenden Code und passe die Namen entsprechend Deiner Konfiguration/Namenskonventionen an.

    alias: Surveillance activated
    trigger:
      - platform: state
        entity_id: switch.surveillance_hallway_switch
        from: "off"
        to: "on"
    action:
      - service: notify.mobile_app_my_devices
        data:
          message: Surveillance Hallway activated!
          title: home-assistant
          data:
            image: https://ha.mywebserver.com/armed.png
    mode: single

    Erstelle anschliessend die zweite Automatisierung mit nachfolgendem Code

    alias: Surveillance deactivate
    trigger:
      - platform: state
        entity_id: switch.surveillance_hallway_switch
        from: "on"
        to: "off"
    action:
      - service: notify.mobile_app_my_devices
        data:
          message: Surveillance Hallway deactivated!
          title: home-assistant
          data:
            image: https://ha.mywebserver.com/unarmed.png
    mode: single


    Die Automatisierungen funktionieren folgendermassen:
    Wird der unter 1. erstellte Schalter betätigt ändert sich der Status von switch.surveillance_hallway_switch von on zu off oder von off zu on. Die Automatisierungen versenden beim Betätigen des Switches/Schalter jeweils die entsprechende Aktivierungs- oder Deaktivierungs-Nachricht. Als Service verwende ich die Home Assistant Mobile App. Damit die App die Nachrichten auch erhält, wenn man unterwegs ist, verwende ich Nabu Casa URL. Es geht natürlich auch anders aber mit Nabu Casa ist es viel einfach und ich unterstütze zusätzliche das Home Assistant Projekt.
    Die Nachricht geht an alle Geräte welche ich zum Empfangen von Notifications definiert habe. Auch dazu gibt es unzählige Anleitungen.

    name: mobile_app_my_devices
    platform: group
    services:
      - service: mobile_app_phone
      - service: mobile_app_tablet


    Um das ganze noch ein wenig aufzupeppen schicke ich jeweils noch ein farbiges Icon mit image: https://ha.mywebserver.com/unarmed.png
    Was man dazu braucht ist ein Verzeichnis auf einem öffentlich zugänglichen Webserver auf welchem man die Icons/Grafiken ablegen kann. Im aktuellen Fall ist das ein grünes, geschlossenes Vorhängeschloss, wenn der Alarm aktiviert und ein rotes, offenes Vorhängeschloss, wenn der Alarm deaktiviert. 

  3. Abschliessend muss jetzt noch die Automatisierung erstellt werden, welche die Nachrichten verschickt, wenn der Alarm aktiviert ist.
    Erstelle dazu nochmals eine neue Automatisierung, wie unter 2. beschrieben, mit nachfolgendem Inhalt:

    alias: Surveillance activated - motion detected Hallway Philips
    trigger:
      - platform: state
        entity_id:
          - binary_sensor.philips_motion_sensor_5_motion
        from: "off"
        to: "on"
    condition:
      - condition: state
        entity_id: switch.surveillance_hallway_switch
        state: "on"
    action:
      - service: notify.mobile_app_thomas_devices
        metadata: {}
        data:
          message: Surveillance Hallway - Motion detected
          title: home-assistant
          data:      data:
            image: https://ha.mywebserver.com/motion-sensor.png
      - delay:
          hours: 0
          minutes: 0
          seconds: 30
          milliseconds: 0
    mode: single


  4. Alarm Ein/Aus Schalter auf dem Dashboard
    Wähle das Dashboard aus auf welchem der Schalter installiert werden soll. Wechsle in den Editier-Modus und klicke auf Karte hinzufügen. Wähle dann im Reiter Auswahl nach Karte Manuell aus und ersetze den Code mit dem Nachfolgenden, mache die entsprechenden Anpassungen und klicke auf Speichern.

    entities:
      - entity: switch.surveillance_hallway_switch
        icon: mdi:alarm-light
        name: Überwachung aus/ein
        secondary_info: last-changed
    show_header_toggle: false
    type: entities


Jetzt sollte alles bereit zum Testen sein. Eventuell hast du ja schon vorgängig nach jedem einzelnen Schritt getestet.

In der Übersicht deiner Automatisierungen klickst du auf die 3 Punkte rechts von der Automatisierung, welche du testen willst und wählst ausführen aus. Wenn alles richtig definiert erhältst eine Nachricht auf das von dir angegebene Endgerät. Und natürlich funktioniert jetzt noch der Live-Test.

 

Copyright © tomputer.ch