Bon, je tourne en rond et je bloque.
Je ne trouve toujours pas comment envoyer ma video dans la notif’.
J’arrive à le faire si la video est dans config/www
, mais pas depuis /share/motioneye
Vous allez me dire, pas de problème, tu n’as qu’à mettre config/www
comme chemin d’enregistrement des vidéos Motioneye. Cependant, si je change ce paramètre Motioneye me prend les snapshots, mais plus les vidéos… ne me demandez pas pourquoi
Encore une fois, si quelqu’un avait une idée ou une piste ?
Je vous en remercie par avance.
Essaye allowlist_external_dirs
OUI !!! ça marche !!!
Par contre pour recevoir la vidéo le chemin c’est /media/motioneye/camera1/03-10-2022/16-07.mp4
, alors que {{ trigger.event.data.file_path }}
renvoi /share/motioneye/camera1/03-10-2022/16-07.mp4
.
Un moyen de modifier {{ trigger.event.data.file_path }}
pour changer le /share/
en /media/
?
Tu corriges à la volée dans ton automatisation de message, comme pour un template
Heu, désolé, je ne comprends pas de quoi tu me parles. (excuse → noob inside )
Les templates, c’est un peu un des mécanismes de base
Donc en résumé (parce que je vais te laisser chercher un peu quand même ) il faut faire un remplacement de la chaine /share/
par /media/
dans ton automatisation au moment ou tu indiques le chemin…
Donc il faut adapter cette ligne :
Quelques fonctions jinja dont celle qu’il te faut
https://svn.python.org/projects/external/Jinja-1.1/docs/build/builtins.html
Parce que tu ne crois pas que je cherche depuis hier ?
ça j’avais compris
HA voilà, je pensais que pour moi c’était du Chinois, en fait c’est du Jinja
Bon ok, je vais chercher un peu, je mourrais peut être un peu moins c…
Bon, je pense qu’il faut que j’implémente cette ligne :
{{ "share"|replace("share", "media") }}
Mais c’est là que je bloque, je ne sais pas où et comment. J’ai beau regarder la page des Template, je ne comprends rien.
Juste comme ça ? →
data:
video: {{ "share"|replace("share", "media") }} {{ trigger.event.data.file_path }}
L’idée est là mais c’est beaucoup plus simple |
permet de chainer les opérations
Donc la variable (son contenu en réalité) et ensuite le remplacement
data:
video: {{ trigger.event.data.file_path|replace("share", "media") }}
Wouah, super !
Par contre, il ne me le prend pas dans mon automatisation.
service: notify.mobile_app_tel_de_nico
data:
title: La caméra du portail
message: test video
data:
video: {{ trigger.event.data.file_path|replace("share", "media") }}
Le message d’erreur :
Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/connection.py:140
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 15:49:42 (1 occurrences)
Last logged: 15:49:42
[547310666560] Error handling message: expected dict for dictionary value @ data['data']. Got None (invalid_format)
Essaye comme ça
data:
video: >
{{ trigger.event.data.file_path|replace("share", "media") }}
1 « J'aime »
Ce coup ci, ça passe.
Maintenant, j’ai cette erreur :
Logger: homeassistant.helpers.template
Source: helpers/template.py:134
First occurred: 16:10:42 (1 occurrences)
Last logged: 16:10:42
Template variable error: 'dict object' has no attribute 'event' when rendering '{{ trigger.event.data.file_path|replace("share", "media") }}'
Peut être est-ce parce que je l’active à la main et que du coup, je vais devoir attendre un vrai « event » pour que cela fonctionne ?
C’est bon, ça y est ça marche.
Un grand MERCI pour l’aide et le temps que tu as passé à résoudre mon problème.
En plus cela m’a permis de progresser dans la compréhension et l’utilisation de HA.
Communauté au top
2 « J'aime »