{ "config": { "step": { "provider": { "title": "Select AI Provider", "description": "Choose which AI service provider to use for this instance", "data": { "api_provider": "API Provider" } }, "user": { "title": "Configure HA Text AI Instance", "description": "Set up a new AI assistant instance with your selected provider", "data": { "name": "Instance name (e.g., 'GPT Assistant', 'Claude Helper')", "api_key": "API key for authentication", "model": "AI model to use", "temperature": "Response creativity (0-2, lower = more focused)", "max_tokens": "Maximum response length (1-4096 tokens)", "api_endpoint": "Custom API endpoint URL (optional)", "request_interval": "Minimum time between requests (0.1-60 seconds)" } } }, "error": { "name_exists": "An instance with this name already exists", "invalid_name": "Invalid instance name", "invalid_auth": "Authentication failed - check your API key", "invalid_api_key": "Invalid API key - please verify your credentials", "cannot_connect": "Failed to connect to API service", "invalid_model": "Selected model is not available", "rate_limit": "Rate limit exceeded", "api_error": "API service error occurred", "timeout": "Request timed out", "invalid_instance": "Invalid instance specified", "unknown": "Unexpected error occurred" } }, "options": { "step": { "init": { "title": "Update Instance Settings", "description": "Modify settings for this AI assistant instance", "data": { "model": "AI model", "temperature": "Response creativity (0-2)", "max_tokens": "Maximum response length (1-4096)", "request_interval": "Minimum request interval (0.1-60 seconds)" } } } }, "services": { "ask_question": { "name": "Ask Question", "description": "Send a question to the specified AI instance", "fields": { "instance": { "name": "Instance", "description": "The HA Text AI instance to use" }, "question": { "name": "Question", "description": "Your question or prompt" }, "system_prompt": { "name": "System Prompt", "description": "Optional context for this question" }, "model": { "name": "Model", "description": "Override default model for this request" }, "temperature": { "name": "Temperature", "description": "Override default creativity setting" }, "max_tokens": { "name": "Max Tokens", "description": "Override default response length limit" } } }, "clear_history": { "name": "Clear History", "description": "Delete conversation history for specified instance", "fields": { "instance": { "name": "Instance", "description": "The HA Text AI instance to clear history for" } } }, "get_history": { "name": "Get History", "description": "Retrieve conversation history for specified instance", "fields": { "instance": { "name": "Instance", "description": "The HA Text AI instance to get history from" }, "limit": { "name": "Limit", "description": "Maximum number of entries (1-100)" }, "filter_model": { "name": "Filter Model", "description": "Filter by specific AI model" }, "start_date": { "name": "Start Date", "description": "Filter from specific date/time" }, "include_metadata": { "name": "Include Metadata", "description": "Include additional response information" }, "sort_order": { "name": "Sort Order", "description": "Sort order (newest/oldest first)" } } }, "set_system_prompt": { "name": "Set System Prompt", "description": "Set default behavior for specified instance", "fields": { "instance": { "name": "Instance", "description": "The HA Text AI instance to configure" }, "prompt": { "name": "System Prompt", "description": "Default behavior instructions" } } } }, "entity": { "sensor": { "ha_text_ai": { "name": "{name}", "state": { "ready": "Ready", "processing": "Processing", "error": "Error", "disconnected": "Disconnected", "rate_limited": "Rate Limited", "retrying": "Retrying", "queued": "Queued" }, "state_attributes": { "question": { "name": "Last Question" }, "response": { "name": "Last Response" }, "model": { "name": "Current Model" }, "temperature": { "name": "Temperature" }, "max_tokens": { "name": "Max Tokens" }, "system_prompt": { "name": "System Prompt" }, "response_time": { "name": "Last Response Time" }, "total_responses": { "name": "Total Responses" }, "error_count": { "name": "Error Count" }, "last_error": { "name": "Last Error" }, "api_status": { "name": "API Status" }, "tokens_used": { "name": "Total Tokens Used" } } } } } }