Ein String ist eine Zeichenkette und die scheint HA hier zu erwarten, aber nicht zu bekommen. In der Regel eingeschlossenen von Anführungszeichen ". Vielleicht muss die URL zum Bild in Anführungszeichen eingeschlossen werden.
Edit: Gleiches gilt für den Punkt message. Dort ist in der Doku auch der Text in Anführungszeichen. Entweder reicht es dort, oder auch bei image.
Das “URL” hat da eigentlich nichts zu suchen. Wenn dann:
data:
filename:
und dann den Pfad zu dem Ordner wo die Snapshots gespeichert werden sollen und auf die ein Zugriff auch möglich ist. Also z.B. etwas in der Art:
data:
filename: /config/www/
data:
filename: /config/tmp/
Ich nutze für die Aufnahme von Kamera-Stream z.B. den Odner media, sodass bei mir der Pfad lautet:
damit ich eben die *.mp4 Aufnahmen dort auch speichern kann.
D.h. meine kompl. Automatisierung wenn jemand an der Haustür an meiner Video-Türklingel klingelt sieht dann so aus:
alias: DB61iOnvif digital input eingeschaltet Aufnahme Dahua starten
description: DB61iOnvif digital input eingeschaltet Aufnahme Dahua starten
mode: single
triggers:
- type: turned_on
device_id: 8273c79def13b414fe676801a237aeaa
entity_id: 0146382a94541df4bb876cb3cd8209cd
domain: binary_sensor
trigger: device
conditions: []
actions:
- metadata: {}
data:
duration: 30
lookback: 0
filename: /media/{{ now().strftime("%Y%m%d-%H%M%S") }}.mp4
target:
entity_id: camera.dahua_hof_mediaprofile_channel1_substream2
action: camera.record
Nur das dann nicht von der Video-Türklingel eine 30 Sek. Aufnahme des Streams erfolgt sondern von einer anderen Kamera die auch die Haustür im Blick hat.
Eine Desktop Benachrichtigung wenn jemand klingel sieht bei mir dann z.B. so aus:
danke für dein Ausführliches Beispiel.
Kurz zur Erklärung, an der Stelle beim “image:” ist “URL” nur Platzhalter.
Der Pfad hat auch ein paar Wochen funktioniert, wenn ich diesen auf https://.......de/config/www/snapshot_doorbell.jpg ändere funktioniert es leider auch nicht.
Wenn ich den Wert des Strings in Anführungszeichen " setzte, werde diese nach dem Speicher automatisch gelöscht (seit dem letzten Update).
ich weiß nicht welche Pfade Du da wo und wie eingerichtet hast und was da mal wie funktioniert hat. Ich kann Dir nur sagen wie es bei mir schon lange funktioniert und wie ich es eingerichtet habe.
Wie gesagt lasse ich die Video-Aufnahmen unter dem Ordner media speichern, sodass sie dann dort erscheinen
und zusätzlich muss der Ordner media als externes Verzeichnis erlaubt werden.
allowlist_external_dirs:
- "/media"
Das einzige was ich zu diesem Thema sonst noch weiß ist das es bei HA im Laufe der Zeit natürlich auch Änderungen bei dem speichern von Medien-Daten gegeben hat und das es vermutlich auch noch irgendwelche andere Wege geben könnte/wird wie und wo man etwas speichern kann. Aber da es bei mir - wie schon gesagt - genau so funktioniert wie ich es hier gepostet habe, interessieren mich mögliche andere Wege nicht wirklich.
Moin, ja das mit dem Pfad war so eine Sache, er muss ja öffentlich sein.
Den Variante www......de/local/tmp/ hatte ich in einem Beitrag gefunden.
Gestern Abend habe ich dann alles einmal alles auf /media/ geändert, nach vielem testen habe ich herausgefunden das der Fehler nicht wie angegeben vom Snapshot kommt sondern doch vom “target” entity_id: camera.doorbell_fliessend (Reolink).
Sobald ich das “Target” entferne bekomme ich wieder die Snapshot’s, hast du eine Idee was die Fehlermeldung in dem Zusammenhang bedeuten könnte?
actions:
- action: camera.snapshot
metadata: {}
data:
filename: /media/snapshot/doorbell_snapshot.jpg
target:
entity_id: camera.doorbell_schnappschusse_klar
- action: notify.all_devices
data:
message: Bewegung vor der Haustür!
data:
image: https://......de/media/doorbell_snapshot.jpg
target:
entity_id: camera.doorbell_fliessend
mode: single
Edit: OK jetzt habe ich glaube ich verstanden was Dein Ziel und Problem ist, aber das müsste ich bei mir erst einmal selber probieren und nachstellen. Heute habe ich dafür aber leider keine Zeit mehr. Vielleicht hat ein anderer User für Dich ja noch die Lösung.
Falls es darum gehen sollte einen Snapshot als Attachment zu versenden könnte das hier ggf helfen:
Edit 2: Ich habe es eben doch schon mal kurz durchgespielt. Also falls Dein Ziel sein sollte das irgendein Auslöser (z.B. die Klingel) eine Benachrichtigung auslöst und dabei ein Snapshot von einer Kamera erstellt werden soll, dann habe ich das eben bei mir auf die Schnelle so umgesetzt. Hier jetzt mal ohne einen Auslöser:
alias: Dahua Hof Snapshot
description: Dahua Hof Snapshot
triggers: []
conditions: []
actions:
- action: camera.snapshot
metadata: {}
data:
filename: /media/{{ now().strftime("%Y%m%d-%H%M%S") }}.jpg
target:
device_id: 5501deb146ecbe0a3a2a7850c3128e94
- action: notify.persistent_notification
metadata: {}
data:
message: Dies ist ein Testnachricht wenn ein Snapshot erstellt wird.
mode: single
Auf dem Desktop erscheint die Benachrichtung
und unter /media werden die Snapshots gespeichert.
Ergo: Deine Message Action darf als Ziel nicht die “camera.doorbell_fliessend” enthalten. Was auch immer das für ein Ziel sein soll.
Falls Du vielleicht doch etwas anderes erreichen willst dann beschreib hier mal was genau das Ziel ist, sprich was soll genau passieren wenn jemand den Klingelknopf bei Dir drückt?
Edit 3: So bin wieder zu Hause. Hier dann kompl. mit Klingelknopf drücken bei meiner Dahua DB61i Video-Türklingel.
Die Device-IDs werden halt automatisch ausgewählt wenn man das entsprechende Gerät über den visuellen Editor hinzufügt. Stattdessen könnte man natürlich auch die entity_id des Gerätes verwenden. Bei der notify-Aktion kannst Du dann ja auch auswählen wo bzw. wohin eine Benachrichtigung gesendet werden soll.
BTW: Die Erstellung kann man kompl. per visuellen Editor machen. Erst wenn man den Pfad für den Speicherort hinzufügt - hier bei mir also filename: /media/{{ now().strftime(“%Y%m%d-%H%M%S”) }}.jpg - muss ab dann die Bearbeitung per yaml-Code erfolgen.