Блог им. empenoso

Как я чинил умный дом, который окирпичился из-за онлайн-сервиса

Home Assistant позиционирует себя как локальную систему. Но я столкнулся с ситуацией, когда локальная функция (Samba) не работает из-за облачного сбоя. При этом я вообще не использую облако. В статье описываю как обошёл эту проблему за 5 минут, когда за день разобрался в причине.
Как я чинил умный дом, который окирпичился из-за онлайн-сервиса

Мне очень нравится Home Assistant как система управления умным домом, потому что она позволяет не зависеть от облаков и от падений интернета. Это не просто слова — с 2017 года я использую умный дом в обычной двухкомнатной хрущевке, и в основном всё работает. Но это скорее тестовый полигон для меня — я сам там не живу и поэтому очень ценю то что Home Assistant можно настроить один раз и если не обновлять, то несколько лет всё может спокойно проработать. А на этих новогодних каникулах у меня было время и я решил полностью обновить все дополнения и прошивки. Как оказалось зря — паранойя безопасности ломает определение Home Assistant как автономного сервиса, который можно использовать локально.

В первых числах января 2026 решил удаленно обновить все зависимости — за несколько раз всё обновилось, но мне ещё понадобилось включить дополнение Samba share, чтобы из под Windows проверить пару конфигов, которые не хотели работать. А я отключил Samba share ещё год назад. Удаленно не смог включить — всё какая-то ошибка вылазила, хотя все остальные компоненты работают. Пришлось ехать на квартиру и думал что может быть Raspberry Pi 3 2015 года уже старая стала или флешка сдохла. У меня было ещё несколько запасных — прихватил и чистую флешку и новый микрокомпьютер 2017 года и новый блок питания.

Небольшая предыстория: весь мой проект начался в 2017 году с идеи удаленного сбора показаний счётчиков квартиры, где я использовал самые доступные по цене решения: ESP8266, MegaD. Потом решил подключить управление светом через дешевые Sonoff с прошивкой Tasmota и OpenHAB. 1000 дней пользовался OpenHAB, а затем перешел на Home Assistant, а в 2024 году провёл ремонт и замену Wi-Fi реле на Zigbee. И до недавнего времени это работало.


Как я чинил умный дом, который окирпичился из-за онлайн-сервиса
«Стенд проверки»

Поставил чистую систему — в 2026 году это происходит через Raspberry Pi Imager, хочу с Windows компьютера подключиться, а там та же ошибка Не удалось сохранить конфигурацию дополнения, Unknown error, see supervisor logs. И непонятно из-за чего.


Как я чинил умный дом, который окирпичился из-за онлайн-сервиса
Ошибка Home Assistant Не удалось сохранить конфигурацию дополнения, Unknown error, see supervisor logs

Только в логах на чистой системе подробно рассмотрел что WARNING (MainThread) [supervisor.utils.pwned] Can’t fetch HIBP data: Timeout

Как я чинил умный дом, который окирпичился из-за онлайн-сервиса
Ошибка Home Assistant WARNING (MainThread) [supervisor.utils.pwned] Can’t fetch HIBP data: Timeout

Стал разбираться и оказалось что Home Assistant абсолютно все пароли проверяет на скомпромитированность через онлайн сервис, а поскольку мы в России, то этот сервис не даёт ответа видимо из-за санкций или политики, а в интерфейсе ничего внятного не пишет — просто неизвестная ошибка.

И я в своём полностью локальном Home Assistant не могу к нему по локальной сети подключиться из-за того что этот онлайн сервис HIBP не отвечает. Сервис HIBP (Have I Been Pwned) проверяет были ли заново создаваемые пароли в утечках данных.

Но какая-то нестыковка кажется с заявленной полной локальностью Home Assistant?

Home Assistant пользуется этим сервисом и это нельзя отключить для проверки безопасности паролей. Но я даже не знал что такая проверка есть, а у сервиса проблемы с доступностью в России из-за санкций или Роскомнадзора, что вызывает ошибки и блокирует работу всей домашней системы.


