November 21, 2025

Открытие домофона Уфанет из home assistant

Спасибо @Hxhxkgsk за изучение механизмов уфанета и написание скрипта!!!

1. Ставим интеграцию PythonScriptsPro
https://github.com/AlexxIT/PythonScriptsPro

2. Создаем в папке config место хранения скрипта
Например, я сделал /config/pythonScriptPro/

3. Создаем в каталоге файлик, например ufanet_domofon.py
и в него вносим сам скрипт. Таким образом у меня путь до скрипт получился
/config/pythonScriptPro/ufanet_domofon.py

Скрипт:

import requests

def get_session_id(login, password):
    login_url = 'https://dom.ufanet.ru/login/'
    data = {
        'contract': login,
        'password': password
    }
    session = requests.Session()
    response = session.post(login_url, data=data)
    if response.status_code == 200:
        cookies = session.cookies
        sessionid = cookies.get('sessionid')
        if sessionid:
            return sessionid

def open_door(login, password,domf_id):
    sessionid = get_session_id(login, password)
    url = f'https://dom.ufanet.ru/api/v0/skud/shared/{domf_id}/open/'
    coc = {'sessionid':f'{sessionid}'}
    response = requests.Session().get(url=url,cookies=coc)
    
open_door(data['login'], data['password'],data['domf_id'])

4. Идем на сайт https://dom.ufanet.ru/ логинимся под логином, где есть домофон (логин пароль от договора и сайта my.ufanet.ru). На вкладке СКУД должны быть ваши доступные домофоны.
Открываем в Chrome панель разработчика (F12)
На вкладке элементы находим по Ctrl-F "data-skud" и должно найти элемент потипу:

<a href="#" role="button" class="btn btn-primary open-skud" data-skud="1234" data-shared="1">Открыть</a>

Где 1234 и есть id домофона в системе уфанета который нам понадобится

5. Остается вызывать скрипт.
Для проверки в панели разработчика ХА вкладка действия прописываем скрипт действие

action: python_script.exec
data:
  cache: false
  file: /config/pythonScriptPro/ufanet_domofon.py
  login: "1111111111"
  password: "2222222222"
  domf_id: "1234"

Где login и password это логин и пароль от ufanet.ru
domf_id - айди домофона который мы узнали чуть выше

Проверяем, если сделали все верно то домофон должен открыться.

6. Дальше с этим скриптом можно сделать что угодно, например, я сделал шаблонную кнопку, чтобы прокинуть на часы.
Настройки - устройства - вспомогательное - создать - Template (или Шаблонный, у меня ХА пока прежний релиз, возможно перевод уже нормальный)
- Шаблон кнопки

Название как нам нужно
Добавить действие - другие действия - выполнить действия.


И Приводим действие к виду по примеру выше. Сохраняемся.
Кнопка появилась, её нажатие открывает домофон.

Также прокинул кнопки в Умный дом яндекс.

Еще раз спасибо @Hxhxkgsk!

При перепечатке на другие ресурсы ссылка на оригинальный пост обязательна!

Так же можно завести камеры уфанет в Home Assistant

https://teletype.in/@blacksli/cam_ufanet_in_home_assistant