Há dois dias atrás, no Discord, coloquei um problema relativo a sensores de movimento que tenho em algumas dependências e consequentes notificações para o Telegram. Queria que fosse enviado imagem e texto para o Telegram, só quando eu e a esposa estivéssemos ausentes.
Queria que , para já em automações em ficheiro. yaml e depois mais tarde em node red, as mensagens me caíssem no telegram, só quando eu e a esposa estivéssemos ausentes. Quando aumentei a condição deixou de funcionar. Conforme vi na página oficial do HA ficou:
automation:
- alias: gabinete Motion Detected
initial_state: True
trigger:
- platform: state
entity_id: sensor.sn5_pir
from: "standby"
to: "motion detected"
condition:
condition: and
conditions:
- condition: state
entity_id: device_tracker.sebastiao
state: 'not_home'
- condition: state
entity_id: device_tracker.graca
state: 'not_home'
action:
- service: "light.turn_on"
entity_id: light.sn5_led
- service: camera.snapshot
data:
entity_id: camera.gabinete_cam
filename: '/config/www/sala.jpg'
- service: notify.telegram
data:
title: "movimento"
message: "em {{now().strftime('%H:%M %d-%m-%Y')}}"
data:
photo:
file: /config/www/sala.jpg
caption: Movimento no Gabinete em {{now().strftime('%H:%M %d-%m-%Y')}}
Depois de sugestões do Assunção e do Encarnação o código foi-se compondo e no fim, ficou:
automation:
- alias: gabinete Motion Detected
initial_state: True
trigger:
- platform: state
entity_id: sensor.sn5_pir
from: "standby"
to: "motion detected"
condition:
- condition: state
entity_id: group.familia
state: 'not_home'
action:
- service: "light.turn_on"
entity_id: light.sn5_led
- service: camera.snapshot
data:
entity_id: camera.gabinete_cam
filename: '/config/www/gabinete.jpg'
- service: notify.telegram
data_template:
title: "Movimento no Gabinete"
message: "{{ as_timestamp (now()) | timestamp_custom('%d/%b/%Y %T') }}"
data:
photo:
file: /config/www/gabinete.jpg
As notificações estavam a surgir no Telegram e eu entusiasmado nem dei conta que as coisas não estavam tão bem como deveriam estar. Passo a explicar: Depois da foto, eu tinha
caption: Movimento no Gabinete em "{{now().strftime('%H:%M %d-%m-%Y')}}"
Surgia a foto e por baixo um texto. O Assunção deu a sugestão de, em vez do texto aparecer no “caption” ser colocado da seguinte forma:
title: "Movimento no Gabinete"
message: "{{ as_timestamp (now()) | timestamp_custom('%d/%b/%Y %T') }}"
Só que a foto aparece no Telegram mas não o texto.
Voltei a pôr o “Caption” e já aparece o referido texto.
Pode não ser a forma mais correta mas está a funcionar.
Depois disto os mestres que se pronunciem e digam onde poderá estar o erro.
Junto foto de hoje de manhã, (eu e esposa not_home) do meu cão a ser apanhado pelo sensor. Alem da imagem,aparece no telegram também o seguinte texto:" Movimento no Gabinete em 11:19 22-04-2019"
Cumprimentos
Sebastião