Boa tarde,
Ok, Faz sentido obrigado pela explicação…
Cumprimentos,
Boas pessoal, eu já tenho o telegram totalmente configurado e a receber notificações, obrigado pelo tutorial
Mas tenho uma questão, é possível fazer uma questão ao bot (por exemplo o estado de uma luz) e ele responder com o estado? Se já existir a resposta peço desculpa mas não encontrei no search…
Cumprimentos,
Dá para fazer o que queres, acho que tenho isso aqui no fórum explicado tenta isto:
Tenho o Telegram a funcionar corretamente. Recebo as mensagens de notificação com texto simples.
Tentei adicionar o dia e a hora as mensagens, seguindo o exemplo que tem neste tópico mais acima, mas sem sucesso.
O código que estou a utilizar é o seguinte:
- alias: telegram_portao_garagem_abrir
trigger:
platform: state
entity_id: switch.sonoff_portao_da_garagem
to: 'on'
action:
- service: notify.telegram
data:
title: 'Portão da Garagem Aberto'
message: "Dia {{states.switch.sonoff_portao_da_garagem.date.state}} às {{states.switch.sonoff_portao_da_garagem.time.state}}"
Quando adiciono o “states.switch.sonoff_portao_da_garagem.date.state” e “states.switch.sonoff_portao_da_garagem.time.state” na mensagem deixo de receber a notificação. Se os retirar recebo a notificação normalmente só com o texto…
Existe outra forma de adicionar o dia e hora na mensagem?
Para colocares variáveis dentro das mensagens não podes trabalhar com data
mas sim com data_template
, por exemplo:
- service: script.notify_zanzito_jorge
data_template:
title: '{{ as_timestamp (now()) | timestamp_custom("%d/%b/%Y %T") }}'
message: 'Luzes de Presença do Corredor - LIGADAS'
Já esta a funcionar.
Com o exemplo que deste não faz falta utilizar o data_template
e fica mais fácil para personalizar a data e a hora.
Obrigado
O problema que tinhas no teu código era o facto de usares aspas ("
) o que indica ao HA que deve usar o texto uma string. O uso de plicas ('
) é que indica ao HA para usar variáveis.
P.S.: Já corrigi o meu exemplo acima e coloquei o
data_template
pois deve ser sempre usado quando se utilizam variáveis. Se nesse caso funciona (com odata
para o Telegram), se utilizares por exemplo as notificações HTML5 irá dar um erro. Por este motivo, e SEMPRE que se utilizam variáveis, deve ser utilizado odata_template
.
Viva,
Estou com uma dúvida (sou noob )
Tenho esta automação:
- id: '1581006191605'
alias: Luzes do quarto
trigger:
- entity_id: light.qp_luz_tecto
from: 'off'
platform: state
to: 'on'
- entity_id: light.qp_luz_tecto
from: 'on'
platform: state
to: 'off'
condition: []
action:
- data:
message: >
{{ trigger.to_state.name }} is {{ trigger.to_state.state }}
service: telegram_bot.send_message
Eu esperava que a mensagem que recebo no Telegram indicasse a entidade e o estado da mesma.
Realidade, recebo uma simples mensagem de texto.
Qq ajuda, é bem vinda.
Substitui:
action:
- data:
Por:
action:
- data_template:
Bem vindo ao fórum da CPHA @bbaixo e não esqueças de ler os nossos Termos do Serviço/Regras e a FAQ.
Se precisares de dicas tens muitas aqui no fórum e se quiseres conversar sobre algum tema para tirar duvidas tens sempre o nosso servidor de Discord! Mas para questões especificas , primeiro usa a LUPA para pesquisares se o tema já se encontra no fórum se não, opta por abrir um novo tópico aqui no fórum pois as respostas às tuas duvidas poderão posteriormente ajudar outros utilizadores.
Viva Jorge,
Obrigado pela dica, funciona como pretendido
Jorge, aproveitando a oportunidades, no momento a mensagem no telegram aparece:
qpluzcloset is on
Como posso por uma mensagem mais personalizado, do género:
“QP | Luz do closet is on”
obg
Tens que trocar o {{ trigger.to_state.name }} pelo friendly name
{{ trigger.to_state.attributes.friendly_name }}
pois, Rodolfo, bem tentei mas não funciona
Código da definição do entidade:
- platform: mqtt # TIPO: Luz
name: qp_luz_closet
friendly_name: QP | Luz do closet
state_topic: "shellies/shelly1-C489A1-Closet/relay/0"
command_topic: "shellies/shelly1-C489A1-Closet/relay/0/command"
payload_on: "on"
payload_off: "off"
payload_available: "true"
payload_not_available: "false"
optimistic: false
qos: 0
retain: false
Código da automação:
action:
- data_template:
message: >
{{ trigger.to_state.attributes.friendly_name }} is {{ trigger.to_state.state }}
service: telegram_bot.send_message
não consigo perceber…
mas nao recebes mensagem nenhuma?
Viva Rodolfo,
Sim, recebo exatamente a mesma
"qpluzcloset is on"
Com as seguintes sintaxes:
{{ trigger.to_state.attributes.friendly_name }} is {{ trigger.to_state.state }}
{{ trigger.to_state.name }} is {{ trigger.to_state.state }}
Ou seja, como tenho friendly_name definido na entidade, estava à espera que a mensagem fosse:
"QP | Luz do closet is on"
Experimente mudar o nome da entidade no próprio HA para ver se o nome usado na mensagem também muda.
Configuration > Entities
Estranho…
Podes testar assim:
{{ state_attr(trigger.event.data.entity_id, 'friendly_name') }} is {{ trigger.to_state.state }}
Viva,
Ainda não pude testar pq entretanto o MQTT deixou de reconhecer as entidades.
off-topic: ando aqui com uns problemas com o MQTT Mosquitto…
Viva Jorge,
Curiosamente, os Shelly’s não me aparecem na lista de Entities (na Configuration)
@bbaixo aconselho a abertura de outro tópico ou ver se existe algum tema semelhante, porque este tema foge completamente do titulo deste tópico.