import { EcoFlowClient } from '../client.js';
export const setDcOutputTool = {
name: 'ecoflow_set_dc_output',
description: 'Enable or disable DC output (12V car port and DC5521 ports) on an EcoFlow power station.',
inputSchema: {
type: 'object' as const,
properties: {
serial_number: {
type: 'string',
description: 'The device serial number'
},
enabled: {
type: 'boolean',
description: 'Enable (true) or disable (false) DC output'
}
},
required: ['serial_number', 'enabled']
}
};
interface DcOutputArgs {
serial_number: string;
enabled: boolean;
}
export async function executeSetDcOutput(
client: EcoFlowClient,
args: DcOutputArgs
): Promise<string> {
try {
await client.setDcOutput(args.serial_number, args.enabled);
const status = args.enabled ? 'enabled' : 'disabled';
return JSON.stringify({
success: true,
message: `DC output ${status} on device ${args.serial_number}`,
settings: {
dcEnabled: args.enabled
}
}, null, 2);
} catch (error) {
const message = error instanceof Error ? error.message : String(error);
throw new Error(`Failed to set DC output: ${message}`);
}
}