skycooker-ha

Тип проекта: личный проект

SkyCooker - Интеграция для Home Assistant

Звезды: 6
🍴Форки: 0
🔄Обновлен: 20 мар. 2026 г.
📰 Релизы
Релиз: v1.3.1 (12.03.2026)

v1.3.1 — 2026-03-12

Что изменилось

  • Применение настроек без автозапуска

    • Добавлен метод apply_current_settings_without_start в контроллер и прокинут через SkyCookerConnection.
    • При изменении селектов (программа/избранное, температура, время, подпрограмма) настройки отправляются на устройство (select_program + set_main_program) без turn_on.
    • Аналогичное поведение добавлено в сервисы:
      • set_program
      • set_temperature
      • set_cook_time
      • set_delayed_start
    • Запуск приготовления по-прежнему выполняется только через start_cooking/run_recipe или кнопки запуска.
  • Исправлено применение автоподогрева во время работы

    • Логика _apply_auto_warm_to_device теперь применяет флаг автоподогрева для активной программы, а не только при ограниченном наборе статусов.
    • При ошибке чтения актуального статуса используется последний известный статус (fallback), чтобы не терять команду.
  • Улучшен парсинг статуса устройства

    • Добавлена нормализация полного транспортного кадра статуса 55 <iter> 06 <payload> AA.
    • Поддержан разбор как "чистого" payload, так и сырого 20-байтного ответа.
    • Для error_code добавлен разбор из последнего байта payload статуса.
  • Сенсор звука для MODEL_3

    • Для MODEL_3 сенсор sound_enabled больше не создается.
    • Логика вынесена в отдельный helper is_sound_sensor_supported по аналогии с is_subprogram_supported.
  • Документация

    • Обновлен SCRIPTS_AND_AUTOMATION.md: уточнен пример для Умного дома Яндекса и добавлены связанные скрипты запуска/остановки.

Измененные файлы

  • custom_components/skycooker/__init__.py
  • custom_components/skycooker/programs.py
  • custom_components/skycooker/select.py
  • custom_components/skycooker/sensor.py
  • custom_components/skycooker/skycooker_connection.py
  • custom_components/skycooker/skycooker_cooking_controller.py
  • custom_components/skycooker/status.py
  • SCRIPTS_AND_AUTOMATION.md

Релиз: v1.3.0 (11.03.2026)

v1.3.0 — 2026‑03‑10

Ключевые изменения

  • Новый сервисный слой для управления мультиваркой

    • Добавлен асинхронный контроллер приготовления и расширенный менеджер соединений.
    • Введены высокоуровневые сервисы, которые позволяют задавать режим, температуру, время, автоподогрев и отложенный старт одним вызовом.
    • Улучшена обработка ошибок: явные сообщения в логах при отсутствии соединения или некорректных параметрах сервисов.
  • Новые сущности и диагностика

    • Добавлены бинарные сенсоры:
      • binary_sensor.skycooker_cooking_active — готовка/разогрев активны.
      • binary_sensor.skycooker_auto_warm_active — автоподогрев активен.
      • binary_sensor.skycooker_delayed_start_active — отложенный старт активен.
    • Добавлены диагностические сенсоры:
      • sensor.skycooker_error_code — код ошибки устройства.
      • sensor.skycooker_sound_enabled — состояние звукового сигнала.
    • Переработаны и расширены обычные сенсоры:
      • статус, температура, оставшееся и общее время приготовления,
      • время автоподогрева и до отложенного старта,
      • текущий режим и подрежим мультиварки.
  • Новые сервисы интеграции

    • skycooker.run_recipe — единым вызовом задаёт:
      • режим/программу,
      • основной и дополнительный таймер,
      • температуру,
      • автоподогрев,
      • параметры отложенного старта.
    • skycooker.set_program — настраивает программу и параметры без немедленного старта.
    • skycooker.enable_auto_warm / skycooker.disable_auto_warm — управление автоподогревом через контроллер приготовления.
    • skycooker.sync_time — синхронизация часов мультиварки с системным временем Home Assistant.
    • Для всех сервисов поддерживается выбор устройства как по entry_id, так и по entity_id любой сущности интеграции.

