Add method to update TapToRun scene in Tuya and integrate it in SceneService

This commit is contained in:
faris Aljohari
2024-11-30 20:25:59 -06:00
parent b8114dba35
commit e0ec9f20ff
2 changed files with 75 additions and 7 deletions

View File

@ -120,6 +120,36 @@ export class TuyaService {
);
}
}
async updateTapToRunScene(
sceneTuyaUuid: string,
spaceId: string,
sceneName: string,
actions: ConvertedAction[],
decisionExpr: string,
) {
const path = `/v2.0/cloud/scene/rule/${sceneTuyaUuid}`;
const response = await this.tuya.request({
method: 'PUT',
path,
body: {
space_id: spaceId,
name: sceneName,
type: 'scene',
decision_expr: decisionExpr,
conditions: [],
actions: actions,
},
});
if (response.success) {
return response;
} else {
throw new HttpException(
`Error fetching scene rule: ${response.msg}`,
HttpStatus.BAD_REQUEST,
);
}
}
async triggerScene(sceneId: string): Promise<TuyaResponseInterface> {
const path = `/v2.0/cloud/scene/rule/${sceneId}/actions/trigger`;