sg72
Mai 11, 2025, 7:57
1
Bonjour,
Avec les caméra Aosu il y a la possibilité de recevoir des notifications push avec un aperçu image.
J’ai regardé les paramètres de l’application Reolink et a priori il n’y a pas cette fonction. Est-ce qu’il est possible de faire ce type d’option avec Home Assistant ?
Bonjour,
oui c’est possible, avec une automatisation.
un exemple:
description: ""
mode: single
triggers:
- trigger: state
entity_id:
- binary_sensor.reolink_e1_zoom_cell_motion_detection_2
to: "on"
conditions: []
actions:
- data:
filename: /config/www/capture/snapshot_{{ now().strftime("%d%m%y-%H%M") }}.jpg
target:
entity_id: camera.reolink_e1_zoom_profile000_mainstream
action: camera.snapshot
- delay:
hours: 0
minutes: 0
seconds: 1
milliseconds: 0
- data:
title: Caméra Séjour {{now().strftime('(%H:%M) [%d-%m-%y]')}}
message: Mouvement détect, voici une capture.
data:
image: local/capture/snapshot_{{ now().strftime("%d%m%y-%H%M") }}.jpg
action: notify.mobile_app_m2101k9g
sg72
Mai 11, 2025, 8:52
3
Merci pour ce code, mais je rencontre deux problèmes :
binary_sensor.reolink_e1_zoom_cell_motion_detection_2 ca correspond à hangar_personne ?
entity_id: camera.reolink_e1_zoom_profile000_mainstream je ne le trouve pas ! Où active-t-on ?
Bonjour @WarC0zes
Dans le cas où tu changes de minute entre la prise de snapshot et l’envoi de la photo ça risque de planter !
Perso je stocke le nom de la photo/vidéo dans un input_text.
alias: Alerte Reolink
description: ""
triggers:
- trigger: state
entity_id:
- binary_sensor.reolinkboblan_humain
from: "off"
to: "on"
for:
hours: 0
minutes: 0
seconds: 1
- trigger: state
entity_id:
- input_button.snapshot_reolink
conditions:
- condition: and
conditions:
- condition: device
device_id: 9428b046e31918aa2994e241245fc4c0
domain: device_tracker
entity_id: e2e479f79ab5d1451eec96b9a8dd1cf3
type: is_not_home
enabled: true
- condition: state
entity_id: alarm_control_panel.massimo_alarm
state: armed_away
enabled: true
enabled: true
actions:
- action: light.turn_on
metadata: {}
data:
brightness_pct: 80
target:
entity_id: light.groupe_lumieres_bas
- action: input_text.set_value
metadata: {}
data:
value: reolink_{{now().strftime("%Y%m%d-%H%M%S")}}.jpg
target:
entity_id: input_text.namephotoreolink
- action: camera.snapshot
metadata: {}
data:
filename: /media/reolink/photos/{{states('input_text.namephotoreolink')}}
target:
entity_id:
- camera.reolinkboblan_profile000_mainstream
- delay:
hours: 0
minutes: 0
seconds: 6
milliseconds: 0
- data:
message: >-
Détection présence caméra Réolink, la température est de
{{states('sensor.temperature_18_salon')}} °C
title: Qui est là ?
data:
inline_keyboard:
- >-
Ignorer:/switch_on_nothing, Allumer:/switch_on_salon,
Eteindre:/switch_off_salon
action: notify.telegram_ha
- data:
file: /media/reolink/photos/{{states('input_text.namephotoreolink')}}
action: telegram_bot.send_photo
- action: media_player.volume_set
metadata: {}
data:
volume_level: 0.9
target:
entity_id: media_player.esp32_voice_control_1_mediasat1
- action: tts.speak
metadata: {}
data:
cache: true
media_player_entity_id: media_player.esp32_voice_control_1_mediasat1
message: >-
C'est plutôt hasardeux de venir ici en mon absence ! Attention, vous
devriez repartir tout de suite
target:
entity_id: tts.piper
- delay:
hours: 0
minutes: 0
seconds: 6
milliseconds: 0
- action: input_text.set_value
metadata: {}
data:
value: reolink_{{now().strftime("%Y%m%d-%H%M%S")}}.jpg
target:
entity_id: input_text.namephotoreolink
- delay:
hours: 0
minutes: 0
seconds: 3
milliseconds: 0
- action: camera.snapshot
metadata: {}
data:
filename: /media/reolink/photos/{{states('input_text.namephotoreolink')}}
target:
entity_id:
- camera.reolinkboblan_profile000_mainstream
- data:
file: /media/reolink/photos/{{states('input_text.NamePhotoReolink')}}
action: telegram_bot.send_photo
- action: input_text.set_value
metadata: {}
data:
value: reolink_{{now().strftime("%Y%m%d-%H%M%S")}}.mp4
target:
entity_id: input_text.namevideoreolink
- action: camera.record
metadata: {}
data:
duration: 30
lookback: 0
filename: /media/reolink/videos/{{states('input_text.namevideoreolink')}}
target:
device_id: 5f98567e1e5db822568e68966d34d1f1
entity_id: camera.reolinkboblan_profile000_mainstream
- delay:
hours: 0
minutes: 0
seconds: 45
milliseconds: 0
- action: tts.clear_cache
metadata: {}
data: {}
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.groupe_lumieres_bas
mode: single
Bob
1 « J'aime »
oui, après tout dépend la détection que tu veux vu que tu as différent type. Je n’utilise pas l’intégration Reolink, je passe par ONVIF et il n’y a pas tous ces types de détection.
c’est l’entité de ta caméra.
sg72
Mai 11, 2025, 9:34
6
C’est les chemin du téléphone?
Non, c’est le chemin sur HA , ou est stocké l’image.
sg72
Mai 11, 2025, 9:41
8
Il y a que sur ce lien que j’ai un problème. Je ne trouve pas le chemin de mon téléphone Redmi
OUi, il faut le changer par le tient. tu as une action notify pour ton mobile.
regarde dans l’onglet action du menu de dev, pour connaitre le tient.
sg72
Mai 11, 2025, 10:02
10
Mon HA fonctionne avec VirtualBox sur un Mac. Comment je peux y accéder ?
Avec file editor ou samba share, a installé dans les modules complémentaires.
sg72
Mai 11, 2025, 10:09
12
WarC0zes:
Avec file editor
Ah oui c’est vrai !! Bon, le système fonctionne.
Juste une petite question,le chemin de stockage, on ne peut pas le rendre accessible dans une carte Home assistant et afficher les captures d’écran sous forme de carrousel ? Si cela éviterait, et simplifierait le système pour voir les aperçus.
Oui, tu peux utiliser la carte gallery-card :
A custom card for Home Assistant that will display images and/or videos from a folder in the style of a gallery.
code pour la carte :
type: custom:gallery-card
title: Capture Caméra Reolink
entities:
- path: media-source://media_source/local/Capture/
menu_alignment: top
maximum_files: 30
file_name_format: DDMMYY_HHmm
caption_format: D/MM/YY HH:mm
parsed_date_sort: true
le chemin media-source://media_source/local/Capture/ correspond a /media/Capture/
Par contre, ça ne lit que les images ou vidéos stockées dans le dossier /media/.
Il faut changer ton chemin où tu enregistres les images dans le dossier /media/.
Pour file editor, pour accéder au dossier il faut décocher l’option enforce basepath. Sinon tu ne vois que le dossier /config/ qui est nommé homeassistant/ sous file editor.
1 « J'aime »
sg72
Mai 11, 2025, 10:47
14
Donc si je comprends bien, je dois créer un dossier média dans /homeassistant/www
et dans ma carte, je remplace media-source://media_source/local/Capture/ par media-source://media_source/local/ ?
Edit : j’ai donc créé mon chemin comme ton code /homeassistant/media/Capture
type: custom:gallery-card
title: Capture Caméra Reolink
entities:
- path: media-source://media_source/local/Capture/
menu_alignment: top
maximum_files: 30
file_name_format: DDMMYY_HHmm
caption_format: D/MM/YY HH:mm
parsed_date_sort: true
Mais il me dit que le dossier n’existe pas !
Non, le dossier media existe déjà. c’est a la racine de HA .
j’explque comment le voir sous file editor:
le dossier config = homeassistant/ dans file editor. Pour voir le dossier media, tu dois revenir en arrière . la flèche gauche dans file editor ( il faut decocher l’option enforce basepath dans file editor ).
sg72
Mai 11, 2025, 2:38
16
Décocher, égal noir ? Désactivé ?
sg72
Mai 11, 2025, 2:53
18
Effectivement, je l’avais coché plutôt que décocher. J’ai donc bien mon dossier média. J’ai créé dans celui-ci un dossier Capture. Je n’ai désormais plus d’erreurs quand je crée ma carte.
Par contre, j’ai été faire déclencher la caméra pour avoir une notification, mais je n’ai pas d’image dedans !
type: custom:gallery-card
title: Capture Caméra Reolink
entities:
- path: media-source://media_source/local/Capture/
menu_alignment: top
maximum_files: 30
file_name_format: DDMMYY_HHmm
caption_format: D/MM/YY HH:mm
parsed_date_sort: true
Par contre j’ai bien les notifications sur mes téléphones.
WarC0zes:
actions:
- data:
filename: /config/www/capture/snapshot_{{ now().strftime("%d%m%y-%H%M") }}.jpg
target:
entity_id: camera.reolink_e1_zoom_profile000_mainstream
action: camera.snapshot
- delay:
hours: 0
minutes: 0
seconds: 1
milliseconds: 0
- data:
title: Caméra Séjour {{now().strftime('(%H:%M) [%d-%m-%y]')}}
message: Mouvement détect, voici une capture.
data:
image: local/capture/snapshot_{{ now().strftime("%d%m%y-%H%M") }}.jpg
action: notify.mobile_app_m2101k9g
Tu as changé le chemin dans l’automatisation aussi ?
exemple:
- data:
filename: /media/Capture/snapshot_{{ now().strftime("%d%m%y-%H%M") }}.jpg
target:
entity_id: camera.reolink_e1_zoom_profile000_mainstream
action: camera.snapshot
- data:
title: Caméra Séjour {{now().strftime('(%H:%M) [%d-%m-%y]')}}
message: Mouvement détect, voici une capture.
data:
image: /media/local/Capture/snapshot_{{ now().strftime("%d%m%y-%H%M") }}.jpg
action: notify.mobile_app_m2101k9g
sg72
Mai 11, 2025, 3:35
20
Normalement, ça devrait être bon !
alias: Notification Caméra Hangar
description: ""
triggers:
- trigger: state
entity_id:
- binary_sensor.hangar_personne
to: "on"
conditions: []
actions:
- data:
filename: /media/local/Capture/snapshot_{{ now().strftime("%d%m%y-%H%M") }}.jpg
target:
entity_id: camera.hangar_fluide
action: camera.snapshot
- delay:
hours: 0
minutes: 0
seconds: 1
milliseconds: 0
- data:
title: Caméra Hangar {{now().strftime('(%H:%M) [%d-%m-%y]')}}
message: Mouvement détect, voici une capture.
data:
image: /media/local/Capture/snapshot_{{ now().strftime("%d%m%y-%H%M") }}.jpg
action: notify.mobile_app_redmi
- data:
title: Caméra Hangar {{now().strftime('(%H:%M) [%d-%m-%y]')}}
message: Mouvement détect, voici une capture.
data:
image: /media/local/Capture/snapshot_{{ now().strftime("%d%m%y-%H%M") }}.jpg
action: notify.mobile_app_tablette_huawei
mode: single