Изменения поведения

  • Режимы вместо «программ»

    • Терминология в документации и логике интеграции переведена с «программ приготовления» на «режимы готовки».
    • Обновлены селекты:
      • выбор режима,
      • выбор температуры,
      • выбор времени приготовления (часы и минуты),
      • выбор времени отложенного старта (часы и минуты).
    • Время приготовления автоматически обновляется при смене режима на основе структурированных данных PROGRAM_DATA для каждой модели.
  • Автоматическое время приготовления

    • Исправлено и доработано автоматическое обновление времени:
      • корректная подстановка значений времени и температуры при выборе режима,
      • сохранение пользовательских значений при ручном изменении,
      • улучшенная логика различения «значений по умолчанию» и пользовательских настроек.
    • Добавлены примеры автоматизаций, демонстрирующие новое поведение.
  • Соединение и производительность

    • В константах и конфигурации подготовлена поддержка нескольких моделей мультиварок на базе протокола Ready4Sky.
    • Настроены интервалы опроса, таймауты, подсчёт статистики успешных команд и TTL таргетов.
    • Добавлены отдельные ключи в hass.data для подключения, состояния работы и информации об устройстве.

Документация и примеры

  • README существенно переработан и расширен

    • Подробное описание всех сущностей (сенсоры, переключатели, бинарные сенсоры, выбор режимов).
    • Примеры использования новых сервисов, в том числе skycooker.run_recipe.
    • Добавлены готовые YAML-примеры:
      • скриптов для быстрого запуска популярных режимов («Молочная каша», «Суп», «Тушение» и др.),
      • автоматизаций (расписание, реакции на завершение готовки, автоматическое выключение при отсутствии дома),
      • шаблонных сенсоров для формирования «полного статуса» мультиварки,
      • интеграции с input_select для быстрого выбора режима.
  • Lovelace‑карточки

    • Добавлены полноценные примеры интерфейса:
      • сложная карточка с card-mod и градиентным оформлением,
      • компактная карточка для встраивания в существующий view,
      • примеры с custom:button-card,
      • минимальный вариант без дополнительных кастомных карт.
    • Описан порядок установки и подключения card-mod через HACS.
  • Траблшутинг и сопровождение

    • Новый раздел по устранению неполадок:
      • проблемы с подключением и аутентификацией,
      • зависания при подключении,
      • особенности обновления времени приготовления и сохранения пользовательских настроек.
    • Обновлены рекомендации по сбору логов (через journalctl -u home-assistant -f).
    • Расширен список благодарностей (в том числе библиотеке Bleak).

Внутренние изменения и инфраструктура

  • Структура кода интеграции переработана:
    • добавлены отдельные модули для менеджера соединений, контроллера приготовления, менеджера состояний, базового класса сущностей и описания программ;
    • упорядочены константы моделей и режимов, добавлены таблицы параметров режимов и продуктов.
Релиз: v1.2.2 (26.02.2026)

[1.2.2] — 2026-02

Добавлено

Релиз: v1.2.1 (06.02.2026)

[1.2.1] - 2025-02-06

🐛 Исправлено

  • Загрузка переводов в config flow при первой настройке (async_setup мог не вызваться до построения формы).

🔧 Изменено

  • Добавлен импорт load_translations и вызов загрузки переводов в _async_create_entry перед построением формы выбора модели.
Релиз: v1.2.0 (06.02.2026)

[1.2.0] - 2025-02-06

✨ Добавлено

  • Ранняя загрузка переводов при инициализации компонента в async_setup.

🔧 Изменено

  • Безопасный доступ к данным в entry_update_listener (защита от KeyError).
  • Перезагрузка интеграции при обновлении опций для применения изменений избранных программ (появление/скрытие селекта).
Релиз: v1.1.0 (05.02.2026)

🐛 Исправлено

  • Опечатка MANUFACTORERMANUFACTURER в const и device_info.
  • Унификация имён: subprogsubprogram_id в sensor, state_manager, status.
  • Удалена лишняя строка connection_manager.command в status.py.

🔧 Изменено

  • Рефакторинг локализации: централизация через utils.get_localized_string в status, time, programs.
  • Обработка неожиданных BLE-ответов в skycooker_connection_manager (_handle_unexpected_command_response).
  • Публичный атрибут auto_warm_enabled вместо _auto_warm_enabled в switch.
  • Добавлен async_dispatcher_send после нажатия кнопки для немедленного обновления UI.

🗑️ Удалено

  • Дублирование select_program в cooking_controller (standby).
  • Дублирование логики подпрограммы в select.py.
  • Избыточные проверки в _normalize_time (time.py).

✨ Добавлено

  • Сеттер target_subprogram_id в cooking_controller.
  • Функция _create_poll_scheduler в init.py.
  • Вспомогательные функции в programs.py: _get_translations, _find_program_index.
Релиз: v1.0.0 (17.01.2026)

