diff --git a/custom_components/anthropic_custom/config_flow.py b/custom_components/anthropic_custom/config_flow.py index d5d2a8b..fbf1eb6 100644 --- a/custom_components/anthropic_custom/config_flow.py +++ b/custom_components/anthropic_custom/config_flow.py @@ -200,19 +200,28 @@ class AnthropicConfigFlow(ConfigFlow, domain=DOMAIN): return self.async_update_reload_and_abort( self._get_reauth_entry(), data_updates=user_input ) + # Build initial subentry data with the model from setup + conversation_data = { + **DEFAULT_CONVERSATION_OPTIONS, + CONF_CHAT_MODEL: user_input.get(CONF_CHAT_MODEL, DEFAULT[CONF_CHAT_MODEL]), + } + ai_task_data = { + **DEFAULT_AI_TASK_OPTIONS, + CONF_CHAT_MODEL: user_input.get(CONF_CHAT_MODEL, DEFAULT[CONF_CHAT_MODEL]), + } return self.async_create_entry( title="Claude", data=user_input, subentries=[ { "subentry_type": "conversation", - "data": DEFAULT_CONVERSATION_OPTIONS, + "data": conversation_data, "title": DEFAULT_CONVERSATION_NAME, "unique_id": None, }, { "subentry_type": "ai_task_data", - "data": DEFAULT_AI_TASK_OPTIONS, + "data": ai_task_data, "title": DEFAULT_AI_TASK_NAME, "unique_id": None, }, diff --git a/custom_components/anthropic_custom/entity.py b/custom_components/anthropic_custom/entity.py index 569c88a..7ca512a 100644 --- a/custom_components/anthropic_custom/entity.py +++ b/custom_components/anthropic_custom/entity.py @@ -650,7 +650,7 @@ class AnthropicBaseLLMEntity(Entity): identifiers={(DOMAIN, subentry.subentry_id)}, name=subentry.title, manufacturer="Anthropic", - model=subentry.data.get(CONF_CHAT_MODEL, DEFAULT[CONF_CHAT_MODEL]), + model=subentry.data.get(CONF_CHAT_MODEL) or entry.data.get(CONF_CHAT_MODEL) or DEFAULT[CONF_CHAT_MODEL], entry_type=dr.DeviceEntryType.SERVICE, ) @@ -679,7 +679,7 @@ class AnthropicBaseLLMEntity(Entity): messages, container_id = _convert_content(chat_log.content[1:]) - model = options.get(CONF_CHAT_MODEL, DEFAULT[CONF_CHAT_MODEL]) + model = options.get(CONF_CHAT_MODEL) or self.entry.data.get(CONF_CHAT_MODEL) or DEFAULT[CONF_CHAT_MODEL] model_args = MessageCreateParamsStreaming( model=model,