Как исправить ошибку WARNING (MainThread) [supervisor.utils.pwned] Can’t fetch HIBP data: Timeout

Поскольку у меня уже был физический доступ к SD карте — раз я приехал на удаленную квартиру, на которой установлен Home Assistant, то решил через физическое подключение к Linux провести все манипуляции, потому что функция PwnedConnectivityError блокирует абсолютно всё.


Как я чинил умный дом, который окирпичился из-за онлайн-сервиса
SD карта, подключенная к Linux

Нашёл проблему в файле pwned.py, он файл лежит внутри контейнера Supervisor, в моём случае по адресу admin:///media/mike/hassos-data/docker/overlay2/0e05ec32ffef35caed1b7184eefcfdda5eb1a35ad60e68e5d14f3a73996b18ea/diff/usr/src/supervisor/supervisor/utils.

Как я чинил умный дом, который окирпичился из-за онлайн-сервиса
Картридер в Ubuntu

Но у вас будет другой путь, надо искать внутри внутри контейнера Supervisor: /usr/src/supervisor/supervisor/utils/pwned.py


Как я чинил умный дом, который окирпичился из-за онлайн-сервиса
Файл /usr/src/supervisor/supervisor/utils/pwned.py

Вот оригинальный файл pwned.py с проблемой:

<code class="python">"""Small wrapper for haveibeenpwned.com API."""<br /><br />import io<br />import logging<br /><br />import aiohttp<br /><br />from ..exceptions import PwnedConnectivityError, PwnedError, PwnedSecret<br /><br />_LOGGER: logging.Logger = logging.getLogger(__name__)<br />_API_CALL: str = "https://api.pwnedpasswords.com/range/{hash}"<br /><br />_CACHE: set[str] = set()<br /><br /><br />async def check_pwned_password(websession: aiohttp.ClientSession, sha1_pw: str) -> None:<br />"""Check if password is pwned."""<br />sha1_pw = sha1_pw.upper()<br /><br /># Chech hit cache<br />sha1_short = sha1_pw[:5]<br />if sha1_short in _CACHE:<br />raise PwnedSecret()<br /><br />_LOGGER.debug("Check pwned state of %s", sha1_short)<br />try:<br />async with websession.get(<br />_API_CALL.format(hash=sha1_short), timeout=aiohttp.ClientTimeout(total=10)<br />) as request:<br />if request.status != 200:<br />raise PwnedError(<br />f"Pwned service response with {request.status}", _LOGGER.warning<br />)<br />data = await request.text()<br /><br />buffer = io.StringIO(data)<br />for line in buffer:<br />if not sha1_pw.endswith(line.split(":")[0]):<br />continue<br />_CACHE.add(sha1_short)<br />raise PwnedSecret()<br /><br />except (aiohttp.ClientError, TimeoutError) as err:<br />raise PwnedConnectivityError(<br />f"Can't fetch HIBP data: {str(err) or 'Timeout'}", _LOGGER.warning<br />) from err</code>

Как я чинил умный дом, который окирпичился из-за онлайн-сервиса
Файл /usr/src/supervisor/supervisor/utils/pwned.py

Вот моя изменненная версия pwned.py с полным отключением проблемного в России сервиса Have I Been Pwned (HIBP):

