Exemplos de como usar o Telegram


(Rodolfo) #1

:bookmark_tabs: Exemplos de como usar o Telegram
(Ricardo Silva) #2

Também a isso pode se acrescentar o exemplo se o switch esta disponível:

- alias: switch_indisponivel
  trigger:
    platform: state
    entity_id: switch.relais
    to: "unavailable"
  action:
    - service: telegram_bot.send_message
      data:
        message: "Indisponivel"

:bookmark_tabs: Exemplos de como usar o Telegram
(Jorge Assunção) #3

@ricain, quando publicares código deves seleccionar o texto que queres transformar em código e clicar no icone </>


(Ricardo Silva) #4

Tens razão, mais uma vez esqueci me. Vou ver se não me esqueço para a proxima.


(Mario Guedes) #5

Alguem me sabe dizer a melhor forma de enviar uma mensagem para vários utilizadores do Telegram? Tenho de repetir o “action” para cada um deles?


(Jorge Assunção) #6

Os passos são quase os mesmos dos de enviar a mensagem para um utilizador.

Crias um grupo no Telegram com os vários utilizadores, vês qual o ID de chat do grupo e configuras a action para enviar para o grupo.

Vê este tópico no site oficial para ajudar:


(Mario Guedes) #7

Acho que já estou a conseguir chegar lá. Gracias pela ajuda @j_assuncao :slight_smile:


(Rodolfo) #8

@mguedes para vários utilizadores é algo do estilo:

notify:

  - name: UTILIZADOR1
    platform: telegram
    chat_id: !secret chatid01
  
  - name: UTILIZADOR2
    platform: telegram
    chat_id: !secret chatid02
      
  - name: geraltelegram
    platform: group
    services: 
      - service: UTILIZADOR1
      - service: UTILIZADOR2

exemplo de action.

action:
  - service: notify.geraltelegram
    data_template:
      title: 'Porta de Casa Aberta'
      message: "Dia {{states.sensor.date.state}} às {{states.sensor.time.state}}"

(Mario Guedes) #9

Acabei por usar a sugestão do @j_assuncao e criar um grupo mas essa solução pode ser interessante em algumas situações. Obrigado @RodolfoVieira


(Pedro Baptista) #10

Estou a necessitar de uma ajudinha

Este é o meu código

- alias: Chatbot - Estados
  hide_entity: true
  trigger: 
  -  platform: event
     event_type: telegram_callback
     event_data:
       data: '/estado'
  action:
    - service: notify.s9
      data:
        title: "Estados"
        message: '{{states.light.spots.attributes.friendly_name}} {{states.light.spots.state}}
                  {{states.light.wc_principal.attributes.friendly_name}} {{states.light.wc_principal.state}}
                  {{states.light.cozinha.attributes.friendly_name}} {{states.light.cozinha.state}}
                  '

Precisava de saber se existe maneira de haver uma quebra de linha entre cada linha que se refere aos estados das luzes, uma vez que na app telegram aparecem todos na mesma linha.
O código funciona, é somente por uma questão estética

Obrigado


(Ricardo Silva) #11

Cria outra acção:

- alias: Chatbot - Estados
  hide_entity: true
  trigger: 
  -  platform: event
     event_type: telegram_callback
     event_data:
       data: '/estado'
  action:
    - service: notify.s9
      data:
        title: "Estados"
        message: '{{states.light.spots.attributes.friendly_name}} {{states.light.spots.state}}
  action:
    - service: notify.s9
      data:
        message:
                  {{states.light.wc_principal.attributes.friendly_name}} {{states.light.wc_principal.state}}
  action:
    - service: notify.s9
      data:
        message:
                  {{states.light.cozinha.attributes.friendly_name}} {{states.light.cozinha.state}}

(Rodolfo) #12

muito simples

- alias: Chatbot - Estados
  hide_entity: true
  trigger: 
  -  platform: event
     event_type: telegram_callback
     event_data:
       data: '/estado'
  action:
    - service: notify.s9
      data:
        title: "Estados"
        message: '{{states.light.spots.attributes.friendly_name}} {{states.light.spots.state}}

                  {{states.light.wc_principal.attributes.friendly_name}} {{states.light.wc_principal.state}}

                  {{states.light.cozinha.attributes.friendly_name}} {{states.light.cozinha.state}}
                  '

Basta isto @ricain


(Pedro Baptista) #13

Continua tudo a aparecer na mesma linha, na bola de mensagem enviada pelo telegram :confused:

Erro meu!
Funcionou como pretendia;

Muito obrigado pela ajuda


(Rodolfo) #14

testa assim:

- alias: Chatbot - Estados
  hide_entity: true
  trigger: 
  -  platform: event
     event_type: telegram_command
     event_data:
       command: '/estado'
  action:
    - service: notify.s9
      data:
        title: "Estados"
        message: "o estado é:
                   {{states.light.spots.attributes.friendly_name}} {{states.light.spots.state}}

                  {{states.light.wc_principal.attributes.friendly_name}} {{states.light.wc_principal.state}}

                  {{states.light.cozinha.attributes.friendly_name}} {{states.light.cozinha.state}}"

Eu testei e aparecem 4 linhas.
Copia tudo exactamente como está. mudei mais algumas coisas.


(Rodolfo) #15

ok visto que foi resolvido cá em baixo ao lado de “Responder” tens uma caixa com um visto clica aí por favor. No post que resolveu o teu problema.


(karma) #16

Boas.
Os multi users ainda se encontra funcional?
Criei o 2o user tal igual ao 1o ( pelo video do rodolfo) mas ao tentar adicionar o 2o user está me a dar erro no HA.

Configuration.yaml:

 telegram_bot:
  - platform: polling
    api_key: !secret telegrambot_api_key
    allowed_chat_ids:
      - !secret telegrambot_chat_id01
      - !secret telegrambot_chat_id04

notify,yaml:

  - name: telegram
    platform: telegram
    chat_id: !secret telegramchat_id


  - name: telegram4
    platform: telegram
    chat_id: !secret telegramchat_id4

##### Group ####
  - name: telegram_group
    platform: group
    services:
      - service: telegram
      - service: telegram4

script.yaml:

### Test
test:
  alias: 'Test'
  sequence:
    # this is the action to test (can change to which ever service you want
    - service: notify.telegram_group
      data: 
        message: 'Mensagem de teste'

(Rodolfo) #17

@karma por favor lê os nossos termos e regras CPHA - Termos do Serviço/Regras
Ponto II linha D
"Não devem ser utilizadas imagens (fotos de telemóvel por exemplo) para colocar código numa publicação..."


(Rodolfo) #18

Se tiveres so um utilizador funciona normal? sem problemas?

Se também não funcionar tenta:

### Test
test:
  alias: 'Test'
  sequence:
    # this is the action to test (can change to which ever service you want
    - service: notify.telegram_group
      data: 
        title: 'teste'
        message: 'Mensagem de teste'

(karma) #19

Sim, funcionassem problemas… penso que o problema não é deste script, este script criei para me facilitar se recebia notificações ou não.
Com estes códigos só recebo notificação no primeiro user… mas vou experimentar na mesma com essa linha


(Rodolfo) #20

Outra pergunta, caso envies uma mensagem apenas para o segundo user tambem funciona?