E quando quero enviar imagem da minha câmera pelo telegram?
Antes de mais nada, você precisa definir onde serão salvas as imagens. Isso é necessário pois desde o Home Assistant na versão 0.48, é necessário colocar na lista de permissões a pasta (whitelist) de origem do arquivo que você deseja incluir na notificação.
Então se você colocar as imagens dentro da pasta www, você deve incluir a seguinte configuração dentro do arquivo configuration.yaml.
homeassistant:
whitelist_external_dirs:
- /tmp
- /config/www
Após isso, é necessário reiniciar o seu HA.
Automação para enviar imagem
- alias: 'Envia imagem quando acender a luz e não estiver ninguém em casa'
initial_state: true
trigger:
- platform: state
entity_id: light.luz_cozinha
to: 'on'
condition:
- condition: state
entity_id: device_tracker.douglas
state: 'not_home'
- condition: state
entity_id: device_tracker.luana
state: 'not_home'
action:
- service: camera.snapshot
data:
entity_id: camera.cozinha
#vai salvar o nome da foto com data e hora da ação
filename: '/config/www/images/cameras/camera_cozinha_{{ now().strftime("%Y%m%d-%H%M%S") }}.jpg'
- service: notify.telegramgrupo
data_template:
message: "Nova foto da cozinha."
data:
photo:
file: '/config/www/images/cameras/camera_cozinha_{{ now().strftime("%Y%m%d-%H%M%S") }}.jpg'
caption: "Foto da cozinha."
Eu poderia além de enviar uma foto, mandar meu media player (google home, echo dot da amazon, chromecast) enviar uma notificação que está sendo monitorado.
- alias: 'Enviar imagem e notificar possível ladrão'
initial_state: true
trigger:
- platform: state
entity_id: light.luz_cozinha
to: 'on'
condition:
- condition: state
entity_id: device_tracker.douglas
state: 'not_home'
- condition: state
entity_id: device_tracker.luana
state: 'not_home'
action:
- service: camera.snapshot
data:
entity_id: camera.cozinha
#vai salvar o nome da foto com data e hora da ação
filename: '/config/www/images/cameras/camera_cozinha_{{ now().strftime("%Y%m%d-%H%M") }}.jpg'
- service: notify.telegramgrupo
data_template:
message: "Nova foto da cozinha."
data:
photo:
file: '/config/www/images/cameras/camera_cozinha_{{ now().strftime("%Y%m%d-%H%M") }}.jpg'
caption: "Foto da cozinha."
- service: tts.google_translate_say
entity_id: media_player.google_home #pode ser qualquer media player configurado
data_template:
message: >
Ladrão, eu sei que você está na cozinha, e sua imagem já foi enviado para a polícia.
E se eu quiser receber mais duas imagens após 10 e 20 segundos? Usamos a ação delay.
- alias: 'Enviar 3 imagens e notificar possível ladrão'
initial_state: true
trigger:
- platform: state
entity_id: light.luz_cozinha
to: 'on'
condition:
- condition: state
entity_id: device_tracker.douglas
state: 'not_home'
- condition: state
entity_id: device_tracker.luana
state: 'not_home'
action:
#foto 1
- service: camera.snapshot
data:
entity_id: camera.cozinha
filename: '/config/www/images/cameras/camera_cozinha_{{ now().strftime("%Y%m%d-%H%M") }}.jpg'
- service: notify.telegramgrupo
data_template:
message: "Nova foto da cozinha."
data:
photo:
file: '/config/www/images/cameras/camera_cozinha_{{ now().strftime("%Y%m%d-%H%M") }}.jpg'
caption: "Foto da cozinha."
#avisa ladrão
- service: tts.google_translate_say
entity_id: media_player.google_home #pode ser qualquer media player configurado
data_template:
message: Ladrão, eu sei que você está na cozinha, e sua imagem já foi enviado para a polícia.
#foto 2
- delay:
seconds: 10
- service: camera.snapshot
data:
entity_id: camera.cozinha
filename: '/config/www/images/cameras/camera_cozinha_{{ now().strftime("%Y%m%d-%H%M") }}.jpg'
- service: notify.telegramgrupo
data_template:
message: "Nova foto da cozinha 2"
data:
photo:
file: '/config/www/images/cameras/camera_cozinha_{{ now().strftime("%Y%m%d-%H%M") }}.jpg'
caption: "Foto da cozinha 2"
#foto 3
- delay:
seconds: 10
- service: camera.snapshot
data:
entity_id: camera.cozinha
filename: '/config/www/images/cameras/camera_cozinha_{{ now().strftime("%Y%m%d-%H%M") }}.jpg'
- service: notify.telegramgrupo
data_template:
message: "Nova foto da cozinha 3"
data:
photo:
file: '/config/www/images/cameras/camera_cozinha_{{ now().strftime("%Y%m%d-%H%M") }}.jpg'
caption: "Foto da cozinha 3"
Para os exemplos acima, eu coloquei permissão nas seguintes pastas:
homeassistant:
whitelist_external_dirs:
- /tmp
- /config/www
- /config/www/images
- /config/www/images/cameras