<code class="python">"""Small wrapper for haveibeenpwned.com API."""<br /><br />import io<br />import logging<br /><br />import aiohttp<br /><br />from ..exceptions import PwnedConnectivityError, PwnedError, PwnedSecret<br /><br />_LOGGER: logging.Logger = logging.getLogger(__name__)<br />_API_CALL: str = "https://api.pwnedpasswords.com/range/{hash}"<br /><br />_CACHE: set[str] = set()<br /><br /><br />async def check_pwned_password(websession: aiohttp.ClientSession, sha1_pw: str) -> None:<br />"""Check if password is pwned."""<br />return None<br /><br />"""<br />sha1_pw = sha1_pw.upper()<br /><br /># Chech hit cache<br />sha1_short = sha1_pw[:5]<br />if sha1_short in _CACHE:<br />raise PwnedSecret()<br /><br />_LOGGER.debug("Check pwned state of %s", sha1_short)<br />try:<br />async with websession.get(<br />_API_CALL.format(hash=sha1_short), timeout=aiohttp.ClientTimeout(total=10)<br />) as request:<br />if request.status != 200:<br />raise PwnedError(<br />f"Pwned service response with {request.status}", _LOGGER.warning<br />)<br />data = await request.text()<br /><br />buffer = io.StringIO(data)<br />for line in buffer:<br />if not sha1_pw.endswith(line.split(":")[0]):<br />continue<br />_CACHE.add(sha1_short)<br />raise PwnedSecret()<br /><br />except (aiohttp.ClientError, TimeoutError) as err:<br />raise PwnedConnectivityError(<br />f"Can't fetch HIBP data: {str(err) or 'Timeout'}", _LOGGER.warning<br />) from err<br />"""</code>

После того как внёс изменения и вставил SD карту обратно в Raspberry Pi все пароли стало успешно сохранять и работоспособность полностью восстановилась.


Как я чинил умный дом, который окирпичился из-за онлайн-сервиса
Работоспособность сохранения паролей восстановилась
Масштаб проблемы

Судя потому что я нашёл через поиск эта проблема существует уже несколько месяцев. Вот например похожий пример, когда человек пытался с ней справиться осенью 2025 года.

Мне кажется подобные решения очень сильно бьют по новичкам, которым реально сложно разобраться в подобных системах и ещё больше вопросов вызывает то что Home Assistant всегда был полностью локальной автономной системой, которую можно было настроить даже на даче и тут вылазит такая фишка.

Вообще мне кажется что стремление к безопасности — это хорошо, но вот делать зависимость от внешнего API для базовых локальных функций — это архитектурная ошибка.


Автор:
Михаил Шардин
🔗 Моя онлайн‑визитка
📢 Telegram «Умный Дом Инвестора»

6 января 2026

6.4К | ★9
41 комментарий
Чтобы героически решить проблему, ее нужно вначале создать)
avatar
T-800, на самом деле обновление home assistant часто ломает предыдущие сценарии. Что-нибудь у них там поменялось и всё такого класса больше нет

Михаил Шардин, 

Вывод — если работает, но нефига обновлять )))

avatar
Михаил Шардин, 

по «логике развития» следующим этапом после «умный дом» должен стать хайп «межгалактический дом»
т.к ни кто еще не выложил обоснование капзатрат и зачем это вообще нужно на местечковом уровне..

выключить розетку или кран дистанционно? великолепно...
в давно опробованную систему безопасности окрестить «супервум» и вложиться… еще раз вложиться 

или прогресс ради вливаний?
avatar
AVIM, если вас на самом деле тема заинтересовала можно подробно почитать в другой моей статье t-j.ru/guide/local-smart-home/
Михаил Шардин, разобраться со всем этим сможет только один человек, кроме вас. Не знаю кто он — возможно Тимофей.
Больше никто даже ваш готовый рецепт не переварит!
avatar
VladMih, вот это не совсем правда. Когда какая-то проблема возникает в умном доме чаще всего ищут через поиск. И как раз человек у которого такая же проблема возникла с этой ошибкой наткнётся на эту статью и поймёт в чём дело и сможет исправить
Михаил Шардин, Боги не понимают убогих?..
Простой смертный «даже ваш готовый рецепт не переварит» -
видите, вы даже такую простую мысль не понимаете!
Для 99.9% присутствующих на этом сайте ваши безоблачные технологии где-то далеко-далеко за облаками! Что они могут —
это вызвать мастера, который при такой проблеме…
пойдет искать этот пост. А не найдет, так и скажет менять систему.

Ничего плохого не хотел сказать, преклоняюсь перед вашими знаниями и умениями, просто пост этот (ОЧЕНЬ СИЛЬНЫЙ) надо было постить там, где есть люди, которые в состоянии им воспользоваться.
avatar

