Problema de criar a imagem de uma camera e enviar pelo Telegram

Boa noite, não consigo guardar a foto do tutorial criado pelo @j_assuncao , já dei acesso chmod 777 as pastas e mesmo assim não cria a imagem.

o meu codigo:

#### Captura uma imagem quando a porta lateral é aberta e envia uma notificação para o telegram
- alias: 'Porta lateral aberta'
  initial_state: 'on'
  trigger:
    platform: state
    entity_id: binary_sensor.door_window_sensor_158d0001f3ceb8
    from: "off"
    to: "on"
  action:
    - service: camera.snapshot
      data:
        entity_id: camera.norte
        filename: '/config/cam_snapshots/latest_porta_lateral.jpg'
    - service: notify.telegram
      data_template:
        title: "{{ as_timestamp (now()) | timestamp_custom('%d/%b/%Y %T') }}"
        message: A Porta lateral foi ABERTA - Receber imagem?
        data:
          keyboard:
            - '/sim'
#### Botão de acção sim
- alias: 'Porta lateral - Sim'
  initial_state: 'on'
  trigger:
    - platform: event
      event_type: telegram_command
      event_data:
        command: '/sim'
  action:
    - service: script.porta_lateral_sim

porta_lateral_sim:
  sequence:
    - service: script.notify_telegram
      data_template:
        title: "Imagem"
        message: Porta da Rua - ABERTA 
        file: "/config/cam_snapshots/latest_porta_lateral.jpg"
        caption: "{{ as_timestamp (now()) | timestamp_custom('%d/%b/%Y %T') }} \n Porta lateral - ABERTA"

Não me parece que esteja nada mal assim á primeira vista.

E tens algum erro no log?

Boa noite, sim tenho.

Can’t write … no access to path!

Já dei acesso chmod 777 às pastas e ao ficheiro latest_porta_lateral.jpg

Crias-te a pasta para o HA poder gravar para lá? Se a pasta está criada tens alguma entrada no configuration.yaml chamada whitelist_external_dirs: com o caminho da pasta onde queres gravar?

Caso não tenhas, adiciona como neste exemplo:

homeassistant:
  name: Casa
  latitude: !secret ha_latitude
  longitude: !secret ha_longitude
  elevation: 150
  unit_system: metric
  temperature_unit: C
  time_zone: Europe/Lisbon
## WHITELIST
  whitelist_external_dirs:
    - /config/cam_snapshots

Não esqueças de reiniciar o sistema.

Não de facto, não estava criado: whitelist_external_dirs.
Obrigado @j_assuncao.
já vou tratar disso e testar.

Já está a criar a imagem, pois já a visualizei no cloud9,
mas não foi enviada ao telegram.
Amanhã já vejo o que se passa.
Mais uma vez obrigado @j_assuncao.
cumprimentos,

Vê o log para saber se há algum erro. O Telegram está a funcionar?

@Draco caso nao queiras salvar as imagens da camera que tens no HA, podes receber a mesma sem gravar, ou até ver ao vivo seguindo este tutorial:

Bom dia @j_assuncao, sim o telegram está a funcionar pois recebo um quadrado com /sim. Quando carrego nele não puxa a imagem e aparece o seguinte erro no log: Error while executing automation automation.porta_lateral_sim_2. Service not found for call_service at pos 1: (ServiceNotFound(…), ‘Service script.notify_telegram not found’)

Pelo erro parece que o script não funciona.

o codigo é o seguinte:

porta_lateral_sim:
  sequence:
    - service: script.notify_telegram
      data_template:
        title: "Imagem"
        message: Porta lateral - ABERTA 
        file: "/config/cam_snapshots/latest_porta_lateral.jpg"
        caption: "{{ as_timestamp (now()) | timestamp_custom('%d/%b/%Y %T') }} \n Porta lateral - ABERTA"

E que script é esse automation.porta_lateral_sim_2? Não aparece no código que meteste…

O script.notify_telegram existe? É esse o nome que o script tem? Também não aparece no código que meteste…

Ora bem, o meu codigo está assim.
automations:

#### Captura uma imagem quando a porta lateral é aberta e envia uma notificação para o telegram com opção de visualizar essa imagem. Se a validar-mos com /sim
- alias: 'Porta lateral aberta'
  initial_state: 'on'
  trigger:
    platform: state
    entity_id: light.Lamp_Carla
    from: "off"
    to: "on"
  action:
    - service: camera.snapshot
      data:
        entity_id: camera.norte
        filename: '/config/cam_snapshots/latest_porta_lateral.jpg'
    - service: notify.telegram
      data_template:
        title: "{{ as_timestamp (now()) | timestamp_custom('%d/%b/%Y %T') }}"
        message: A Porta lateral foi ABERTA - Receber imagem?
        data:
          keyboard:
            - '/sim'
#### Botão de acção sim
- alias: 'Porta lateral - Sim'
  initial_state: 'on'
  trigger:
    - platform: event
      event_type: telegram_command
      event_data:
        command: '/sim'
  action:
    - service: script.porta_lateral_sim

