- entity.py: decorate the dispatcher target _handle_update with @callback so it runs on the event loop. Without it, async_dispatcher_send offloaded the plain sync callback to an executor thread, and async_write_ha_state raised "calls async_write_ha_state from a thread other than the event loop". - config_flow.py: replace the free-text Assist agent field with ConversationAgentSelector (a proper agent dropdown), and use LanguageSelector for the language field. - README: clarify that the built-in Assist agent only handles device commands; an LLM conversation agent is required for free-form chat. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.5 KiB
1.5 KiB