Au pire je vais jouer avec le crontab du rpi !
C’est le mot je pense…
Pour moi, si tu veux rester propre dans ta démarche, il faut que les fichiers créés par ton instance home assistant soient supprimés par celle-ci.
L’intégration que je t’ai fourni et la solution la plus simple à mon sens… Mais je ne l’utilise pas.
Je n’ai pas besoin d’avoir une sauvegarde de mes snapshot… Car de toute façon j’ai une sauvegarde des vidéos et les snapshot je les retrouve sur ma boîte mail, donc je n’utilise pas d’horodatage.
Si je devais partir pour supprimer le fichier créé… Je partirai plus sur une command_line
Ok je vais suivre ton conseil merci.
Après pour les notifications actionnables @barto_95 je dois les rajouter au fichier .yaml du blueprint ?
Le problème c’est que je vois quoi mettre avec l’article que j’avais créé sur les notifications actionnables.
Par contre je ne sais pas comment les implémenter niveau syntaxe…
Voici la notification actionnable que je vais utiliser :
alias: Notification de définition de l'heure de chauffe de la sdb le matin
trigger:
- platform: time
at: '20:00:00'
action:
- service: notify.mobile_app_nikos_iphone
data:
title: Chauffage Salle de bain
message: On chauffe à quelle heure demain ?
data:
push:
category: chauffage
mode: single
Mais je ne sais pas, si je dois bien le mettre dans le .yaml du blueprint, à quel endroit… Pas bon en syntaxe yaml…
Et sur l’automation à base du blueprint, je ne peux pas rajouter d’action en GUI, que en yaml…?
.yaml de l’automatisation du blueprint :
alias: Envoi notification avec photo intrusion cam_principale
description: ''
use_blueprint:
path: vorion/send-camera-snapshot-notification-on-motion.yaml
input:
notification_message: Intrusion détectée dans la maison
motion_sensor: binary_sensor.cam_principale_motion_detection
camera: camera.principale_mainstream
notify_device: c9bc97a76f0e2d5da3b2948725a359b7
notification_title: Mouvement détecté
delay: 0
is_ios: true
Et là le code du .yaml du blueprint en question :
blueprint:
name: Send a camera snapshot when motion is detected
description: >
This automation blueprint creates a camera snapshot if motion is detected
and sends a notification to your phone with the picture.
domain: automation
input:
motion_sensor:
name: Motion sensor
description: The sensor wich triggers the snapshot creation
selector:
entity:
domain: binary_sensor
device_class: motion
camera:
name: Camera
description: The camera which creates the snapshot
selector:
entity:
domain: camera
notify_device:
name: Device to notify
description: Device needs to run the official Home Assistant app to receive notifications
selector:
device:
integration: mobile_app
is_ios:
name: Is it an iOS device?
description: Toggle if your selected device runs iOS, default is Android
selector:
boolean:
default: false
notification_title:
name: Notification title (Optional)
description: 'Default: "Motion detected!"'
default: "Motion detected!"
notification_message:
name: Notification message (Optional)
description: 'Default: "{{ motion_sensor_name }} detected movement!"'
default: "{{ motion_sensor_name }} detected movement!"
delay:
name: Delay (Optional)
description: Wait before creating camera snapshot
default: ""
selector:
number:
min: 0
max: 60
unit_of_measurement: seconds
mode: slider
trigger:
platform: state
entity_id: !input motion_sensor
from: "off"
to: "on"
variables:
motion_sensor: !input motion_sensor
motion_sensor_name: "{{ states[motion_sensor].name }}"
camera: !input camera
notify_device: !input notify_device
is_ios: !input is_ios
notification_title: !input notification_title
notification_message: !input notification_message
delay: !input delay
snapshot_create_file_path: "/config/www/tmp/snapshot_{{ states[camera].object_id }}.jpg"
snapshot_access_file_path: "{{ snapshot_create_file_path | replace('/config/www','/local') }}"
action:
- delay: "{{ delay }}"
- service: camera.snapshot
entity_id: !input camera
data:
filename: "{{ snapshot_create_file_path }}"
- device_id: !input notify_device
domain: mobile_app
type: notify
title: "{{ notification_title }}"
message: "{{ notification_message }}"
data: >
{% set android_data = {"image": "%s"} | format(snapshot_access_file_path) %}
{% set ios_data = {"attachment": {"url": "%s", "content_type": "JPEG"}} | format(snapshot_access_file_path) %}
{{ ios_data if is_ios else android_data }}
Après si tu vois @Clemalex où il faut le mettre ! Ça serait génial !
Et pour finir je vais mettre ça dans mon configuration.yaml
ios:
push:
categories:
- name: Chauffauge_Salle_de_bain_Matin
identifier: 'chauffage'
actions:
- identifier: 'NE_PAS_CHAUFFER_DEMAIN'
title: 'Pas demain !'
activationMode: 'background'
authenticationRequired: false
destructive: true
behavior: 'default'
- identifier: 'DEFINITION_DE_L_HEURE'
title: 'Définir heure'
activationMode: 'background'
authenticationRequired: false
destructive: false
behavior: 'textInput'
textInputButtonTitle: 'OK'
textInputPlaceholder: '06:15'
- name: Seche_Serviette_Matin
identifier: 'seche_serviette'
actions:
- identifier: 'NE_PAS_CHAUFFER_SERVIETTE'
title: 'Pas demain !'
activationMode: 'background'
authenticationRequired: true
destructive: true
behavior: 'default'
- identifier: 'SDB_SERVIETTE'
title: 'Définir heure'
activationMode: 'background'
authenticationRequired: false
destructive: false
behavior: 'textInput'
textInputButtonTitle: 'OK'
textInputPlaceholder: '06:00'
- name: Camera_Principale
identifier: 'cam_principale'
actions:
- identifier: 'VOIR_PHOTO_PRINCIPALE'
title: 'Voir photo'
activationMode: 'background'
authenticationRequired: true
destructive: true
behavior: 'default'
- identifier: 'STOP_NOTIFICATIONS_PRINCIPALE'
title: 'Arrêt notifications'
activationMode: 'background'
authenticationRequired: false
destructive: false
behavior: 'textInput'
- identifier: 'DESACTIVER_ALARM'
title: 'Désactiver l'alarme'
activationMode: 'background'
authenticationRequired: true
destructive: true
behavior: 'default'
- name: Camera_Entee
identifier: 'cam_entree'
actions:
- identifier: 'VOIR_PHOTO_ENTREE'
title: 'Voir photo'
activationMode: 'background'
authenticationRequired: true
destructive: true
behavior: 'default'
- identifier: 'STOP_NOTIFICATIONS_ENTREE'
title: 'Arrêt notifications'
activationMode: 'background'
authenticationRequired: false
destructive: false
behavior: 'textInput'
- identifier: 'DESACTIVER_ALARM'
title: 'Désactiver l'alarme'
activationMode: 'background'
authenticationRequired: true
destructive: true
behavior: 'default'
j’ai demander au mec qui a fait le blueprint de rajouter la possibiliter de decider d’un temps de « silence » pour les notifications il y a aussi celui la :
il permet de faire une notification et de bloquer la notif si par exemple tu et chez toi pas besoin de notif et j’ai aussi demander de rajouter une action pour arrêter les notif temporairement
et pour l’ajout des actions je suis au même niveau que toi quand je fait le nécessaire j’ai une error lors de l’import du blueprint …
Ok… Tu peux partager ce que tu as essayé ?
@Clemalex tu as une idée ?
voici mon blueprint:
Au top !
Comme ça tu pourras regarder avec le blueprint de @barto_95
C’est ça que je vais t’indiquer…
mdrrrrrr
faire fumer nos HA hahahah
en gros faire une notification sur detection de mouvement (ce qui fonctionne déjà) mais ajouter la possibilité d’avoir un bouton pour arrêter les notifications pendant XX minutes
exemple : chez mon père des mec qui travaillais le machin ma blinder de notification…
Désolé j’étais pas dispo ce we…
Du coup @Clemalex t’as pu jeter un oeil au blueprint de @barto_95 sur ce qui pouvait ne pas fonctionner ?
Non pas de disponibilité en ce moment…
Désolé,mais continuez à poster ca permet de voir la démarche
J’ai réussi à avoir une notification et des boutons actionnables en faisant une automatisation simple sans blueprint.
D’abord j’ai modifié le fichier configuration.yaml avec la catégorie ios qui ressemble à ça :
ios:
push:
categories:
- name: Chauffauge_Salle_de_bain_Matin
identifier: 'chauffage'
actions:
- identifier: 'NE_PAS_CHAUFFER_DEMAIN'
title: 'Pas demain !'
activationMode: 'background'
authenticationRequired: false
destructive: true
behavior: 'default'
- identifier: 'DEFINITION_DE_L_HEURE'
title: 'Définir heure'
activationMode: 'background'
authenticationRequired: false
destructive: false
behavior: 'textInput'
textInputButtonTitle: 'OK'
textInputPlaceholder: '06:15'
- name: Seche_Serviette_Matin
identifier: 'seche_serviette'
actions:
- identifier: 'NE_PAS_CHAUFFER_SERVIETTE'
title: 'Pas demain !'
activationMode: 'background'
authenticationRequired: true
destructive: true
behavior: 'default'
- identifier: 'SDB_SERVIETTE'
title: 'Définir heure'
activationMode: 'background'
authenticationRequired: false
destructive: false
behavior: 'textInput'
textInputButtonTitle: 'OK'
textInputPlaceholder: '06:00'
- name: Camera_Principale
identifier: 'cam_principale'
actions:
- identifier: 'VOIR_PHOTO_PRINCIPALE'
title: 'Voir photo'
activationMode: 'background'
authenticationRequired: true
destructive: true
behavior: 'default'
- identifier: 'STOP_NOTIFICATIONS_PRINCIPALE'
title: 'Arrêt notifications'
activationMode: 'background'
authenticationRequired: false
destructive: false
behavior: 'textInput'
- identifier: 'DESACTIVER_ALARM'
title: 'Désactiver l alarme'
activationMode: 'background'
authenticationRequired: true
destructive: true
behavior: 'default'
Ensuite j’ai créé une automatisation dont voici le code en .yaml :
alias: Automation test snapshot
description: ''
trigger:
- type: motion
platform: device
device_id: 332dc8f83a3b9472af47a8adf877e0d0
entity_id: binary_sensor.cam_principale_motion_detection
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 0
milliseconds: 0
condition: []
action:
- service: notify.mobile_app_nikos_iphone
data:
message: Catastrophe
title: Oulala
data:
image: http://loginCAM:MdpCAM@IPCAM/cgi-bin/snapshot.cgi
push:
category: cam_principale
mode: single
Et j’obtiens ça :
Après l’URL utilisée pour prendre la photo est celle de l’API de ma caméra et la stocke là où je lui ai indiqué dans le paramétrage de la caméra et le nettoyage se fait tout seul.
A affiner pour les réponses aux actions de la notification mais c’est bien parti et ça fait ce que je voulais !
ok mais le bouton arrêt notification il fonctionne ?
Non pas pour l’instant (pas eu le temps) mais là c’est plus simple, il suffit de reprendre ce que j’avais mis dans mon article précédent des notifications actionnables :
https://forum.hacf.fr/t/notification-personnalisee-ios-compagnon/2175
Bon ça y est je suis bloqué…
Si j’utilise l’url de l’API de ma caméra en mode ip locale, ça fonctionne quand je suis connecté en wifi au même réseau mais pas depuis l’extérieur.
Et c’est ça le but…
Après j’ai fait quelques tests pour mettre dans mon automatisation un appel au service snapshot.camera et envoyer ça avec le service notify mais ça ne m’envoie pas la photo même sur le réseau local…
alias: Notifications motion detection cam_principale
description: ''
trigger:
- type: motion
platform: device
device_id: 332dc8f83a3b9472af47a8adf877e0d0
entity_id: binary_sensor.cam_principale_motion_detection
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 0
milliseconds: 0
condition: []
action:
- service: camera.snapshot
target:
entity_id: camera.principale_mainstream
data:
filename: /config/www/tmp/snapshot.jpg
- service: notify.mobile_app_nikos_iphone
data:
message: Mouvement détecté à l'intérieur
title: Attention
data:
image: /config/www/tmp/snapshot.jpg
push:
category: camera_principale
mode: single
J’ai bien la notification, ça prend bien en compte ma catégorie pour les notifications actionnables mais je n’ai pas l’image ni sur le réseau local ni depuis l’extérieur…
si tu va voir l’image avec le chemin que tu indique tu trouve bien la photo ? l’utilisateur HA a le droit de lecture la dessus ?