Snapshot via WebRTC in Medien Speicher

Hallo Zusammen,
ich würde gerne mit dem Auslösen des Bewegeungsmelders eine Snapshot der kamera ( WebRTC Stream) in dem Medien - Camera Ordner abspeichern…oder wo es sonst übersichtlich möglich ist.

Einen Snapshot via App-Push verschicken bekomme ich hin. Aber nicht das Speichern.

Ich hab hier auf einer Webseite was gefunden, was gefühlt schon mal in die richtige Richtung geht. :

action:
  - service: camera.snapshot
    target:
      entity_id: camera.g4_dome_high
    data:
      filename: '/config/www/cam_captures/dome_{{ now ().year }}_{{ now ().month }}_{{ now ().day }}_{{ now ().hour }}_{{ now ().minute }}.jpg'

Was ich dann wiederum entsprechend meiner WebRTC Standbild url angepasst habe. Eine entity_id existiert bei WebRTC cams ja nicht. Also etwa so:


action:
  - service: camera.snapshot
    target:
 image: >-
  http://192.168.178.5:1984/api/frame.jpeg?src=rtsp://192.168.178.10:554/stream=1
 data:
      filename: '/media/local/op.jpg_{{ now ().year }}_{{ now ().month }}_{{ now ().day }}_{{ now ().hour }}_{{ now ().minute }}.jpg'

Ich finde immer code schnipsel, wie diese, und bin dann aber überfragt, wo diese eigentlich hin gehören? Wo lege ich den abseites des UI eine Aktion mit eigenem code an? Kommt das auch in die configuration.yaml?

Danke Euch und Grüße

Bei target müsste die Camera Entität rein:

service: camera.snapshot
data:
  filename: /config/www/op_{{ now ().year }}_{{ now ().month }}_{{ now ().day }}_{{ now ().hour }}_{{ now ().minute }}.jpg
target:
  entity_id:
    - camera.g4_dome_high
enabled: true

Der Code ist die Aktion einer Automation. Kannst du auch über die UI machen, indem du in der Automation bei Aktion den Dienst camera.snapshot nimmst und dann alles weiter befüllst.

Es gibt leider keine Camera Entität. Die Generic Kameras schaffen den Stream nicht und brechen immer ohne Bild ab. Daher ist die einzige Möglichkeit, via WebRTC. Und das erzeugt keine Entität.