See description in English here.
Пользовательский компонент для совершения телефонных звонков из Home Assistant с использованием 3G/4G, LTE модемов.
Основная задумка в том, чтобы задействовать модем для экстренного оповещения о важных событиях в умном доме. Но оповещениями всё не ограничивается и интеграция может быть полезна и в других сценариях, например для открытия ворот.
Интеграцию можно установить с помощью HACS. Для этого нажмите голубую кнопку выше или добавьте репозиторий вручную:
- Перейдите в HACS → Интеграции.
- В правом верхнем углу выберите трёхточечное меню, а затем выберите Пользовательские репозитории.
- Вставьте
black-roland/homeassistant-gsm-call
. - Выберите Интеграция в поле Категория.
- Нажмите Сохранить.
- Установите «GSM Call».
Компонент настраивается через configuration.yaml
:
notify:
- name: call
platform: gsm_call
device: /dev/serial/by-id/usb-HUAWEI_Technology_HUAWEI_Mobile-if01-port0 # путь до модема
Путь до модема можно получить, нажав на «Всё оборудование».
После редактирования конфига потребуется перезапустить Home Assistant. Чтобы позвонить, используйте службу notify.call
. Номер телефона для дозвона указывается в target
:
action:
service: notify.call
data:
target: "+71234567890"
message: "Обязательное поле в HASS, но компонент его не использует — можете указать любой текст"
По умолчанию дозвон длится в течение 30 секунд. Это значение можно поменять через параметр call_duration_sec
:
notify:
- name: call
platform: gsm_call
device: /dev/serial/by-id/usb-HUAWEI_Technology_HUAWEI_Mobile-if01-port0
call_duration_sec: 40
Если указать слишком большое значение, то оператор может прервать дозвон раньше времени. Отсчёт времени начинается с момента, когда вызываемый телефон начинает звонить.
Компонент публикует событие gsm_call_ended
с указанием того, был сброшен звонок или принят. Таким образом, например, можно выключить сигнализацию, если вызываемый абонент отклонил звонок:
automation:
- alias: "Disarm the security alarm when a call is declined"
triggers:
- trigger: event
event_type: gsm_call_ended
event_data:
reason: "declined"
actions:
- action: alarm_control_panel.alarm_disarm
target:
entity_id: alarm_control_panel.security
reason
может содержать следующие значения:
not_answered
— нет ответа;declined
— звонок сброшен;answered
— абонент поднял трубку.
Также помимо reason
можно указать phone_number
для фильтрации по номеру телефона. Все возможные свойства доступны в панели разработчика.
Интеграция предназначена для совершения звонков. Давайте не будем переусложнять. Не планируется добавлять отправку SMS и другой функционал, который не связан со звонками. Для работы с СМС воспользуйтесь этой интеграцией.
Модемы обычно предоставляют сразу несколько интерфейсов для взаимодействия:
$ ls -1 /dev/serial/by-id/usb-HUAWEI_Technology_HUAWEI_Mobile-if0*
/dev/serial/by-id/usb-HUAWEI_Technology_HUAWEI_Mobile-if00-port0
/dev/serial/by-id/usb-HUAWEI_Technology_HUAWEI_Mobile-if01-port0
/dev/serial/by-id/usb-HUAWEI_Technology_HUAWEI_Mobile-if02-port0
Для использования этой интеграции совместно с sms, укажите разные интерфейсы в настройках каждой интеграции (иначе они могут блокировать друг друга).
Для начала, пожалуйста, включите отладочные логи в configuration.yaml
:
logger:
logs:
custom_components.gsm_call: debug
Пожалуйста, убедитесь, что ModemManager отключён.
На некоторых модемах от ZTE дозвон работает только после предварительной отправки команды AT%icscall=1,0
. Попробуйте указать hardware: zte
, если с конфигурацией по умолчанию дозвон не работает:
notify:
- name: call
platform: gsm_call
device: /dev/serial/by-id/usb-ZTE_MF192_D536C4624C61DC91XXXXXXXXXXXXXXXXXXXXXXXX-if00
hardware: zte
На некоторых модемах может понадобиться использовать другую команду для дозвона. Попробуйте указать hardware: atdt
, если со стандартной ATD не работает:
notify:
- name: call
platform: gsm_call
device: /dev/serial/by-id/usb-HUAWEI_Technology_HUAWEI_Mobile-if01-port0
hardware: atdt
Интеграция оказалась полезной? Хотите сказать спасибо? Кофе автору — ваша благодарность. ☕ На кофе
Большое спасибо всем, кто меня поддерживает:
В целом эта интеграция должна быть совместима с модемами, указанными здесь.
Протестировано на:
- Huawei E161/E169/E620/E800.
- Huawei E171.
- Huawei E3531 (необходимо разблокировать с помощью этого руководства).
- ZTE MF192 с указанием
hardware: zte
в конфигурации. Не работает совместно с компонентом для SMS.