From cfb53c25f669744b0ce041e35a519a4d3445cd07 Mon Sep 17 00:00:00 2001 From: Robot Date: Thu, 26 Feb 2026 17:39:37 +0000 Subject: [PATCH] feat: add model field to setup form; use it for validation ping and as default in conversation setup --- custom_components/anthropic_custom/config_flow.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/custom_components/anthropic_custom/config_flow.py b/custom_components/anthropic_custom/config_flow.py index 7732c2a..d5d2a8b 100644 --- a/custom_components/anthropic_custom/config_flow.py +++ b/custom_components/anthropic_custom/config_flow.py @@ -78,6 +78,7 @@ STEP_USER_DATA_SCHEMA = vol.Schema( { vol.Required(CONF_API_KEY): str, vol.Optional(CONF_BASE_URL): str, + vol.Optional(CONF_CHAT_MODEL, default="claude-3-haiku-20240307"): str, } ) @@ -110,7 +111,7 @@ async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> None: if exc.status_code == 404: # Proxy does not support models endpoint — validate via a tiny messages call await client.messages.create( - model="claude-3-haiku-20240307", + model=data.get(CONF_CHAT_MODEL) or "claude-3-haiku-20240307", max_tokens=1, messages=[{"role": "user", "content": "hi"}], timeout=10.0, @@ -373,10 +374,12 @@ class ConversationSubentryFlowHandler(ConfigSubentryFlow): """Manage advanced options.""" errors: dict[str, str] = {} + # Use model stored in parent entry as default (set during setup) + entry_default_model = self._get_entry().data.get(CONF_CHAT_MODEL, DEFAULT[CONF_CHAT_MODEL]) step_schema: VolDictType = { vol.Optional( CONF_CHAT_MODEL, - default=DEFAULT[CONF_CHAT_MODEL], + default=entry_default_model, ): SelectSelector( SelectSelectorConfig( options=await self._get_model_list(), custom_value=True