Михаил Шардин, Да, бывают пропадания классов некоторых, но в принципе чинится довольно быстро! 

Даже если рассматривать эти некоторые неудобства, все равно HA — лучший!)

Гена Бабков, да я ведь и не спорю
Гена Бабков, просто хочу привлечь внимание разработчиков к проблеме. Вот всё описал: github.com/home-assistant/supervisor/issues/6463
«В статье описываю как обошёл эту проблему за 5 минут, когда за день разобрался в причине.»

Лучше день потерять, зато потом за пять минут долететь

«с 2017 года я использую умный дом в обычной двухкомнатной хрущевке»

Лучше жить в глупом современном доме, чем в умной хрущевке
avatar
myaucha, если бы прочитали статью, то стало бы понятно что я там не живу
Михаил Шардин, Тогда еще более непонятно зачем нужен умный дом в квартире, где не живете — перекрыл воду, выключил свет и ушел. Читал, но устал… и не дочитал. Это непрофильная тема
avatar
у меня стоит ectocontrol российского производителя. управляет отоплением, греющими кабелями и горячей водой. облачный, но сервера в России, поэтому за 7 лет проблем ни разу не было. Недавно ковырялся в настройках, заметил, добавилось безоблачное управление, как будет время, попробую. Тоже не люблю лишнюю зависимость.
avatar
Опять трольчатина не в офтопе, звезду ещё повесил
Хиппарь одиночка, завидуете?
Михаил Шардин, радуюсь, за вас, друзей мартына, что квартир нахапали
Хиппарь одиночка, кажется не по адресу
Михаил Шардин, мало со звездой не психов. Просто мнение.
Занимательный же гемор — если не обновлять, то работает ))
А если эта поделка глюкнет именно в тот момент, когда пошла протечка? Или дым?
Михоум обновляется и просто работает — уже лет 7, примерно 40 девайсов, на разных квартирах, через разных провайдеров. Новые прошивки на днях на камеры пришли, обновил не вставая с дивана во всех локациях. Ми хоум, кстати — сток, без шаманства. Камеры открываются моментально, уведомления от датчиков тоже приходят сразу. Бывает что сначала приходит уведомление открытия двери, а потом уже слышу что кто-то заходит — уведомление приходит буквально сразу как начинает открываться дверь.
avatar

ignat, на Home Assistant у меня жалоб нет. Только эта была. 

Михоум через облако кстати полностью

Михаил Шардин, у михоум есть шлюз для локальных сценариев, работает при отключенном интернете. Но даже то, что работает только через китайское облако (камеры и тд) — работает отлично, несмотря на все чудеса последних лет. Например, камеры открываются за 1-3 секунды.
На паре ситуаций система окупилась многократно.
avatar
ignat, ну Ка ну-ка, а про ситуации, грабители, мошенников повязали?

Хиппарь одиночка, пару раз был бы потоп. Один раз у родителей, начался в час ночи, телефоны не слышат, пришлось будить через камеру.

Второй раз у меня — пришлось быстро ехать домой и вместо сантехника перекрывать краны в подвале — потоп был на пару этаже выше.

avatar
ignat, а это да, по коммуналке страх присутствует, воду просто перекрываю при отсутствии, А китайское барахло смотрел ,, пользы не нашел, так может забавы ради… Я бы наше поставил, еслиб приспичело, хотя нашего наверно с камерами до сих пор нет, а так какой ещё умный дом, вон умные лампочки по 300р и норм

Хиппарь одиночка, наше — обычно это дешевый перемаркированный китай из  хлама ) Часто — с универсальными паролями на доступ к облаку. Западные сервисы — тоже сразу мимо. Регулярно энтузиастить с селфхостед — не радостно.

Пока по качеству, надежности, простоте использования и разнообразию устройств у сяоми нет конкурентов.