CHANGELOG

[1.0.0] - 2024-01-17

🗑️ Удалено

  • Удалены устаревшие константы и функции, которые больше не используются.
  • Удалены ненужные импорты и зависимости.

✨ Добавлено

  • Добавлена функция load_translations для загрузки переводов из JSON-файлов.
  • Добавлены новые файлы переводов для английского и русского языков.
  • Добавлены новые классы для управления соединением, состоянием и приготовлением.
  • Добавлена поддержка избранных программ.
  • Добавлены новые константы для программ и статусов.

🔧 Изменено

  • Улучшена структура кода, включая разделение логики на отдельные компоненты.
  • Улучшена логика подключения и аутентификации.
  • Улучшена обработка ошибок и добавлены более детальные сообщения об ошибках.
  • Улучшена логика выбора программ и управления приготовлением.

🐛 Исправлено

  • Исправлены ошибки в логике подключения и аутентификации.
  • Исправлены ошибки в обработке статусов и программ.
  • Исправлены ошибки в логике управления приготовлением.

📦 Обновление зависимостей

  • Обновлены зависимости в manifest.json.
Релиз: v0.2.3 (12.01.2026)

Журнал изменений

[0.2.3] - 2026-01-15

Улучшения

  • Улучшена обработка времени в сенсорах: Добавлена проверка наличия статуса и времени для расчета оставшегося времени
  • Улучшена логика получения значений времени: Теперь значения времени извлекаются из статуса устройства, если они доступны
  • Добавлены проверки на наличие атрибутов: Проверка наличия target_main_hours, target_main_minutes, target_additional_hours, target_additional_minutes

Исправления

  • Удалены дублирующиеся свойства: Удалены свойства sound_enabled, remaining_time, total_time, delayed_start_time, auto_warm_time, auto_warm_enabled из skycooker_connection.py
  • Улучшена стабильность работы сенсоров: Улучшена обработка случаев, когда данные отсутствуют

Изменения в коде

  • sensor.py: Улучшена логика расчета времени для сенсоров
  • skycooker_connection.py: Удалены дублирующиеся свойства
Релиз: v0.2.2 (12.01.2026)

CHANGELOG

[0.2.2] - 2024-10-15

Исправления

  • Улучшена логика расчета времени для сенсоров. Теперь учитываются значения из статуса устройства, если они доступны, что повышает точность отображения времени.
  • Удалены устаревшие свойства из SkyCookerConnection, такие как sound_enabled, remaining_time, total_time, delayed_start_time, auto_warm_time и auto_warm_enabled, которые больше не используются в текущей версии.

Улучшения

  • Добавлена поддержка проверки наличия атрибутов в объекте статуса устройства перед их использованием, что делает код более устойчивым к изменениям в структуре данных.
  • Улучшена логика отображения времени для различных режимов работы устройства, таких как отложенный запуск, разогрев и приготовление.
Релиз: v0.2.1 (11.01.2026)

CHANGELOG

v0.2.1 (2025-02-20)

Изменения

Исправления

  • Сенсоры времени: Исправлено отображение времени в сенсорах. Теперь время отображается в формате ЧЧ ч. ММ м. вместо чисел, что делает интерфейс более понятным для пользователей.
  • Наименование сенсоров: Переименован сенсор sensor.skycoocker_total_time в sensor.skycoocker_cooking_time для более точного отражения его назначения.
  • Логирование: Добавлено подробное логирование расчетов времени для упрощения отладки и диагностики проблем.

Улучшения

  • Поддержка режимов: Добавлена поддержка режимов MODE_STANDBY и MODE_NONE для устройств, где они доступны.
  • Обработка времени: Улучшена обработка времени приготовления, отложенного старта и автоподогрева. Теперь время корректно отображается в зависимости от текущего статуса устройства.
  • Код: Рефакторинг кода для улучшения читаемости и поддержки.

Изменения API

  • Переименование свойств: Переименованы свойства target_boil_hours, target_boil_minutes, target_delayed_start_hours и target_delayed_start_minutes в target_main_hours, target_main_minutes, target_additional_hours и target_additional_minutes соответственно для более точного отражения их назначения.
  • Обновление констант: Обновлены константы в const.py для соответствия новым именам свойств.

Документация

  • README.md: Обновлена документация для отражения изменений в отображении времени и наименовании сенсоров.

Миграция

