Como configurar o Telegram e interagir com as próprias notificações (via Home Assistant)

Penso que tens o event_type mal exprimenta telegram_callback
exprimenta enviar isso individualmente. Mais lá em cima tens ume exemplo, copia por favor.

1 Curtiu

Perfeito. Exatamente isso. Muito obrigado, me ajudou muito, estou começando e ainda preciso aprender muito.

1 Curtiu

Boa noite,

Eu tentei com sucesso obter os códigos para configurar o telegram.

Mas quando adaptei um teste com parte do código do Rodolfo nada acontece

Eu coloquei o código abaixo todo no configuration.yaml

# Example configuration.yaml entry for the Telegram Bot
telegram_bot:
  - platform: polling
    api_key: 823899558:AAxxxxxxxH3Gi2XiLIWYerSEuieMe_Q
    allowed_chat_ids:
      - 54xxxxx17

# Example configuration.yaml entry for the notifier

notify:
  - name: telegram
    platform: telegram
    chat_id: 54xxxxx17
    
    alias: 'automação 1'
    trigger:
          platform: state
          entity_id: light.gateway_light_7811dcf797c8
          to: 'on'
    action:
          - service: notify.telegram
            data:
              title: "Alerta"
              message: "A luz da sala acendeu"

O que estarei a fazer de errado.

Agradeço desde já a vossa ajuda.

Francisco

@faquaresma quando publicares código deves sublinhar o texto que queres transformar em código e clicar no icone </>. Deverá existir um espaço antes e outro depois do bloco de código para que funcione correctamente. O código em Yaml é muito sensível aos espaçamentos e sem o código devidamente formatado não te poderemos ajudar. Além disso, existem regras no fórum que devem ser cumpridas e que podes ler nos nossos Termos do Serviço/Regras e na FAQ .

Vê um exemplo:

1 Curtiu

@j_assuncao , entretanto ao gravar vi que não tinha ficado correcto e já editei

Obrigado

1 Curtiu

Não dá para perceber se tens isso tudo num ficheiro ou em vários. Mas o que te posso dizer é que a automação está mal formatada. O YAML utiliza espaçamentos em múltiplos de 2.

Olá,

Eu tinha o código todo no ficheiro configuration.yaml, mas entretanto vendo a informação do compontente usi a criação do automatismo que temos no configuration do HASSIO e criei a partir de lá uma automação que foi parar ao ficheiro automations.yaml.

Mas mesmo assim continua a não enviar nada.

Para despistar se o serviço está ok usei a ferramenta para testar o serviço no developer tools e executando o serviço com uma mensagem recebo no meu telegram o texto que escrevi.

o código que foi escrito via HASSIO no automations é o abaixo

- id: '1557275814932'
  alias: Teste
  trigger:
  - entity_id: light.yeelight_color1_7c49eb13be61
    from: 'OFF'
    platform: state
    to: 'ON'
  condition: []
  action:
  - data:
      message: A Porta foi Aberta
    service: notify.telegram

O que poderá estar mal nesta automação ?

Obrigado

Assim fica mais compreensível. Mas deixa ver se entendo, se acender uma luz diz que a porta está aberta??? Qe relação tem a luz com a porta?

Tirando isso, verifica o seguinte:

  • Confirma se os estados da lampada são mesmo ON e OFF,
  • Tirar from: 'OFF' pois só te interessa saber que a lampada acende e não qual é o estado anterior,
  • Substitui as '' por "" em to: 'ON'

Olá @j_assuncao,

Obrigado pelo teu feedback.

Eu coloquei uma lâmpada para os testes mas o objectivo é depois ter lá o device dao sensor da porta.

Logo vou tentar as alterações que indicaste.

Obrigado uma vez mais.

Francisco

1 Curtiu

Testa lá…

- alias: Teste
  trigger:
    platform: state
    entity_id: light.yeelight_color1_7c49eb13be61
    from: 'off'
    to: 'on'
  action:
    service: notify.telegram
    data:
      message: A Porta foi Aberta

penso que um dos problemas está em por ON e OFF em letra grande

e desde ja mesmos sabendo que o yaml nao se importa com ordem de entrada, penso que deveria sempre organizar ordem de entrada de código de uma forma que seja mas fácil interpretar…
ex:
plataforma->entidade->estados->acção–>serviço-> etc…

Obrigado @j_assuncao e @Encarnacao as vossas dicas ajudaram a ultrapassar os erros que tinha…

Agora que já consigo fazer o minimo das notificiações vou partir para esta aventura da interacção.

Obrigado uma vez mais !!!

1 Curtiu

E onde estava o erro? Publica por favor o código que funcionou para que outros que tenham o mesmo problema possam também saber a solução.

1 Curtiu

Olá @j_assuncao,

Tens toda a razão.

Coloco abaixo o código que resultou .

Eu utilizei a funcionalida disponível na configuração do Hassio para criar as automações e apaguei tudo o que tinha criado no ficheiro configuration.yaml.

Na criação da automação usei as dicas do @Encarnacao e coloquei os valores do estados em minusculas .

O que eu verifico e não alterei é que a forma como o código gerado pelo automatismo não fica ordenado pelo forma que seria considerado mais lógico.

- id: '1557353869835'
  alias: Automação Luz Gateway
  trigger:
  - entity_id: light.gateway_light_7811dcf797c8
    from: 'off'
    platform: state
    to: 'on'
  action:
  - data:
      message: A luz Gateway está ligada
    service: notify.telegram

Já criei mais automações para notificar via Telegram e a disposição do código é idêntico ao código que coloquei acima.

Obrigado

Francisco Quaresma

1 Curtiu

Olá pessoal. Já há algum tempo que consulto o forum, no entanto só hoje senti necessidade de criar uma conta. Preciso da ajuda da malta mais experiente.
Estou e tentar criar a minha primeira automação com notificação via Telegram;

Com muita pesquisa aqui no forum consegui meter a automação a funcionar, no entanto não estou a conseguir que seja enviada a respectiva notificação via telegram.

Aqui vai o código:

 - alias: liga leds tv
    initial_state: true
    trigger:
      platform: time
      at: '21:02:00'
    action:
      - service: light.turn_on
        data_template:
          entity_id: light.leds_tv
          brightness: 100
          color_name: white
      - service: notify.telegram
        data:
          title: "Mensagem"
          message: 'Os Leds da TV foram ligados'

  - alias: desliga leds tv
    initial_state: true
    trigger:
      platform: time
      at: '00:30:00'
    action:
      - service: light.turn_off
        data_template:
          entity_id: light.leds_tv

No configuration tenho o seguinte:

telegram_bot:
  - platform: polling
    api_key: xxxxxxx
    allowed_chat_ids:
      - yyyyyy

notify:
  - name: notify_telegram
    platform: telegram
    chat_id: yyyyyy

o que estou eu a fazer de errado?

Obrigado desde já

Olhando de forma rápida tu deste o nome ao notify de notify_telegram… e no service estás a chamar notify.telegram em vez de notify.notify_telegram

2 Curtiram

era isso mesmo que estava agora a reparar… my bad…
Já corrigi e testei… e já está a funcionar :laughing:

Muito obrigado pela ajuda :wink:

1 Curtiu

Boas, configurei o telegram aparentemente com sucesso dado que quando realizo o teste do serviço recebo a mensagem, porem não consigo através da automação, embora vejo no histórico da mesma ser ativada.

configuration.yaml

### Telegram configs ###
telegram_bot:
  platform: polling
  api_key: !secret telegram_rockasbot_apiKey
  allowed_chat_ids:
    - !secret telegram_chatID
    #- !secret chatid02

notify:
  - name: telegram
    platform: telegram
    chat_id: !secret telegram_chatID

automation.yaml

- id: '1608067011813'
  alias: Teste
  trigger:
  - platform: state
    entity_id: light.yeelight_office_light
    to: "on"
  action:
    - service: notify.telegram
      data:
        message: "Luz do escritório acesa"

ativação da automação pelo trigger

image

O que me está a escapar?

Obrigado.

A automação está activa?

Boa noite pessoal…

É possível receber um print do estado do sensor desta forma no telegram?

Obrigado

imagem


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


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