KI-Kamera in Home Assistant — Benachrichtigungen, die keinen verrückt machen

Wie ich die Sentinel-Kamera dazu gebracht habe, nützliche Meldungen zu schicken statt 40 Bewegungsalarme am Tag — eine Automatisierung, ein Stummschalten-Schalter und Aktionsschaltflächen.

#kamera #sicherheit #home-assistant
7. Februar 2025
KI-Kamera in Home Assistant — Benachrichtigungen, die keinen verrückt machen

Die ersten zwei Wochen nach der Installation der Sentinel-Kamera hatte ich Bewegungsbenachrichtigungen aktiviert. Jede einzelne sagte “Bewegung erkannt.” Vögel, Schatten, eine Plastiktüte, die nachts um drei an der Linse vorbeiwehte. Ich schaltete alle aus und ließ die Kamera für einen weiteren Monat nutzlos herumstehen.

Die Lösung war einfacher als erwartet: nur bei Personen und Fahrzeugen auslösen — nicht bei roher Bewegungserkennung — und der Benachrichtigung drei Schaltflächen geben, die tatsächlich etwas tun.

Was die Integration bietet

Nach dem Hinzufügen der Kamera erstellt HA mehrere binäre Sensoren aus der integrierten Erkennung:

binary_sensor.sentinel_motion
binary_sensor.sentinel_person
binary_sensor.sentinel_animal
binary_sensor.sentinel_vehicle

Personen- und Fahrzeugerkennung kommen vom KI-Chip der Kamera. Ziemlich präzise — besser als reine Bewegungserkennung, nicht fehlerfrei. Der Tiersensor hat echte Füchse erkannt und auch, denkwürdig, eine große Plastiktüte, die sich auf eine Weise bewegte, die offenbar lebendig wirkte.

Eine Automatisierung für beide Auslöser

Personen- und Fahrzeugereignisse laufen durch eine einzige Automatisierung im single-Modus. Der Modus übernimmt die Deduplizierung — wenn der Sensor erneut auslöst, während die Automatisierung noch läuft (einschließlich einer 60-Sekunden-Cooldown-Verzögerung am Ende), wird der Auslöser lautlos verworfen.

alias: Sentinel — Kamera & Benachrichtigung
mode: single
max_exceeded: silent
trigger:
  - platform: state
    entity_id: binary_sensor.sentinel_person
    from: "off"
    to: "on"
    id: person
  - platform: state
    entity_id: binary_sensor.sentinel_vehicle
    from: "off"
    to: "on"
    id: fahrzeug
condition:
  - condition: state
    entity_id: input_boolean.sentinel_notifikation_lydlos
    state: "off"
action:
  - variables:
      notif_title: "{{ '\U0001F697 Fahrzeug an der Einfahrt' if trigger.id == 'fahrzeug' else '\U0001F464 Person an der Einfahrt' }}"
      notif_message: "{{ 'Sentinel hat ein Fahrzeug erkannt' if trigger.id == 'fahrzeug' else 'Sentinel hat eine Person erkannt' }}"
  - action: camera.snapshot
    target:
      entity_id: camera.sentinel_fluent
    data:
      filename: /config/www/sentinel_latest.jpg
  - action: notify.alle_enheder
    data:
      title: "{{ notif_title }}"
      message: "{{ notif_message }}"
      data:
        ttl: 0
        priority: high
        channel: Sicherheit
        tag: sentinel_alert
        entity_id: camera.sentinel_fluent
        camera_stream: true
        image: /api/camera_proxy/camera.sentinel_fluent
        actions:
          - action: URI
            title: Kamera anzeigen
            uri: homeassistant://navigate/nyt-mobil/overvagning
          - action: sentinel_flood_on
            title: Flutlicht einschalten
          - action: sentinel_mute_30
            title: 30 Min. stumm
        clickAction: /nyt-mobil/overvagning
  - delay:
      seconds: 60

Der camera.snapshot-Aufruf speichert ein frisches Standbild unter /local/sentinel_latest.jpg, bevor die Benachrichtigung gesendet wird. Die Benachrichtigung selbst enthält einen Live-Kamera-Stream (camera_stream: true) — auf Android mit der HA-Companion-App wird dieser direkt in der Benachrichtigung angezeigt.

Der Stummschalten-Schalter

Die einzige Bedingung ist input_boolean.sentinel_notifikation_lydlos (Benachrichtigung stumm) mit dem Zustand off. Das ist das einzige Gate. Es ist einfacher als eine armed_away-Bedingung — kein Alarmfeld erforderlich, funktioniert unabhängig vom Zuhause/Abwesend-Status, und die Benachrichtigung selbst kann ihn über die Stumm-Schaltfläche umschalten.

Eine separate Automatisierung setzt ihn jede Nacht um Mitternacht auf off zurück, sodass ich nie daran denken muss, ihn wieder einzuschalten.

Aktionsschaltflächen

Die Benachrichtigung hat drei Schaltflächen:

  • Kamera anzeigen — Deep-Link zur Sicherheitsansicht in der HA-Companion-App
  • Flutlicht einschalten — aktiviert light.sentinel_floodlight über eine separate Automatisierung, die auf das sentinel_flood_on-Mobile-Aktionsereignis hört
  • 30 Min. stumm — schaltet den Stummschalten-Schalter für 30 Minuten ein und setzt ihn danach zurück

Behandlung der Stumm-Aktion:

alias: Sentinel — 30 Min. stumm
trigger:
  - platform: event
    event_type: mobile_app_notification_action
    event_data:
      action: sentinel_mute_30
action:
  - action: input_boolean.turn_on
    target:
      entity_id: input_boolean.sentinel_notifikation_lydlos
  - delay:
      minutes: 30
  - action: input_boolean.turn_off
    target:
      entity_id: input_boolean.sentinel_notifikation_lydlos

Fire TV-Benachrichtigung

Dieselbe Automatisierung sendet auch an den Fernseher im Wohnzimmer:

  - action: notify.android_tv_fire_tv_192_168_1_40
    data:
      message: "{{ '\U0001F697 Fahrzeug an der Einfahrt erkannt' if trigger.id == 'fahrzeug' else '\U0001F464 Person draußen erkannt' }}"
      data:
        image: "http://192.168.1.171:8123/local/sentinel_latest.jpg?t={{ now().timestamp() | int }}"
        interrupt: 1

Der ?t=-Parameter erzwingt das Laden eines neuen Bildes — ohne ihn zeigt der Fire TV ein zwischengespeichertes Standbild vom vorherigen Ereignis. interrupt: 1 lässt es auch während der Wiedergabe erscheinen.

Das Dashboard

Die Sicherheitsansicht zeigt Status-Chips und ein 24-Stunden-Logbuch:

type: vertical-stack
cards:
  - type: custom:mushroom-chips-card
    chips:
      - type: entity
        entity: binary_sensor.sentinel_person
        icon: mdi:account
        icon_color: red
      - type: entity
        entity: binary_sensor.sentinel_vehicle
        icon: mdi:car
      - type: entity
        entity: input_boolean.sentinel_notifikation_lydlos
        icon: mdi:bell-off
        tap_action:
          action: toggle
  - type: logbook
    entities:
      - binary_sensor.sentinel_person
      - binary_sensor.sentinel_vehicle
    hours_to_show: 24

Das Logbuch unten ist das, was ich nach einer Reise am häufigsten nutze — einmal durch 24 Stunden Ereignisse scrollen, statt Push-Benachrichtigungen einzeln nachzuspielen.