Dúvida com o serviço camera.snapshot

Script

#### NOTIFY TELEGRAM
 notify_telegram:
    sequence:
      - service: notify.telegram
        data_template:
          title: '{{ title }}'
          message: '{{ message }}'
          data:
            photo:
              file: '{{ file }}'
              caption: '{{ caption }}'

Automação

- action:
  - data:
      entity_id: camera.Entrada
      filename: '/tmp/latest_hall_entrada.jpg'
    service: camera.snapshot
  - service: notify.telegram
    data_template:
        title: "{{ as_timestamp (now()) | timestamp_custom('%d/%b/%Y %T') }}"
        message: Porta da Rua - ABERTA 
        file: "/config/cam_snapshots/latest_hall_entrada.jpg"
        caption: "{{ as_timestamp (now()) | timestamp_custom('%d/%b/%Y %T') }} \n Porta da Rua - ABERTA"
  alias: Alarme
  condition:
  - condition: state
    entity_id: input_boolean.pir
    state: 'on'
  id: '1525355444516'
  trigger:
  - entity_id: sensor.porta
    from: FECHADA
    platform: state
    to: ABERTA

Isso foi gerado pelo gestor de automações do HA? Estão aí espaços a mais a seguir a data_template

Sim, foi uma mistura entre o gestor de automações e inserido manualmente no ficheiro.

Quando chegar a casa já corrijo.

Assim que me conseguir sentar a um computador já vejo se consigo escrever isso como deve de ser.

O gestor de automações já devia ter saído do HA à muito tempo, isso foi um teste que correu mal e lá ficou…

Volto a perguntar…tu consegues através de o link colado no teu browser ver logo a imagem da camera? Se sim não é preciso essas voltas todas.

Já escrevi aqui a automação mas acho que está aqui qualquer coisa que não está a bater bem. A automação é activada pela abertura da porta e tem a condição do PIR detectar movimento, se alguém entrar sem o PIR detectar e fechar logo a porta a automação não corre…

Além disso não estavas a utilizar o script que te mandei na automação nem tinhas mudado o caminho da imagem a enviar.

Seja como for aqui vai. Depois diz se funcionou.

 automation:
   - alias: 'Alarme'
     trigger:
       platform: state
       entity_id: sensor.porta
       from: 'Fechada'
       to: 'Aberta'
     condition:
      - condition: state
        entity_id: input_boolean.pir
        state: 'on'
     action:
       - service: camera.snapshot
         data:
           entity_id: camera.entrada
           filename: '/tmp/latest_hall_entrada.jpg'
       - service: script.notify_telegram
         data_template:
           title: "{{ as_timestamp (now()) | timestamp_custom('%d/%m/%Y %T') }}"
           message: Porta da Rua - ABERTA 
           file: "/tmp/latest_hall_entrada.jpg"
           caption: "{{ as_timestamp (now()) | timestamp_custom('%d/%m/%Y %T') }} \n Porta da Rua - ABERTA"

@RodolfoVieira sim consigo ver directo pelo link

Obrigado @j_assuncao Resolvido!

@RodolfoVieira qual é a outra possibilidade?

@nfreire a outra possibilidade seria este action:

- service: notify.geraltelegram
  data_template:
    message: "texto que quiseres"
    title: "texto que quiseres"
    data:
      photo:
        url: http://192.168.1.89:8080/photo.jpg //aqui colocarias o link que dizes que consegues ver a imagem
        caption: "Tocaram na campainha da escada"

Ok, mas quando acedo ao link tenho user e pass

Em relação ao método do @j_assuncao está a funcionar mas como demora algum tempo, nunca apanho ninguém na foto… :confused:

Podes inserir o user e pass no link. Qual a marca e o modelo da camera?

Se está a demorar é porque tens outro problema, eu tenho que pôr um atraso porque é quase instantâneo!

Suspeito que o problema esteja na condição de esperar pelo PIR. Experimenta retirar a condição assim:

 automation:
   - alias: 'Alarme'
     trigger:
       platform: state
       entity_id: sensor.porta
       from: 'Fechada'
       to: 'Aberta'
     action:
       - service: camera.snapshot
         data:
           entity_id: camera.entrada
           filename: '/tmp/latest_hall_entrada.jpg'
       - service: script.notify_telegram
         data_template:
           title: "{{ as_timestamp (now()) | timestamp_custom('%d/%m/%Y %T') }}"
           message: Porta da Rua - ABERTA 
           file: "/tmp/latest_hall_entrada.jpg"
           caption: "{{ as_timestamp (now()) | timestamp_custom('%d/%m/%Y %T') }} \n Porta da Rua - ABERTA"

Estou tendo esse erro, a permissão da pasta ja esta 777 e o erro continua.

2018-05-04 10:35:35 ERROR (MainThread) [homeassistant.components.camera] Can't write /tmp/cam_snapshots/garagem.jpg, no access to path!

O owner da pasta é o utilizador do HA?

O HA tem acesso a essa pasta?

Sim é o owner, como posso confirmar se o HA tem acesso ?

Tentei sem caminho nenhum e da o mesmo erro:

2018-05-04 10:55:37 ERROR (MainThread) [homeassistant.components.camera] Can't write garagem.jpg, no access to path!

Dentro do configuration.yaml coloca o seguinte, logo após a directiva time_zone, no início do ficheiro.

 whitelist_external_dirs:
    - /tmp/cam_snapshots

Agora funcionou, mas quando rodo a 2x ele nao sobrescreve a imagem anterior e nao da erro nenhum nos logs.
Tambem gostaria de um pequeno atraso, coisa de 20segundos pra tirar a foto.

Basta introduzir um delay na automação.

Boas @j_assuncao o pir na realidade é apenas um botão… ficou com esse nome quando andava a fazer umas experiências… o que me está a parecer é que está a enviar sempre a mesma imagem :confused:

Que versão estás a usar do HA, Hassio?


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


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