Открытие домофона Уфанет из 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 (или Шаблонный, у меня ХА пока прежний релиз, возможно перевод уже нормальный)
- Шаблон кнопки
Название как нам нужно
Добавить действие - другие действия - выполнить действия.
И Приводим действие к виду по примеру выше. Сохраняемся.
Кнопка появилась, её нажатие открывает домофон.
Также прокинул кнопки в Умный дом яндекс.
При перепечатке на другие ресурсы ссылка на оригинальный пост обязательна!