diff --git a/agent/routes/call.ts b/agent/routes/call.ts index b808d1d..8a389f1 100644 --- a/agent/routes/call.ts +++ b/agent/routes/call.ts @@ -28,6 +28,15 @@ export const callText = async (text: string): Promise => { } let endTime = Date.now(); let result: CallHaReult = {}; + const runUnkown = async (error?: string) => { + if (mi) { + result.message = '使用小爱音箱控制'; + await lightHA.text.executeTextDirective(mi, text); + } else { + console.log('未找到对应设备:', obj?.appName); + result.message = error || `未找到对应设备: ${obj?.appName}`; + } + } if (obj.type) { try { const search = await lightHA.searchLight(obj.appName || ''); @@ -40,20 +49,15 @@ export const callText = async (text: string): Promise => { await lightHA.runService({ entity_id: first.entity_id, service: obj.type === '打开' ? 'turn_on' : 'turn_off' }); result.entity_id = first.entity_id; } else { - if (mi) { - result.message = '使用小爱音箱控制'; - await lightHA.text.executeTextDirective(mi, text); - } else { - console.log('未找到对应设备:', obj.appName); - result.message = `未找到对应设备: ${obj.appName}`; - } + runUnkown(); } console.log('解析到控制指令', obj); } catch (e) { console.error('控制失败', e); } } else { - result.message = '无法解析控制指令,必须以 "打开 xxx" 或 "关闭 xxx" 开头'; + const message = '无法解析控制指令,必须以 "打开 xxx" 或 "关闭 xxx" 开头'; + runUnkown(message); } result.runTime = Date.now() - endTime; return result; diff --git a/package.json b/package.json index 4f44a2d..5e11138 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@kevisual/ha-api", - "version": "0.0.8", + "version": "0.0.9", "description": "", "main": "src/index.ts", "scripts": {