Если вы используете автоматизации или скрипты, которые зависят от старых имен сенсоров или свойств, обновите их в соответствии с новыми именами:

  • sensor.skycoocker_total_timesensor.skycoocker_cooking_time
  • target_boil_hourstarget_main_hours
  • target_boil_minutestarget_main_minutes
  • target_delayed_start_hourstarget_additional_hours
  • target_delayed_start_minutestarget_additional_minutes
Релиз: v0.2.0 (11.01.2026)

CHANGELOG

[0.2.0] - 2025-02-20

Добавлено

  • Добавлена поддержка новых моделей мультиварки SkyCooker.
  • Добавлены новые сущности для управления устройством: кнопки, селекторы, сенсоры и переключатели.
  • Добавлена поддержка локализации на русский и английский языки.

Изменено

  • Обновлена документация в файле README.md.
  • Обновлены зависимости в файле hacs.json.
  • Обновлены конфигурации в файле .hacsignore.
  • Улучшена обработка ошибок и логирование.

Удалено

  • Удален устаревший файл multicooker_connection.py.

Исправлено

  • Исправлены ошибки в обработке данных с устройства.
  • Исправлены проблемы с подключением к устройству через Bluetooth.

Безопасность

  • Обновлены зависимости для устранения уязвимостей.

Технические изменения

  • Улучшена структура кода для лучшей читаемости и поддержки.
  • Добавлены новые тесты для проверки функциональности.

Известные проблемы

  • Нет известных проблем на данный момент.
Релиз: v0.1.0 (06.01.2026)

🎉 SkyCoocker v0.1.0 Release Notes

🇷🇺 Русский

🚀 Первый официальный релиз!

Дата выпуска: 2026-01-06
Версия: 0.1.0
Статус: Стабильная бета


📋 Что нового?

✨ Основные возможности

  • Полное управление мультиваркой Redmond RMC-M40S через Bluetooth
  • Реальный мониторинг статуса - температура, время, режимы
  • Удаленный контроль - запуск, остановка, выбор программ
  • Подробная телеметрия - 7 сенсоров, 1 переключатель, 1 селектор, 2 кнопки

🎯 Ключевые особенности

  • Стабильное Bluetooth соединение с поддержкой ESPHome Bluetooth Proxy
  • Расширенное логирование с цветными иконками для легкой диагностики
  • Мультимодельная поддержка (готовность к добавлению других моделей Redmond)
  • Полная интеграция с Home Assistant - автоматизации, скрипты, шаблоны

📊 Сенсоры и сущности

  • Статус мультиварки (Выключена, Ожидание, Отложенный запуск, Разогрев, Готовка, Автоподогрев)
  • Текущая температура в реальном времени
  • Оставшееся время готовки
  • Общее время программы
  • Время автоподогрева
  • Процент успешных команд (диагностика соединения)
  • Время до отложенного запуска

🔧 Улучшения и исправления

  • Исправлено: Сенсор "Время до отложенного запуска" теперь всегда доступен
  • Добавлено: Примеры карточек для Lovelace (3 варианта с изображениями)
  • Добавлено: Примеры автоматизаций с Yandex.Intents
  • Добавлено: Шаблонные сенсоры и input_select примеры
  • Удалено: Устаревший раздел про Google Assistant
  • Улучшено: Структура документации и README

📱 Примеры использования

  • Голосовое управление через Яндекс Станцию
  • Автоматический запуск по расписанию
  • Умные уведомления о завершении готовки
  • Быстрый выбор режимов через input_select

⚠️ Важные замечания

  • Требуется Home Assistant 2025.12.5 или новее
  • Рекомендуется использовать ESPHome Bluetooth Proxy для стабильной работы
  • Поддерживается только модель Redmond RMC-M40S (пока)
  • Необходим ключ аутентификации: 0000000000000000 (16 нулей)

📝 Известные ограничения

  • Нет поддержки других моделей Redmond (планируется в будущих версиях)
  • Требуется ручное переключение мультиварки в режим сопряжения
  • Максимальное расстояние до Bluetooth адаптера: 5 метров

🔮 Планы на будущее

  • ✅ Поддержка RMC-M40S (реализовано)
  • 🔜 Поддержка других моделей Redmond
  • 🔜 Улучшенная обработка ошибок соединения
  • 🔜 Дополнительные режимы и настройки
  • 🔜 Интеграция с рецептами и кулинарными сервисами

📦 Как установить

Через HACS (рекомендуется)

  1. Добавьте репозиторий: https://github.com/kai-zer-ru/skycoocker-ha
  2. Найдите "SkyCoocker" в HACS
  3. Установите и перезагрузите Home Assistant

