bulc_set_fds_sprinkler
Configure furniture as an FDS sprinkler for fire suppression simulation by setting thermal response parameters and water spray characteristics.
Instructions
Configure a furniture item as an FDS sprinkler. Uses RTI and activation temperature for thermal response, with water spray parameters for suppression simulation.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| furnitureId | Yes | Furniture ID to configure as sprinkler | |
| rti | No | Response Time Index in (m·s)^0.5. Default: 50 | |
| activationTemperature | No | Activation temperature in Celsius. Default: 68 | |
| flowRate | No | Water flow rate in L/min. Default: 75 | |
| dropletDiameter | No | Median droplet diameter in micrometers. Default: 500 | |
| sprayAngle | No | Spray angle range [min, max] in degrees. Default: [60, 75] | |
| particlesPerSecond | No | Number of particles per second. Default: 5000 | |
| deviceId | No | Custom device ID. Default: auto-generated |
Implementation Reference
- src/tools/fds-data.ts:384-391 (handler)Specific handler logic for 'bulc_set_fds_sprinkler': parses arguments using SetSprinklerSchema and sends 'set_fds_sprinkler' action to BULC client.case "bulc_set_fds_sprinkler": { const validated = SetSprinklerSchema.parse(args); result = await client.sendCommand({ action: "set_fds_sprinkler", params: validated, }); break; }
- src/tools/fds-data.ts:128-177 (schema)MCP tool definition including name, description, and inputSchema for 'bulc_set_fds_sprinkler'.{ name: "bulc_set_fds_sprinkler", description: "Configure a furniture item as an FDS sprinkler. " + "Uses RTI and activation temperature for thermal response, " + "with water spray parameters for suppression simulation.", inputSchema: { type: "object" as const, properties: { furnitureId: { type: "string", description: "Furniture ID to configure as sprinkler", }, rti: { type: "number", description: "Response Time Index in (m·s)^0.5. Default: 50", }, activationTemperature: { type: "number", description: "Activation temperature in Celsius. Default: 68", }, flowRate: { type: "number", description: "Water flow rate in L/min. Default: 75", }, dropletDiameter: { type: "number", description: "Median droplet diameter in micrometers. Default: 500", }, sprayAngle: { type: "array", description: "Spray angle range [min, max] in degrees. Default: [60, 75]", items: { type: "number" }, }, particlesPerSecond: { type: "integer", description: "Number of particles per second. Default: 5000", }, deviceId: { type: "string", description: "Custom device ID. Default: auto-generated", }, }, required: ["furnitureId"], }, annotations: { readOnlyHint: false, destructiveHint: true, }, },
- src/tools/fds-data.ts:308-317 (schema)Zod schema for validating input parameters of 'bulc_set_fds_sprinkler' tool.const SetSprinklerSchema = z.object({ furnitureId: z.string(), rti: z.number().positive().optional(), activationTemperature: z.number().optional(), flowRate: z.number().positive().optional(), dropletDiameter: z.number().positive().optional(), sprayAngle: z.array(z.number()).length(2).optional(), particlesPerSecond: z.number().int().positive().optional(), deviceId: z.string().optional(), });
- src/index.ts:84-94 (registration)Routing logic in main server handler that directs calls to 'bulc_set_fds_sprinkler' to the fds-data handler.if ( name === "bulc_get_fds_data" || name === "bulc_set_fds_fire_source" || name === "bulc_set_fds_detector" || name === "bulc_set_fds_sprinkler" || name === "bulc_set_fds_hvac" || name === "bulc_set_fds_thermocouple" || name === "bulc_clear_fds_data" ) { return await handleFdsDataTool(name, safeArgs); }
- src/index.ts:40-45 (registration)Inclusion of fdsDataTools (containing 'bulc_set_fds_sprinkler') into the full list of tools served by the MCP server.const allTools = [ ...contextTools, // 8 tools: spatial context, home info, levels, undo/redo, save ...roomTools, // 5 tools: create, create_polygon, list, modify, delete ...wallTools, // 5 tools: create, create_rectangle, list, modify, delete ...furnitureTools, // 5 tools: catalog, place, list, modify, delete ...fdsDataTools, // 7 tools: get, fire_source, detector, sprinkler, hvac, thermocouple, clear