avatar
ignat, так и не понял зачем это нужно умный дом, на даче попробовал на базе ОПС астра, трудозатратно. Дома хотел на базе болид, потому что его олигархи ставят на объекты, тоже так и не докумекал зачем. Они хоть проводные, кинул и забыл, а у радио батарейка сядет и ищи где этот датчик, да опять крути винтики, батарейки ище покупать,.
Хиппарь одиночка, Да он скорее не умный, а удобный — полную автоматизацию делать лень. Но датчики протечки, открывания дверей, дыма, температуры и влажности, углекислого газа — имхо — обязательны. Камеры очень удобны — посмотреть почему тишина в детской, пенсов посмотреть, если на телефон не отвечают. Или позвать через камеру. Кнопки очень удобны — один тыц, двойной тыц и долгий тыц — можно настроить разный свет светильника или разную мощность увлажнителя. Пылесос тоже в приложении напишет — почему он с ума сходит. Начинал с одной камеры и пары датчиков, а сейчас много девайсов и все вроде нужны.
avatar
ignat, надо же, чудеса, нет руки тянуть к выключателям мне теперь в лом, но вот дальше не продвинулся. Прям руководство к чему стремится, наш маяк.
Хорошо что у меня нет умного дома. Геморой какой-то.
Буду жить дальше в глупом доме, с выключателями.
avatar
Божественный, божественно
Божественный, я тоже в тупом доме живу
avatar
очень сильно бьют по новичкам
Ну его этот умный дом, к нему в комплекте нужен специалист для регулярного ТО.
avatar
Alchemist01, умные дома — это моё увлечение я сам себе этот специалист
Как ты скользко обозвал блокировки ркн, прям гордость берет за лицемеров в стране
Нда, не повезло твоим бабам. Они когда лежат голые понимают, что у тебя в голове не они, а микросхемы))
avatar
Умный Дом- не сочетается со многими вещами в нашей жизни. Например хороший горячий потоп с квартир сверху может ваще непонятно как сказаться и всю эту ерундистику. Ну или вот к примеру пришёл к вам под полом через кладовку от соседей крысёныш и что- то грызёт: ему чтож, Умный Дом будет свет везде включать?!
( А вообще, в случае с крысёнышом, много лет назад, нас выручила- обыкновенная Кошка, хотя до этого, я считал, ваще бесполезная скотинка).
avatar
Не ошибка а стратегическое планирование, а то вдруг надо будет дома запереть, или без жратвы оставить, продажи умных домов растут, а когнитивка падает, раньше чтоб чаю попить надо кучу мероприятий провести, а теперь пару кнопок нажать, а скоро как в анекдоте… «Телефона телефона, чукча кушать хочет...»
avatar
Стоп… Я сюда попал? Это смартлаб?)))))
Коллега..))
HA штука полезная и красивая… если есть время, пардон, мастурбировать на yaml_ы ну и т. д.
Настроили… и забудьте.
Нихай себе работает...
Или ждите когда опять очередной сервис заблокируют, чтоб его мужественно хакнуть.
Романтика...))
Аркадий Никитин, к сожалению не долго ждать

Читайте на SMART-LAB:
Фото
Как с умом воспользоваться нашей скидкой?
Сейчас мы сохраняем возможность обучаться по сниженной цене, понимаем текущую экономическую ситуацию. В ближайшее время стоимость обучения...
Фото
Эффект последней сделки: почему трейдеры переоценивают недавние успехи и поражения
В трейдинге одна из самых коварных ловушек — эффект последней сделки (Recency Effect). Наш мозг склонен придавать непропорциональное...
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 8 января 2026 г.
Следите за нашими новостями в удобном формате:  Telegram ,  Youtube ,  Смартлаб ,  Вконтакте ,  Сайт
Фото
Стратегия 2026. Часть I: извлекаем правильные уроки из ошибок 2025
Those who cannot remember the past are condemned to repeat it  -  © George Santayana, 1905 В начале 2026 года у нас на руках стратегии 13...

теги блога Михаил Шардин

....все тэги



UPDONW
Новый дизайн