E que tal receber notificações em seu WhatsApp? Isso mesmo, nesse artigo vamos auxiliar a enviar mensagens pelo HA com Twilio para seu número de whatsapp.
Se você já configurou a Ligação com o Twilio, será ainda mais prático.
Caso não tenha feito, será necessário criar uma conta no Twilio como no artigo da Ligação com Twilio.
Configurando o número WhatsApp no Twilio
Após criar a conta no Twilio, faça a autenticação, e clique no menu Programmable SMS.
Acesse a opção WhatsApp Beta
Agora você receberá uma mensagem que explica sobre este serviço e será solicitado a confirmar os Termos de serviço do whatrsapp. Marque a opção Eu concordo e clique em Confirmar para continuar.
Na próxima etapa, você receberá um número do WhatsApp (algo como +1 415 523 8886) para o qual você deve enviar um código para esse número e assim ativar a caixa de envio.
Você deve enviar o texto (code) em negrito para esse número através do whatsapp.
Exemplo: join hollow-hardily
Se funcionar, você pode ver que o Twilio recebeu sua mensagem: “Message Received”"
E também receberá uma mensagem de confirmação no aplicativo Whatsapp.
Implementando o Twilio no Home Assistant
No artigo da ligação com o Twilio já tem a explicação dessa etapa, se você já aplicou, não precisará repetir. Se você ainda não fez, siga os passos abaixo:
Agora clique em “Console” no menu e, em seguida, você poderá ver seu sid e token, e deve anotá-lo.
Agora, vá para o arquivo de configuração do Home Assistant e adicione o seguinte código:
twilio:
account_sid: [your account sid]
auth_token: [your account auth token]
Após isso, se você ainda não possuir a pasta “custom_components”, crie uma nova pasta e nomeie-a como “custom_components”, dentro dessa pasta, crie outra chamada “twilio_whatsapp”.
Em seguida crie um novo arquivo dentro da pasta twilio_whatsapp e chame-o “notify.py” e copie o texto a seguir para colocar no arquivo.
"""
Twilio Whatsapp platform for notify component.
For more details about this platform, please refer to the documentation at
https://en.techblog.co.il/2019/01/24/easily-send-home-assistant-notifications-using-whatsapp/
"""
import logging
import voluptuous as vol
# from homeassistant.components.twilio import DATA_TWILIO
import homeassistant.helpers.config_validation as cv
from homeassistant.components.notify import (
ATTR_TARGET, PLATFORM_SCHEMA, BaseNotificationService)
_LOGGER = logging.getLogger(__name__)
# DEPENDENCIES = ["twilio"]
CONF_FROM_NUMBER = "from_number"
CONF_ACCOUNT_SID = "account_sid"
CONF_AUTH_TOKEN = "auth_token"
DOMAIN = "twilio"
DATA_TWILIO = DOMAIN
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
{
vol.Required(CONF_FROM_NUMBER): vol.All(cv.string),
vol.Required(CONF_ACCOUNT_SID): vol.All(cv.string),
vol.Required(CONF_AUTH_TOKEN): vol.All(cv.string),
}
)
def get_service(hass, config, discovery_info=None):
"""Get the Twilio Whatsapp notification service."""
from twilio.rest import Client
hass.data[DATA_TWILIO] = Client(
config[CONF_ACCOUNT_SID], config[CONF_AUTH_TOKEN]
)
return TwilioWhatsappNotificationService(
hass.data[DATA_TWILIO], config[CONF_FROM_NUMBER])
class TwilioWhatsappNotificationService(BaseNotificationService):
"""Implement the notification service for the Twilio Whatsapp service."""
def __init__(self, twilio_client, from_number):
"""Initialize the service."""
self.client = twilio_client
self.from_number = from_number
def send_message(self, message="", **kwargs):
"""Send Whatsapp to specified target user cell."""
targets = kwargs.get(ATTR_TARGET)
if not targets:
_LOGGER.info("At least 1 target is required")
return
for target in targets:
self.client.messages.create(
to='whatsapp:'+target, body=message, from_=self.from_number)
Agora, crie um novo arquivo e chame-o de “manifest.json” e copie o seguinte texto no arquivo:
{
"domain": "https://techblog.co.il/2019/01/easily-send-home-assistant-notifications-using-whatsapp/",
"name": "twilio_whatsapp",
"documentation": "https://techblog.co.il/2019/01/easily-send-home-assistant-notifications-using-whatsapp/",
"dependencies": ["twilio"],
"codeowners": ["@T0merr"],
"requirements": []
}
Por último, crie o último arquivo __init__.py
e deixe em branco, totalmente vazio e coloque todos esses arquivos dentro da pasta twilio_whatsapp, conforme a imagem abaixo.
Configurando a notificação no Home Assistant
Na etapa de configuração final adicione as seguintes linhas ao seu arquivo configuration.yam:
notify:
- name: Home-Assistant
platform: twilio_whatsapp
from_number: whatsapp:+[o número para o qual você enviou a mensagem inicial, que foi criado no twilio]
account_sid: !secret twilio_sid
auth_token: !secret twilio_token
Após isso, você deve chegar seu código e reiniciar.
Para testar o serviço de noticação com o whatsapp você pode acessar a tela de serviços e testar manualmente:
Target é o seu número no whatsapp.
{
"message":"Home Assistant Teste",
"target":"[nosso número de telefone inclui o código do país]"
}