コード例 #1
0
        public async Task <string> DeviceRequestCommandCustomViewModule(CustomViewModuleRequest customViewModuleRequest)
        {
            //identify device
            object deviceRequested = ConvertCustomViewModuleResquestToObject(customViewModuleRequest);

            if (deviceRequested == null)
            {
                return(FormatterSpeechResponse_CustomViewModule(customViewModuleRequest, $"I'm sorry, {customViewModuleRequest.IdDevice} was not found", false));
            }

            string jsonReturn = string.Empty;

            if (deviceRequested is SonoffDualR2)
            {
                //TODO: use pattern matching
                SonoffDualR2 sonoffRequest = ((SonoffDualR2)deviceRequested);
                if (ValidIdDeviceRequested(sonoffRequest.IdDevice))
                {
                    switch (sonoffRequest.SonoffModelEnum)
                    {
                    case DeviceEnum.SonoffDualR2:
                        jsonReturn = await SonoffDualR2ExecuteCommand(sonoffRequest);

                        return(FormatterSpeechResponse_CustomViewModule(customViewModuleRequest, jsonReturn, true));

                    default:
                        break;
                    }
                }
            }
            return(FormatterSpeechResponse_CustomViewModule(customViewModuleRequest, $"I'm sorry, {customViewModuleRequest.IdDevice} was not found", false));
        }
コード例 #2
0
        public async Task <string> DeviceRequestCommandDialogFlow(GoogleCloudDialogflowV2WebhookRequest dialogflowRequest)
        {
            //identify device
            object deviceRequested = ConvertDialogflowResquestToObject_GoogleObj(dialogflowRequest);

            if (deviceRequested == null)
            {
                return(FormatterSpeechResponse_GoogleObj(dialogflowRequest, $"I'm sorry, {dialogflowRequest.QueryResult.Parameters["idDevice"].ToString()} was not found", false));
            }

            string jsonReturn = string.Empty;

            if (deviceRequested is SonoffDualR2)
            {
                //TODO: use pattern matching
                SonoffDualR2 sonoffRequest = ((SonoffDualR2)deviceRequested);
                if (ValidIdDeviceRequested(sonoffRequest.IdDevice))
                {
                    switch (sonoffRequest.SonoffModelEnum)
                    {
                    case DeviceEnum.SonoffDualR2:
                        jsonReturn = await SonoffDualR2ExecuteCommand(sonoffRequest);

                        return(FormatterSpeechResponse_GoogleObj(dialogflowRequest, jsonReturn, true));

                    default:
                        break;
                    }
                }
            }
            return(FormatterSpeechResponse_GoogleObj(dialogflowRequest, $"I'm sorry, {dialogflowRequest.QueryResult.Parameters["idDevice"].ToString()} was not found", false));
        }
コード例 #3
0
 private async Task <string> SonoffDualR2ExecuteCommand(SonoffDualR2 sonoffRequest)
 {
     return(await BaseService.GetResponse(sonoffRequest.IdDevice, SonoffDualR2Commands.GetCommandSonoffDualR2(sonoffRequest)));
 }