fibaro_set_device_value
Set advanced device properties like temperature setpoints, modes, or custom parameters in Fibaro Home Center 3 smart home systems. Use for specialized property adjustments beyond basic brightness or color controls.
Instructions
Set a specific property value for a device. Use this ONLY for advanced properties like temperature setpoints, modes, or custom device properties. Do NOT use for brightness (use fibaro_set_brightness) or colors (use fibaro_set_color).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Device ID | |
| property | Yes | Property name to set (e.g., "targetTemperature", "mode", "state") | |
| value | Yes | Value to set |
Implementation Reference
- src/index.ts:451-467 (handler)MCP tool handler for 'fibaro_set_device_value': extracts id, property, value from args, calls fibaroClient.setDeviceValue, and returns success message.case 'fibaro_set_device_value': { if (!this.fibaroClient) { throw new Error('Not connected to Fibaro HC3. Please check your configuration and restart the MCP server.'); } const deviceId = args?.id as number; const property = args?.property as string; const value = args?.value; await this.fibaroClient.setDeviceValue(deviceId, property, value); return { content: [ { type: 'text', text: `Successfully set device ${deviceId} property '${property}' to '${value}'`, }, ], }; }
- src/index.ts:192-213 (registration)Registration of the 'fibaro_set_device_value' tool in the MCP tools list, including input schema.{ name: 'fibaro_set_device_value', description: 'Set a specific property value for a device. Use this ONLY for advanced properties like temperature setpoints, modes, or custom device properties. Do NOT use for brightness (use fibaro_set_brightness) or colors (use fibaro_set_color).', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Device ID', }, property: { type: 'string', description: 'Property name to set (e.g., "targetTemperature", "mode", "state")', }, value: { type: ['string', 'number', 'boolean'], description: 'Value to set', }, }, required: ['id', 'property', 'value'], }, },
- src/index.ts:192-213 (schema)Input schema definition for the fibaro_set_device_value tool.{ name: 'fibaro_set_device_value', description: 'Set a specific property value for a device. Use this ONLY for advanced properties like temperature setpoints, modes, or custom device properties. Do NOT use for brightness (use fibaro_set_brightness) or colors (use fibaro_set_color).', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Device ID', }, property: { type: 'string', description: 'Property name to set (e.g., "targetTemperature", "mode", "state")', }, value: { type: ['string', 'number', 'boolean'], description: 'Value to set', }, }, required: ['id', 'property', 'value'], }, },
- src/fibaro-client.ts:134-142 (helper)FibaroClient helper method that performs the actual API POST to /api/devices/{id}/action/setProperty with args [property, value]. Called by the MCP handler.async setDeviceValue(id: number, property: string, value: any): Promise<void> { try { await this.client.post(`/api/devices/${id}/action/setProperty`, { args: [property, value] }); } catch (error) { throw new Error(`Failed to set device ${id} property ${property} to ${value}: ${error}`); } }