skycooker-ha
Тип проекта: личный проект
SkyCooker - Интеграция для Home Assistant
Релиз: 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_programset_temperatureset_cook_timeset_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__.pycustom_components/skycooker/programs.pycustom_components/skycooker/select.pycustom_components/skycooker/sensor.pycustom_components/skycooker/skycooker_connection.pycustom_components/skycooker/skycooker_cooking_controller.pycustom_components/skycooker/status.pySCRIPTS_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
Добавлено
- Добавлены иконки бренда (https://developers.home-assistant.io/blog/2026/02/24/brands-proxy-api/)
Релиз: 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)
🐛 Исправлено
- Опечатка
MANUFACTORER→MANUFACTURERв const и device_info. - Унификация имён:
subprog→subprogram_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_time→sensor.skycoocker_cooking_timetarget_boil_hours→target_main_hourstarget_boil_minutes→target_main_minutestarget_delayed_start_hours→target_additional_hourstarget_delayed_start_minutes→target_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 (рекомендуется)
- Добавьте репозиторий:
https://github.com/kai-zer-ru/skycoocker-ha - Найдите "SkyCoocker" в HACS
- Установите и перезагрузите Home Assistant
Вручную
- Скопируйте папку
custom_components/skycoockerв ваш Home Assistant - Перезагрузите Home Assistant
📖 Документация
🤝 Поддержка и обратная связь
- Создайте issue: GitHub Issues
- Пожертвования: Поддержать разработку
🇬🇧 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)
- Add repository:
https://github.com/kai-zer-ru/skycoocker-ha - Find "SkyCoocker" in HACS
- Install and restart Home Assistant
Manually
- Copy
custom_components/skycoockerfolder to your Home Assistant - Restart Home Assistant
📖 Documentation
🤝 Support and Feedback
- Create issue: GitHub Issues
- Donations: Support Development
💬 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! 🍲🔥