{ "config": { "step": { "user": { "title": "Set up HA Text AI", "description": "Configure your AI integration with OpenAI or Anthropic providers.", "data": { "api_provider": "Select API Provider", "api_key": "API key for authentication (required)", "model": "AI model to use (provider-specific)", "temperature": "Response creativity (0-2, lower = more focused and consistent)", "max_tokens": "Maximum response length (1-4096 tokens)", "api_endpoint": "Custom API endpoint URL (optional)", "request_interval": "Minimum time between requests in seconds (0.1-60)", "name": "Name for this integration instance (e.g., 'GPT Assistant', 'Claude Helper')" } } }, "error": { "invalid_name": "Invalid integration name", "invalid_auth": "Authentication failed - check your API key", "invalid_api_key": "Invalid API key - please verify your credentials", "cannot_connect": "Connection failed - check endpoint and network status", "invalid_model": "Model unavailable or not supported by the selected provider", "rate_limit": "Rate limit exceeded - please reduce request frequency", "api_error": "API service error - check provider status", "timeout": "Request timeout - server not responding", "queue_full": "Request queue full - try again later", "invalid_url_format": "Invalid API endpoint URL format", "invalid_input": "Invalid configuration parameters", "invalid_parameters": "Invalid service parameters provided", "service_unavailable": "Service temporarily unavailable", "context_length": "Maximum context length exceeded", "unknown": "Unexpected error - check logs for details" } }, "options": { "step": { "init": { "title": "HA Text AI Settings", "description": "Adjust your AI integration parameters", "data": { "model": "Select AI model (provider-specific)", "temperature": "Response creativity (0-2)", "max_tokens": "Maximum response length in tokens (1-4096)", "request_interval": "Minimum seconds between requests (0.1-60)" } } } }, "services": { "ask_question": { "name": "Ask Question", "description": "Send a question to the AI model and get a detailed response.", "fields": { "question": { "name": "Question", "description": "Your question or prompt for the AI model" }, "system_prompt": { "name": "System Prompt", "description": "Optional context or instructions for this specific question" }, "model": { "name": "Model", "description": "Optional specific AI model for this request" }, "temperature": { "name": "Temperature", "description": "Optional creativity setting (0-2)" }, "max_tokens": { "name": "Max Tokens", "description": "Optional maximum response length (1-4096 tokens)" } } }, "clear_history": { "name": "Clear History", "description": "Delete all stored questions and responses from the conversation history." }, "get_history": { "name": "Get History", "description": "Retrieve recent conversation history with optional filtering.", "fields": { "limit": { "name": "Limit", "description": "Maximum number of entries to return (1-100)" }, "start_date": { "name": "Start Date", "description": "Optional date to filter history from" }, "include_metadata": { "name": "Include Metadata", "description": "Include additional response metadata" }, "sort_order": { "name": "Sort Order", "description": "Order of results (asc/desc)" } } }, "set_system_prompt": { "name": "Set System Prompt", "description": "Set default system behavior instructions for all future conversations.", "fields": { "prompt": { "name": "System Prompt", "description": "Instructions that define how the AI should behave" } } } }, "entity": { "sensor": { "ha_text_ai": { "name": "{name}", "state": { "initializing": "Initializing", "ready": "Ready", "processing": "Processing", "error": "Error", "disconnected": "Disconnected", "rate_limited": "Rate Limited", "maintenance": "Maintenance", "retrying": "Retrying", "queued": "Queued", "updating": "Updating" }, "state_attributes": { "question": { "name": "Last Question" }, "response": { "name": "Last Response" }, "last_updated": { "name": "Last Updated" }, "model": { "name": "Model" }, "temperature": { "name": "Temperature" }, "max_tokens": { "name": "Max Tokens" }, "total_responses": { "name": "Total Responses" }, "system_prompt": { "name": "System Prompt" }, "response_time": { "name": "Response Time" }, "queue_size": { "name": "Queue Size" }, "api_status": { "name": "API Status" }, "error_count": { "name": "Error Count" }, "last_error": { "name": "Last Error" }, "tokens_used": { "name": "Tokens Used" }, "request_count": { "name": "Request Count" } } } } } }