Главная > Умный дом > Как не нужно читать документацию по REST API Home Assistant
Как не нужно читать документацию по REST API Home Assistant21 июля 2021. Разместил: dimon |
Уже год я периодически возвращаюсь к мысли слать графики из Home Assistant в Telegram..
Но пока никакого простого решения не "нагуглил" и не придумал. А тут на днях попалась статья как человек выводит график на E-Ink дисплей. Он забирает данные из Home Assistant с помощью REST API HA Пайтон (Phyton) скриптом, потом им же формирует график и сохраняет его в виде картинки, которую загружает с помощью ESP в дисплей. Как оказалось первое, что нужно сделать - это сгенерировать Долгосрочные токены доступа ("Long-Lived Access Token") на страничке профиля http://IP_ADDRESS:8123/profile Там задается имя и после этого показывает токен, который предлагается сохранить в безопасное место. Тут была моя первая ошибка - ключ был выделен в поле ввода и я просто нажал Ctrl + C, удивился что он какой-то короткий, но записал его в блокнот. Попробовал получить статус API с помощью cURL в терминале Ubuntu с помощью команды из документации:
где ABCDEFGH - наш токен, записанный в блокнот Получив ошибку 401 (Unauthorized), начал вспоминать, что читал в документации. Вспомнив, что в документации было написано, что нужно дописать в configuration.yaml код:
Попробовал добавить его, но все равно ошибка. Начал гуглить, напал на старую статью на китайском сервера НА, там было указано что необходимо еще править секцию http: в configuration.yaml. Попробовал и это. Потом перешел на официальную доку по HTTP Home Assistant, там оказалось куча изменений и никакие api_password добавлять не нужно. В итоге доковырялся до того, что заблокировал доступ к НА по http вообще. Пришлось брать balenaEtcher, раскатывать чистый образ HassOS, скачивать с Google Drive бэкап, и раскатывать его. После восстановления работоспособности Home Assistant, я вернулся к первому пункту - созданию долгосрочного токена и обратил внимание, что в поле токен почему-то выделен не весь, выделил его целиком, скопировал в блокнот - он оказался раза в 4 длиннее первоначального, попробовал cUrl и команда сработала:
Потом я вспомнил, что после обновления до версии 2021.07, многие жаловались, что поломался удаленный доступ к Home Assistant и дружно правили секцию trusted_proxies как раз в разделе http: в configuration.yaml. Выводы - нужно внимательнее читать официальную документацию, и очень скептически относиться к мануалам, написанным пусть даже всего несколько месяцев назад. Потому что Home Assistant очень резво развивается, и то что недавно работало, может уже совершенно по другому описываться в конфигурации. Вернуться назад |