#### Captura uma imagem quando tocam a campainha e envia uma notificação para o telegram com opção de visualizar essa imagem. Se a validar-mos com /sim
  initial_state: 'on'
  trigger:
    platform: state
    entity_id: binary_sensor.ring_campainha_ding
    from: "off"
    to: "on"
  action:
    - service: camera.snapshot
      data:
        entity_id: camera.campainha
        filename: '/config/cam_snapshots/latest_toque_campainha.jpg'
    - service: notify.telegram
      data_template:
        title: "{{ as_timestamp (now()) | timestamp_custom('%d/%b/%Y %T') }}"
        message: Tocaram a Campainha TOCARAM  - Receber imagem?
        data:
          keyboard:
            - '/sim'
#### Botão de acção sim
- alias: 'Porta lateral - Sim'
  initial_state: 'on'
  trigger:
    - platform: event
      event_type: telegram_command
      event_data:
        command: '/sim'
  action:
    - service: script.toque_campainha_sim

###   ###    ###   ###   ###   ###   ###   ###

Depois tem o seguinte script.

scripts:

#### Script que valida o /sim enviado pelo telegram, e envia a imagem.
porta_lateral_sim:
  sequence:
    - service: script.notify_telegram
      data_template:
        title: "Imagem"
        message: Porta lateral - ABERTA 
        file: "/config/cam_snapshots/latest_porta_lateral.jpg"
        caption: "{{ as_timestamp (now()) | timestamp_custom('%d/%b/%Y %T') }} \n Porta lateral - ABERTA"

###   ###    ###   ###   ###   ###   ###   ###

#Testes de novo Código

toque_campainha_sim:
  sequence:
    - service: script.notify_telegram
      data_template:
        title: "Imagem"
        message: Tocaram a Campainha - TOCARAM 
        file: "/config/cam_snapshots/latest_toque_campainha.jpg"
        caption: "{{ as_timestamp (now()) | timestamp_custom('%d/%b/%Y %T') }} \n Tocaram a Campainha - TOCARAM"

O erro aparece quando, eu clico no rectângulo vazio, dentro desse retângulo tenho /sim que recebo no telegram. se voltar a clicar uma vez aparece . O erro aparece com …_sim_1 se voltar a clicar aparece com …_sim_2 e por ai fora…
Não sei se me fiz entender.

@Draco tentas te da forma que eu te disse a ver se funciona?

Boa tarde problema resolvido.
O meu ficou a funcionar desta maneira, espero que seja útil para quem tem problemas de configuração.
Agradeço ao Jorge Assunção e ao Redolfo, desde já pela dica/ ideia desta automação.

automations:

#### Captura uma imagem quando a porta lateral é aberta e envia uma imagem com atraso de 5s para o telegram ficando uma cópia da mesma na pasta cam_snapshots com a sua data
- alias: "Porta lateral aberta"
  initial_state: 'on'
  trigger:
    platform: state
    entity_id: binary_sensor.door_window_sensor_158d0001f3ceb8
    from: "off"
    to: "on"
  action:
    - service: camera.snapshot
      data:
        entity_id: camera.norte
        filename: '/config/cam_snapshots/porta_lateral_aberta_{{ now ().year }}_{{ now ().month }}_{{ now ().day }}_{{ now ().hour }}_{{ now ().minute }}.jpg'
    - delay: 
        seconds: 8
    - service: notify.telegram
      data:
        title: "Porta Lateral"
        message: "AVISO de ABERTURA Foto da Porta lateral"
        data:
          photo:
            - file: '/config/cam_snapshots/porta_lateral_aberta_{{ now ().year }}_{{ now ().month }}_{{ now ().day }}_{{ now ().hour }}_{{ now ().minute }}.jpg'
              capture: Snapshoot

#### Captura uma imagem quando tocam a campainha e envia uma imagem para o telegram ficando uma cópia da mesma na pasta cam_snapshots com a sua data 
- alias: "Toque Campainha"
  initial_state: 'on'
  trigger:
    platform: state
    entity_id: binary_sensor.ring_campainha_ding
    from: "off"
    to: "on"
  action:
    - service: camera.snapshot
      data:
        entity_id: camera.campainha
        filename: '/config/cam_snapshots/toque_campainha_{{ now ().year }}_{{ now ().month }}_{{ now ().day }}_{{ now ().hour }}_{{ now ().minute }}.jpg'
    #- delay: 
        #seconds: 5
    - service: notify.telegram
      data:
        title: "Toque Toque"
        message: "Tocaram à Campainha"
        data:
          photo:
            - file: '/config/cam_snapshots/toque_campainha_{{ now ().year }}_{{ now ().month }}_{{ now ().day }}_{{ now ().hour }}_{{ now ().minute }}.jpg'
              capture: Snapshoot

###   ###    ###   ###   ###   ###   ###   ###

Cumprimentos,

Este tópico foi automaticamente fechado 90 dias após a última resposta. Novas respostas não são permitidas.


Copyright © 2017-2020. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade