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

Olá @RodolfoVieira e @j_assuncao já resolvi o problema.
Em primeiro lugar, havia um espaço a mais e depois um conflito qualquer com o automatismo.
Refiz tudo e funcionou. Já tenho o HA a responder aos comandos do telegram
Obrigado mais uma vez.
Abraço

1 Curtiu

Ainda bem que está resolvido! Onde estava o espaço a mais?

Eu acho que não era no configuration.yaml.
Acho que era no automatismo dos combustíveis. Andei a alterar um pouco o exemplo que o Rodolfo postou no post dos combustíveis e devo ter alterado algo.
Depois de refazer, fiquei com o o Telegram a funcionar e sem erros no automatismo dos combustíveis.
Abraço

1 Curtiu

Agora não funciona automação. O que tenho feito de errado ?

config yaml

notify:
  - name: telegram
    platform: telegram
    chat_id: 4186

telegram_bot:
  platform: polling
  api_key: 577
  allowed_chat_ids:
    - 4186

teste:

yaml de automacao

- id: '1529203213762'
  alias: teste2
  trigger:
  - entity_id: input_boolean.sonoff_switch_2
    from: 'off'
    platform: state
    to: 'on'
  condition: []
  action:
    - service: notify.telegram
      data:
        message: 'Iluminação da Cozinha Ligada'

log

Error sending message: Chat not found. Args: (4186, 'teste\nIluminação da Cozinha Ligada'), kwargs: {'parse_mode': 'Markdown', 'disable_notification': False, 'disable_web_page_preview': None, 'reply_to_message_id': None, 'reply_markup': None, 'timeout': None}

RESOLVIDO… DESCULPA!!!
Eu tinha pegado o o ID errado.

nao tem os exemplos :frowning:

4 mensagens foram divididas em um novo tópico: Notify para IOS (sem depender de terceiros)

Ok obrigado na mesma!

Olá, eu consegui fazer funcionar uma vez. Mas agora não consigo de jeito nenhum.

Apaguei o bot e criei um novo para começar do zero. Então ao criar o bot, quando coloquei uma mensagem no bot criado, a url (https://api.telegram.org/botTOKEN/getUpdates) que acessei mostrou isso:
Conflict: terminated by other getUpdates request; make sure that only one bot instance is running

Não sei como resolver.

@Douglas mas não consegues obter o chat id?

Agora consegui. Eu reiniciei o HA e mandei uma mensagem pelo web.telegram.org e consegui ver o ID. Mas é o mesmo que eu já estava utilizando. Acredito que o conflito era porque o HA estava em uso e ao mesmo tempo mandei a mensagem direto para o bot (na web) e mostrou aquela mensagem.

Mas ao reiniciar testei a primeira notificação e funcionou. Muito obrigado pelo seu vídeo, sou do Brasil e não tem nenhuma comunidade tão boa como essa aqui sobre HA. Agora vou verificar as possibilidades de notificação.

Olá, agora estou recebendo notificações, mas não funcionou o evento de retornar a resposta pelo bot.

Automação

- alias: luz_rua_acesa
  trigger:
    - platform: state
      entity_id: switch.sonoff_10006198f1
      to: 'on'
  action:
    - service: notify.telegramgrupo
      data:
        message: 'Luz da rua foi ligada'
        data:
          inline_keyboard:
            - "Deseja apagar:/sim_apagar_luz_rua"  

- alias: apagar_luz_rua
  hide_entity: false
  trigger:
    platform: event
    event_type: telegramgrupo_callback
    event_data:
      data: '/sim_apagar_luz_rua'
  action:
    - service: switch.turn_off
      entity_id: switch.sonoff_10006198f1

O que tem de errado?

Coloca por baixo do Alias initital_state: true reinincia o HA e tenta de novo.

Ou seja:

- alias: luz_rua_acesa
  initial_state: true
  trigger:
    - platform: state
      entity_id: switch.sonoff_10006198f1
      to: 'on'
  action:
    - service: notify.telegramgrupo
      data:
        message: 'Luz da rua foi ligada'
        data:
          inline_keyboard:
            - "Deseja apagar:/sim_apagar_luz_rua"  

- alias: apagar_luz_rua
  initial_state: true
  hide_entity: false
  trigger:
    platform: event
    event_type: telegramgrupo_callback
    event_data:
      data: '/sim_apagar_luz_rua'
  action:
    - service: switch.turn_off
      entity_id: switch.sonoff_10006198f1

Apareceu esse erro:

Error sending message: Forbidden: bot can't initiate conversation with a user. Args: (xxxx, 'Luz da rua foi ligada'), kwargs: {'parse_mode': 'Markdown', 'disable_notification': False, 'disable_web_page_preview': None, 'reply_to_message_id': None, 'reply_markup': <telegram.inline.inlinekeyboardmarkup.InlineKeyboardMarkup object at 0x6b14d130>, 'timeout': None}

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


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


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