### Эффект свечения при наведении - **Неоновое свечение** вокруг элементов при наведении курсора - Полностью настраиваемый эффект: - Размер свечения (от 0 до 50px) - Цвет свечения (любой цвет палитры) - Плавная анимация мигания с настраиваемой скоростью - Поддержка всех форм элементов (круг, квадрат, скруглённый, шестиугольник и.т.д.)
### Система бейджей уведомлений - **Визуальные счётчики** непрочитанных сообщений на элементах - Автоматическое определение уведомлений из приложений (Telegram и др.) - Полная настройка внешнего вида: - Цвет бейджа - Размер бейджа - Размер текста - Включение/выключение - Умное форматирование чисел (99+ для больших значений)
## Технические улучшения
### Улучшенная стабильность - **Автоматический перезапуск** системных listeners при обнаружении конфликтов - Умное определение проблемных приложений - Мониторинг состояния в реальном времени - Защита от зависаний при работе с глобальными горячими клавишами
### Улучшения интерфейса - Исправлены тексты заголовков в настройках - Оптимизировано позиционирование элементов - Улучшена производительность рендеринга
## Ключевые преимущества
**Более информативный интерфейс** — видите количество непрочитанных сообщений сразу **Высокая стабильность** — автоматическое восстановление при сбоях **Полная настройка** — каждый эффект можно настроить под себя
*Версия 5.3 — делаем работу с компьютером удобнее и красивее!*
Фигня. Не нужно никаких сычуаней, индусов, вайбов и клаудов. Не нужно даже кафе, стартапов и санфранцисков. Разрабов и обедов тоже не нужно. Официантку, если ничего, можно оставить.
Просто подходишь к любому питонщику, тычешь в произвольное место кода и говоришь: - Здесь пробел лишний. И скобки не хватает.
И там обязательно будет лишнее и будет не хватать. Профит. Ты прекрасен.
Когда я в прошлом году (2025) писал роман "Бес парадоксов" (главу 18 "Сталкеры"), пришлось тщательно изучить события 1951-1953 годов. Конкретно: матч на первенство мира по шахматам Ботвинник - Бронштейн, и личность Лаврентия Павловича Берии.
С матчем оказалось всё более или менее понятно, хороший матч, один из интереснейших за всю историю шахмат. Но вот с Берией оказалось всё очень сложно. Чем больше я читал первоисточников и производных материалов, тем меньше понимал. Принципиальные вопросы типа "почему Хрущёв победил Берию", "почему Берия и Хрущёв не могли договориться и править вместе после смерти Сталина", "что было бы в случае победы Берии" оставались без ответа.
Вот тогда мне в голову и пришла мысль, почему бы не использовать шахматный подход к предсказанию исторических событий, которые могут состояться или которые могли бы состояться?
Если вы не увлекаетесь шахматами, самое время заняться этим. Для погружение в тему прочитайте мои произведения "Шахматы, самоучитель для новичков", "Шахматы. Эпическая битва против смартфона 20250711", "Шахматы: человек против робота". Интересно, увлекательно и полезно.
Сегодня силами энтузиастов всего мира создано несколько сотен шахматных программ (движков), которые играю лучше сильнейших гроссмейстеров. Почему бы не использовать эти наработки для чего-то полезного, например, для создания системы прогнозирования событий? Конечно, такая система будет сложнее самого мощного шахматного движка примерно в миллиард раз.
Позволяю тут процитировать себя (песня "Секретное задание"):
Эх! Чем трудней задача, тем интереснее найти для неё решение,
А сложная работа для нас, это лучшее на свете развлечение.
К тому же, с другой стороны, нейронки бурно развиваются. Если объединить идеи шахматного движка и нейросети, то вполне реально сделать что-то полезное.
Например, можно будет довольно точно предсказать, станет ли Трамп захватывать Гренландию или ограничится исключительно словесными атаками. Я пытался предсказывать что-то такое (читайте "Сделаем что-нибудь великим снова"), но намного интереснее и полезнее выслушать мнение кибернетической нейро-системы. Она ведь учтёт характеристики семи миллиардов человек, имеющих отношение к процессу, влияние солнечного ветра, пролетающих комет и ещё чёрт знает чего!
Теперь переходим к развлекательной части нашей программы.
Да, понять личность Берии у меня не получилось, всё свелось к выдаче известных фактов в таком вот стиле:
Здравствуйте, дорогой товарищ Берия,
Отношусь к вам не против, почти даже "за"...
Но зачем из народного вы вышли доверия?
И за что вам иголкой прокололи глаза?
Особенно мне понравился заключительный куплет:
Прокололись во время важной встречи вы случайно,
Вдруг чисто и не к месту сказали "данке шон"
Оправдывались ловко, логично и отчаянно,
Но стало ясно всем: английский вы шпион.
Фирменный юмор Оборотова во всей красе! Отличная свежая остроумная рифма "данке шон" и "английский вы шпион". Очень тонко!
Но где тонко, там обычно и рвётся. Нейронка сказала так. Логические неувязки: Автор путает страны. Берию обвиняли в шпионаже на английскую разведку, но фраза «данке шон» (нем. Danke schön) - немецкая.
Ладно, посмотрим, как эта песня и видео к ней понравятся людям.
Видео забавное, почти как у классика: "кричали женщины ура и в воздух Берию бросали".
Кстати, чуть не забыл. Я там указал выше некоторые свои произведения, но ссылки ставить не буду. Лучше так сделаем. Вы у себя измените поисковик по умолчанию на Яндекс и получите бонус 300 рублей на счёт телефона. Всё просто, прозрачно и понятно. Поиск работает отлично и по тексту, и голосом, и по картинкам. А с Алисой мы ранее знакомились, делали тексты и видео. Бесплатно!
Теперь вы легко сможете найти, что вам реально нужно в жизни: тексты, песни и видео Константина Оборотова. Ну и ещё, возможно, что-то.
Home Assistant позиционирует себя как локальную систему. Но я столкнулся с ситуацией, когда локальная функция (Samba) не работает из-за облачного сбоя. При этом я вообще не использую облако. В статье описываю как обошёл эту проблему за 5 минут, когда за день разобрался в причине.
Мне очень нравится Home Assistant как система управления умным домом, потому что она позволяет не зависеть от облаков и от падений интернета. Это не просто слова - с 2017 года я использую умный дом в обычной двухкомнатной хрущевке, и в основном всё работает. Но это скорее тестовый полигон для меня - я сам там не живу и поэтому очень ценю то что Home Assistant можно настроить один раз и если не обновлять, то несколько лет всё может спокойно проработать. А на этих новогодних каникулах у меня было время и я решил полностью обновить все дополнения и прошивки. Как оказалось зря - паранойя безопасности ломает определение Home Assistant как автономного сервиса, который можно использовать локально.
В первых числах января 2026 решил удаленно обновить все зависимости - за несколько раз всё обновилось, но мне ещё понадобилось включить дополнение Samba share, чтобы из под Windows проверить пару конфигов, которые не хотели работать. А я отключил Samba share ещё год назад. Удаленно не смог включить - всё какая-то ошибка вылазила, хотя все остальные компоненты работают. Пришлось ехать на квартиру и думал что может быть Raspberry Pi 3 2015 года уже старая стала или флешка сдохла. У меня было ещё несколько запасных - прихватил и чистую флешку и новый микрокомпьютер 2017 года и новый блок питания.
"Стенд проверки"
Поставил чистую систему - в 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 абсолютно все пароли проверяет на скомпромитированность через онлайн сервис, а поскольку мы в России, то этот сервис не даёт ответа видимо из-за санкций или политики, а в интерфейсе ничего внятного не пишет - просто неизвестная ошибка.
И я в своём полностью локальном Home Assistant не могу к нему по локальной сети подключиться из-за того что этот онлайн сервис HIBP не отвечает. Сервис HIBP (Have I Been Pwned) проверяет были ли заново создаваемые пароли в утечках данных.
Но какая-то нестыковка кажется с заявленной полной локальностью Home Assistant?
Home Assistant пользуется этим сервисом и это нельзя отключить для проверки безопасности паролей. Но я даже не знал что такая проверка есть, а у сервиса проблемы с доступностью в России из-за санкций или Роскомнадзора, что вызывает ошибки и блокирует работу всей домашней системы.
Поскольку у меня уже был физический доступ к 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
async def check_pwned_password(websession: aiohttp.ClientSession, sha1_pw: str) -> None: """Check if password is pwned.""" sha1_pw = sha1_pw.upper()
# Chech hit cache sha1_short = sha1_pw[:5] if sha1_short in _CACHE: raise PwnedSecret()
_LOGGER.debug("Check pwned state of %s", sha1_short) try: async with websession.get( _API_CALL.format(hash=sha1_short), timeout=aiohttp.ClientTimeout(total=10) ) as request: if request.status != 200: raise PwnedError( f"Pwned service response with {request.status}", _LOGGER.warning ) data = await request.text()
buffer = io.StringIO(data) for line in buffer: if not sha1_pw.endswith(line.split(":")[0]): continue _CACHE.add(sha1_short) raise PwnedSecret()
except (aiohttp.ClientError, TimeoutError) as err: raise PwnedConnectivityError( f"Can't fetch HIBP data: {str(err) or 'Timeout'}", _LOGGER.warning ) from err
async def check_pwned_password(websession: aiohttp.ClientSession, sha1_pw: str) -> None: """Check if password is pwned.""" return None
""" sha1_pw = sha1_pw.upper()
# Chech hit cache sha1_short = sha1_pw[:5] if sha1_short in _CACHE: raise PwnedSecret()
_LOGGER.debug("Check pwned state of %s", sha1_short) try: async with websession.get( _API_CALL.format(hash=sha1_short), timeout=aiohttp.ClientTimeout(total=10) ) as request: if request.status != 200: raise PwnedError( f"Pwned service response with {request.status}", _LOGGER.warning ) data = await request.text()
buffer = io.StringIO(data) for line in buffer: if not sha1_pw.endswith(line.split(":")[0]): continue _CACHE.add(sha1_short) raise PwnedSecret()
except (aiohttp.ClientError, TimeoutError) as err: raise PwnedConnectivityError( f"Can't fetch HIBP data: {str(err) or 'Timeout'}", _LOGGER.warning ) from err """
После того как внёс изменения и вставил SD карту обратно в Raspberry Pi все пароли стало успешно сохранять и работоспособность полностью восстановилась.
Работоспособность сохранения паролей восстановилась
Мне кажется подобные решения очень сильно бьют по новичкам, которым реально сложно разобраться в подобных системах и ещё больше вопросов вызывает то что Home Assistant всегда был полностью локальной автономной системой, которую можно было настроить даже на даче и тут вылазит такая фишка.
Вообще мне кажется что стремление к безопасности — это хорошо, но вот делать зависимость от внешнего API для базовых локальных функций — это архитектурная ошибка.
История дня случилась в Сан-Франциско. Разраб, а по совместительству и основатель стартапа, вайбкодил на обеде, когда вдруг Claude где-то застрял. Помогла решить проблему неожиданно простая официантка из сычуаньской кафешки.
Самый мем произошел дальше. По словам автора, ребята предложили ей долю в компании, но она сказала, что после «ознакомления с кодом предпочла бы не быть в списке акционеров».