From 2120685cdf5ef1ae68f7512d3eb1bee2e219b69c Mon Sep 17 00:00:00 2001 From: Martin Date: Tue, 10 Feb 2026 21:47:29 -0500 Subject: [PATCH] [FIX] New tentative to retrieve the fields --- custom_components/mcp_bridge/__init__.py | 25 ++++++++---------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/custom_components/mcp_bridge/__init__.py b/custom_components/mcp_bridge/__init__.py index 5d94d2e..1c402e0 100644 --- a/custom_components/mcp_bridge/__init__.py +++ b/custom_components/mcp_bridge/__init__.py @@ -81,26 +81,17 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: if not state: continue - # Get script name from entity_id (e.g., "script.my_script" -> "my_script") + # Get script name from entity_id script_name = entity_id.split(".", 1)[1] - # Get service definition from services registry to access fields - service_data = hass.services.async_services().get("script", {}).get(script_name) - + # Get service description which includes field definitions fields = {} - if service_data and hasattr(service_data, "fields"): - # Convert service fields to our format - fields = { - field_name: { - "name": field_info.get("name", field_name), - "description": field_info.get("description", ""), - "required": field_info.get("required", False), - "example": field_info.get("example"), - "default": field_info.get("default"), - "selector": field_info.get("selector"), - } - for field_name, field_info in service_data.fields.items() - } + try: + service_desc = hass.services.async_describe_service("script", script_name) + if service_desc and "fields" in service_desc: + fields = service_desc["fields"] + except Exception as e: + _LOGGER.debug(f"Could not get service description for {entity_id}: {e}") scripts.append( {