Hallo zusammen,
ich weiß nicht, ob Interesse an so einem Thema besteht. Aber da Mastershorts TikTok Kanal maßgeblich dazu beigetragen hat, dass Home Assistant und ich zueinander gefunden haben, möchte ich mit diesem Beitrag etwas an die Community zurückgeben.
Diese Vorstellung richtet sich eher nicht an die HA-Pros. Vielleicht kann der/die ein oder andere aber etwas mit dem "Projektchen" anfangen oder lässt sich inspirieren. 😄
Worum geht es?
Ich verwende ein Kamerasystem eines mit Amazon verwandten Herstellers, deren Integration in HA nicht die beste ist. Trotzdem wollte ich mehr aus den Kameras herausholen und auch coole AI-Features nutzen - und das möglichst easy. Im Endeffekt bin ich bei Gemini hängen geblieben. Das System ist simpel:
Ablauf
- Meine Blink-Kamera macht einen Snapshot.
- HA speichert diesen Snapshot.
- HA leitet den Snapshot über die Gemini AI zur Analyse weiter.
- Gemini beschreibt mir den Snapshot in einem Satz.
- HA gibt mir auf meinem iPhone die Beschreibung des Snapshots als Push-Notification aus.
Was Du brauchst
- Einen API-Key für Gemini
- Die Google Generative AI Integration
- Eine frische Automation
Automation
Gib Deine Entity- und Device-IDs an.
Trigger
Richte Dir einen Trigger nach Belieben ein. Bei mir ist es der Bewegungssensor meiner Blink-Kamera
triggers:
- type: motion
device_id:
entity_id:
domain: binary_sensor
trigger: device
Aktionen 1 & 2: Snapshot machen, dann kurz warten
Falls andere Kameraintegrationen auch anbieten, einen Snapshot zu machen, dann lässt sich das möglicherweise auch mit einem anderen Kamerasystem umsetzen.
action: blink.trigger_camera
metadata: {}
data: {}
target:
device_id:
entity_id:
delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
Aktionen 3 & 4: Den Snapshot speichern, dann kurz warten
action: camera.snapshot
target:
device_id:
entity_id:
data:
filename: "{{ image_name }}"
enabled: true
delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
Aktion 5: Bildbeschreibung via Google Generative AI erzeugen
action: google_generative_ai_conversation.generate_content
data:
filenames:
- "{{ image_name }}"
prompt: >-
"Das ist ein Bild meiner Überwachungskamera. Sind Personen zu sehen,
beschreibe diese knapp."
response_variable: cam_ai_output
Aktion 6: Push-Notification senden
Gib Dein Gerät an.
action: notify.mobile_app_liphone_xyz
metadata: {}
data:
title: Bewegung erkannt!
message: "{{ cam_ai_output.text }}"
Am Ende der Automation: Variable image_name definieren
Hier müsst Ihr einen PFAD wählen, der über die configuration.yaml zugänglich ist. Bei mir handelt es sich um eine HDD-Partition unter "media". Den DATEINAMEN könnt Ihr frei wählen. HA speichert die Snapshots mit Dateinamen und Datum ab.
variables:
image_name: >-
[PFAD]/[DATEINAME]_{{ now().strftime('%Y%m%d_%H%M%S')
}}.jpg
Anmerkung: media-PFAD in der configuration.yaml zugänglich machen
Allow folder access
homeassistant:
allowlist_external_dirs:
- "/config/media"
Viel Spaß!
Sebastian