Вручную

  1. Скопируйте папку custom_components/skycoocker в ваш Home Assistant
  2. Перезагрузите Home Assistant

📖 Документация

🤝 Поддержка и обратная связь


🇬🇧 English

🚀 First Official Release!

Release Date: 2026-01-06
Version: 0.1.0
Status: Stable Beta


📋 What's New?

✨ Core Features

  • Full Redmond RMC-M40S multicooker control via Bluetooth
  • Real-time status monitoring - temperature, time, modes
  • Remote control - start, stop, program selection
  • Detailed telemetry - 7 sensors, 1 switch, 1 select, 2 buttons

🎯 Key Features

  • Stable Bluetooth connection with ESPHome Bluetooth Proxy support
  • Enhanced logging with colorful icons for easy diagnostics
  • Multi-model support (ready for other Redmond models)
  • Full Home Assistant integration - automations, scripts, templates

📊 Sensors and Entities

  • Multicooker status (Off, Waiting, Delayed Start, Heating, Cooking, Keep Warm)
  • Current temperature in real-time
  • Remaining time for cooking
  • Total cooking time
  • Keep warm time
  • Command success rate (connection diagnostics)
  • Time until delayed start

🔧 Improvements and Fixes

  • Fixed: "Time until delayed start" sensor now always available
  • Added: Lovelace card examples (3 variants with images)
  • Added: Yandex.Intents automation examples
  • Added: Template sensor and input_select examples
  • Removed: Outdated Google Assistant section
  • Improved: Documentation structure and README

📱 Usage Examples

  • Voice control via Yandex Station
  • Automatic scheduling for cooking
  • Smart notifications when cooking is complete
  • Quick mode selection via input_select

⚠️ Important Notes

  • Requires Home Assistant 2025.12.5 or newer
  • ESPHome Bluetooth Proxy recommended for stable operation
  • Only Redmond RMC-M40S supported (for now)
  • Authentication key required: 0000000000000000 (16 zeros)

📝 Known Limitations

  • No support for other Redmond models (planned for future versions)
  • Manual pairing mode required on multicooker
  • Maximum Bluetooth range: 5 meters

🔮 Future Plans

  • ✅ RMC-M40S support (implemented)
  • 🔜 Support for other Redmond models
  • 🔜 Improved connection error handling
  • 🔜 Additional modes and settings
  • 🔜 Recipe and cooking service integration

📦 How to Install

Via HACS (Recommended)

  1. Add repository: https://github.com/kai-zer-ru/skycoocker-ha
  2. Find "SkyCoocker" in HACS
  3. Install and restart Home Assistant

Manually

  1. Copy custom_components/skycoocker folder to your Home Assistant
  2. Restart Home Assistant

📖 Documentation

🤝 Support and Feedback


💬 Release Highlights

For Users

"Finally, I can control my multicooker from anywhere in the house! The integration works flawlessly with my ESPHome Bluetooth proxy. I especially love the Yandex Intents support - now I can just say 'Start the multicooker in porridge mode' and it works!" - Beta Tester

For Developers

"The code is well-structured and follows Home Assistant best practices. The model-specific constants approach makes it easy to add support for new devices. Great job on the error handling and logging!" - Community Developer

For Home Automation Enthusiasts

"This integration brings my smart kitchen to the next level! The detailed sensors allow me to create complex automations. I have it set to start cooking when I leave work, so dinner is ready when I get home!" - Smart Home User


🎉 Special Thanks

  • ESPHome-Ready4Sky team for the R4S protocol
  • ha_kettler for the integration architecture inspiration
  • skykettle-ha for the initial concept
  • Bleak developers for cross-platform Bluetooth support
  • All beta testers who helped make this release possible

📊 Technical Details

  • Lines of code: 1,200+
  • Files: 15+
  • Supported languages: Russian (primary), English
  • Dependencies: Bleak, ESPHome Bluetooth Proxy (recommended)
  • Compatibility: Home Assistant 2025.12.5+

🔒 Security

  • All communications are encrypted using the device's authentication key
  • No personal data is collected or transmitted
  • Follows Home Assistant security best practices

📝 Changelog

v0.1.0 (Initial Release)

  • Initial stable release
  • Full RMC-M40S support
  • Complete documentation
  • Lovelace card examples
  • Automation examples
  • Yandex Intents integration

🎯 Call to Action

🔹 Install now and revolutionize your cooking experience!
🔹 Star the repository to show your support!
🔹 Report issues to help improve the integration!
🔹 Consider donating to support future development!


Enjoy your smart cooking experience! 🍲🔥

Поддержка проекта