delete_device
Delete or hide a Domoticz device by specifying its IDX or name.
Instructions
Delete (or hide) a device by IDX or Name.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| idx | No | ||
| name | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- src/domoticz_mcp/server.py:972-983 (handler)The `delete_device` tool handler function. It accepts idx or name, resolves the device ID, sends a 'setused&used=false' request to Domoticz to delete/hide the device, invalidates the device cache, and returns the response.
@mcp.tool() async def delete_device(idx: int | None = None, name: str | None = None) -> str: """Delete (or hide) a device by IDX or Name.""" if idx is None and name is None: return '{"status": "error", "message": "Must provide either idx or name"}' async with create_client() as client: resolved_idx = await _resolve_device_idx(client, idx, name) if resolved_idx is None: return '{"status": "error", "message": "Device not found"}' response = await _do_request(client, "GET", f"{DOMOTICZ_API_URL}?type=command¶m=setused&used=false&idx={resolved_idx}") _device_cache["timestamp"] = 0 # Invalidate cache return response.text - src/domoticz_mcp/server.py:972-973 (registration)The `@mcp.tool()` decorator on line 972 registers `delete_device` as an MCP tool on the FastMCP server instance.
@mcp.tool() async def delete_device(idx: int | None = None, name: str | None = None) -> str: