Простой способ получать уведомления от HomeAssistant в WhatsApp
Для этого воспользуемся сервисом Twilio
После регистрации нам предложат воспользоваться разными сервисами, жмем на SMS Chatbot:

Далее даем проекту имя:
На следующем этапе жмем Skip:
После попадаем на экран со схемой и жмем Programmable SMS:
И выбираем WhatsApp:
Подтверждаем:
Тут нас попросят отправить в WhatsApp кодовую фразу на указанный номер, это нужно для привязки. Именно через этот номер HA в будет отсылать уведомления, которые вы получите:
Как только сообщение будет отправлено и прочитано, вы увидите уведомление об успешной привязке:
Теперь перейдем на страницу настроек User Settings нажав на имя пользователя и попадем на страницу с ACCOUNT SID и AUTH TOKEN, которые нам нужны для привязки к HomeAssistant.
Прописываем в configuration.yaml:
# Сервис twilio для отправки и получения уведомлений WhatsApp twilio: account_sid: !secret twilio_account_sid auth_token: !secret twilio_auth_token
в notify.yaml:
# Twilio Whatsapp - name: twilio_whatsapp platform: twilio_whatsapp from_number: !secret twilio_whatsapp_number
в secrets.yaml:
# Twilio twilio_account_sid: AC7bbae38e2014aa4c2d0d07ef48530049 twilio_auth_token: 2911caa1e5079390dd1515dfcbe300a8 twilio_whatsapp_number: whatsapp:+14557248888
сменив twilio_account_sid, twilio_auth_token и twilio_whatsapp_number на ваши. Номер телефона тот, на который вы отправляли кодовое слово для привязки.
Создадим в папке custom_components папку twilio_whatsapp, а в ней файл notify.py со следующим содержимым:
"""
Twilio Whatsapp platform for notify component.
For more details about this platform, please refer to the documentation at
"""
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"
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Required(CONF_FROM_NUMBER):
vol.All(cv.string),
})
def get_service(hass, config, discovery_info=None):
"""Get the Twilio Whatsapp notification service."""
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)
Перезагружаем HA.
В автоматизациях уведомления выглядят следующим образом:
# Тест уведомлений Ватсап
- alias: whatsapptestnotify
hide_entity: True
trigger:
entity_id: binary_sensor.testsensor
platform: state
from: 'on'
to: 'off'
action:
service: notify.twilio_whatsapp
data:
message: "Тестовое сообщение HomeAssistant"
target: "+79620000000"
где target это Ваш номер телефона, с которого вы отправляли код для привязки.
P.S:
Сервис twilio платный, с тарифами можно ознакомиться у них на сайте.
А файл именно notify.yam ? Или всё-таки yaml ? Я пишу notify.yaml.
Но у меня так и не появляется сервис notify.twilio_whatsapp.
Что делать?
Опечатка. Правильно, конечно же, notify.yaml
Кстати насчёт работоспособности компонента на данный момент не уверен..
Спасибо! Похоже, что да, не работает.